openapi: 3.0.0
info:
  title: Neblio
  description: >-
    Neblio is an open-source, decentralized, and secure blockchain platform
    built for a wide variety of enterprise-level applications and services. Use
    cases include Supply Chain, Records Management, Gaming, Asset Tracking,
    Identity Management, and many more. 


    Contact Support:
     Name: No Contact
     Email: email@example.com
  version: 1.0.0
servers:
  - url: http://{{baseurl}}
tags:
  - name: ntp1
  - name: ntp1 > tokenmetadata/{tokenid}
  - name: ins
  - name: ins > tx
  - name: ins > addr/{address}
  - name: testnet
  - name: testnet > ins
  - name: testnet > ins > tx
  - name: testnet > ins > addr/{address}
  - name: testnet > ntp1
  - name: testnet > ntp1 > tokenmetadata/{tokenid}
paths:
  /ntp1/tokenmetadata/{tokenid}:
    get:
      tags:
        - ntp1 > tokenmetadata/{tokenid}
      summary: Get Issuance Metadata of Token
      description: |
        Returns the metadata associated with a token at time of issuance.
      parameters:
        - name: tokenid
          in: path
          schema:
            type: string
          required: true
          description: TokenId to request metadata for
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/tokenmetadata/{tokenid}/{utxo}:
    get:
      tags:
        - ntp1 > tokenmetadata/{tokenid}
      summary: Get UTXO Metadata of Token
      description: >
        Returns the metadata associated with a token for that specific utxo
        instead of the issuance transaction.
      parameters:
        - name: tokenid
          in: path
          schema:
            type: string
          required: true
          description: TokenId to request metadata for
          example: <get>
        - name: utxo
          in: path
          schema:
            type: string
          required: true
          description: Specific UTXO to request metadata for
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/tokenid/{tokensymbol}:
    get:
      tags:
        - ntp1
      summary: Returns the tokenId representing a token
      description: >
        Translates a token symbol to a tokenId if a token exists with that
        symbol on the network
      parameters:
        - name: tokensymbol
          in: path
          schema:
            type: string
          required: true
          description: Token symbol
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/broadcast:
    post:
      tags:
        - ntp1
      summary: Broadcasts a signed raw transaction to the network
      description: >
        Broadcasts a signed raw transaction to the network. If successful
        returns the txid of the broadcast trasnaction.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/addressinfo/{address}:
    get:
      tags:
        - ntp1
      summary: Information On a Neblio Address
      description: |
        Returns both NEBL and NTP1 token UTXOs held at the given address.
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/transactioninfo/{txid}:
    get:
      tags:
        - ntp1
      summary: Information On an NTP1 Transaction
      description: |
        Returns detailed information regarding an NTP1 transaction.
      parameters:
        - name: txid
          in: path
          schema:
            type: string
          required: true
          description: Neblio txid to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/stakeholders/{tokenid}:
    get:
      tags:
        - ntp1
      summary: Get Addresses Holding a Token
      description: >
        Returns the the the addresses holding a token and how many tokens are
        held
      parameters:
        - name: tokenid
          in: path
          schema:
            type: string
          required: true
          description: TokenId to request metadata for
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/issue:
    post:
      tags:
        - ntp1
      summary: Builds a transaction that issues a new NTP1 Token
      description: >
        Builds an unsigned raw transaction that issues a new NTP1 token on the
        Neblio blockchain.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/sendtoken:
    post:
      tags:
        - ntp1
      summary: Builds a transaction that sends an NTP1 Token
      description: >
        Builds an unsigned raw transaction that sends an NTP1 token on the
        Neblio blockchain.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ntp1/burntoken:
    post:
      tags:
        - ntp1
      summary: Builds a transaction that burns an NTP1 Token
      description: >
        Builds an unsigned raw transaction that burns an NTP1 token on the
        Neblio blockchain.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/tx/send:
    post:
      tags:
        - ins > tx
      summary: Broadcasts a signed raw transaction to the network (not NTP1 specific)
      description: >
        Broadcasts a signed raw transaction to the network. If successful
        returns the txid of the broadcast trasnaction.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/tx/{txid}:
    get:
      tags:
        - ins > tx
      summary: Returns transaction object
      description: Returns NEBL transaction object representing a NEBL transaction
      parameters:
        - name: txid
          in: path
          schema:
            type: string
          required: true
          description: Neblio txid to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/addr/{address}:
    get:
      tags:
        - ins > addr/{address}
      summary: Returns address object
      description: Returns NEBL address object containing information on a specific address
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/addr/{address}/balance:
    get:
      tags:
        - ins > addr/{address}
      summary: Returns address balance in sats
      description: Returns NEBL address balance in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/addr/{address}/unconfirmedBalance:
    get:
      tags:
        - ins > addr/{address}
      summary: Returns address unconfirmed balance in sats
      description: Returns NEBL address unconfirmed balance in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/addr/{address}/totalReceived:
    get:
      tags:
        - ins > addr/{address}
      summary: Returns total received by address in sats
      description: Returns total NEBL received by address in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/addr/{address}/utxo:
    get:
      tags:
        - ins > addr/{address}
      summary: Returns all UTXOs at a given address
      description: >-
        Returns information on each Unspent Transaction Output contained at an
        address
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/addr/{address}/totalSent:
    get:
      tags:
        - ins > addr/{address}
      summary: Returns total sent by address in sats
      description: Returns total NEBL sent by address in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/block/{blockhash}:
    get:
      tags:
        - ins
      summary: Returns information regarding a Neblio block
      description: Returns blockchain data for a given block based upon the block hash
      parameters:
        - name: blockhash
          in: path
          schema:
            type: string
          required: true
          description: Block Hash
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/block-index/{blockindex}:
    get:
      tags:
        - ins
      summary: Returns block hash of block
      description: Returns the block hash of a block at a given block index
      parameters:
        - name: blockindex
          in: path
          schema:
            type: string
          required: true
          description: Block Index
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/rawtx/{txid}:
    get:
      tags:
        - ins
      summary: Returns raw transaction hex
      description: Returns raw transaction hex representing a NEBL transaction
      parameters:
        - name: txid
          in: path
          schema:
            type: string
          required: true
          description: Neblio txid to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/txs:
    get:
      tags:
        - ins
      summary: Get transactions by block or address
      description: Returns all transactions by block or address
      parameters:
        - name: address
          in: query
          schema:
            type: string
          description: Address
          example: <get>
        - name: block
          in: query
          schema:
            type: string
          description: Block Hash
          example: <>
        - name: pageNum
          in: query
          schema:
            type: string
          description: Page number to display
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/sync:
    get:
      tags:
        - ins
      summary: Get node sync status
      description: Returns information on the node's sync progress
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /ins/status:
    get:
      tags:
        - ins
      summary: Utility API for calling several blockchain node functions
      description: >-
        Utility API for calling several blockchain node functions - getInfo,
        getDifficulty, getBestBlockHash, getLastBlockHash
      parameters:
        - name: q
          in: query
          schema:
            type: string
          description: >-
            Function to call, getInfo, getDifficulty, getBestBlockHash, or
            getLastBlockHash
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/tx/send:
    post:
      tags:
        - testnet > ins > tx
      summary: Broadcasts a signed raw transaction to the network (not NTP1 specific)
      description: >
        Broadcasts a signed raw transaction to the network. If successful
        returns the txid of the broadcast trasnaction.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/tx/{txid}:
    get:
      tags:
        - testnet > ins > tx
      summary: Returns transaction object
      description: Returns NEBL transaction object representing a NEBL transaction
      parameters:
        - name: txid
          in: path
          schema:
            type: string
          required: true
          description: Neblio txid to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/addr/{address}:
    get:
      tags:
        - testnet > ins > addr/{address}
      summary: Returns address object
      description: Returns NEBL address object containing information on a specific address
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/addr/{address}/balance:
    get:
      tags:
        - testnet > ins > addr/{address}
      summary: Returns address balance in sats
      description: Returns NEBL address balance in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/addr/{address}/unconfirmedBalance:
    get:
      tags:
        - testnet > ins > addr/{address}
      summary: Returns address unconfirmed balance in sats
      description: Returns NEBL address unconfirmed balance in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/addr/{address}/totalReceived:
    get:
      tags:
        - testnet > ins > addr/{address}
      summary: Returns total received by address in sats
      description: Returns total NEBL received by address in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/addr/{address}/utxo:
    get:
      tags:
        - testnet > ins > addr/{address}
      summary: Returns all UTXOs at a given address
      description: >-
        Returns information on each Unspent Transaction Output contained at an
        address
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/addr/{address}/totalSent:
    get:
      tags:
        - testnet > ins > addr/{address}
      summary: Returns total sent by address in sats
      description: Returns total NEBL sent by address in satoshis
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/block/{blockhash}:
    get:
      tags:
        - testnet > ins
      summary: Returns information regarding a Neblio block
      description: Returns blockchain data for a given block based upon the block hash
      parameters:
        - name: blockhash
          in: path
          schema:
            type: string
          required: true
          description: Block Hash
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/block-index/{blockindex}:
    get:
      tags:
        - testnet > ins
      summary: Returns block hash of block
      description: Returns the block hash of a block at a given block index
      parameters:
        - name: blockindex
          in: path
          schema:
            type: string
          required: true
          description: Block Index
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/rawtx/{txid}:
    get:
      tags:
        - testnet > ins
      summary: Returns raw transaction hex
      description: Returns raw transaction hex representing a NEBL transaction
      parameters:
        - name: txid
          in: path
          schema:
            type: string
          required: true
          description: Neblio txid to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/txs:
    get:
      tags:
        - testnet > ins
      summary: Get transactions by block or address
      description: Returns all transactions by block or address
      parameters:
        - name: address
          in: query
          schema:
            type: string
          description: Address
          example: <get>
        - name: block
          in: query
          schema:
            type: string
          description: Block Hash
          example: <>
        - name: pageNum
          in: query
          schema:
            type: string
          description: Page number to display
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/sync:
    get:
      tags:
        - testnet > ins
      summary: Get node sync status
      description: Returns information on the node's sync progress
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ins/status:
    get:
      tags:
        - testnet > ins
      summary: Utility API for calling several blockchain node functions
      description: >-
        Utility API for calling several blockchain node functions - getInfo,
        getDifficulty, getBestBlockHash, getLastBlockHash
      parameters:
        - name: q
          in: query
          schema:
            type: string
          description: >-
            Function to call, getInfo, getDifficulty, getBestBlockHash, or
            getLastBlockHash
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/tokenmetadata/{tokenid}:
    get:
      tags:
        - testnet > ntp1 > tokenmetadata/{tokenid}
      summary: Get Issuance Metadata of Token
      description: |
        Returns the metadata associated with a token at time of issuance.
      parameters:
        - name: tokenid
          in: path
          schema:
            type: string
          required: true
          description: TokenId to request metadata for
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/tokenmetadata/{tokenid}/{utxo}:
    get:
      tags:
        - testnet > ntp1 > tokenmetadata/{tokenid}
      summary: Get UTXO Metadata of Token
      description: >
        Returns the metadata associated with a token for that specific utxo
        instead of the issuance transaction.
      parameters:
        - name: tokenid
          in: path
          schema:
            type: string
          required: true
          description: TokenId to request metadata for
          example: <get>
        - name: utxo
          in: path
          schema:
            type: string
          required: true
          description: Specific UTXO to request metadata for
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/tokenid/{tokensymbol}:
    get:
      tags:
        - testnet > ntp1
      summary: Returns the tokenId representing a token
      description: >
        Translates a token symbol to a tokenId if a token exists with that
        symbol on the network
      parameters:
        - name: tokensymbol
          in: path
          schema:
            type: string
          required: true
          description: Token symbol
          example: <>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/broadcast:
    post:
      tags:
        - testnet > ntp1
      summary: Broadcasts a signed raw transaction to the network
      description: >
        Broadcasts a signed raw transaction to the network. If successful
        returns the txid of the broadcast trasnaction.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/addressinfo/{address}:
    get:
      tags:
        - testnet > ntp1
      summary: Information On a Neblio Address
      description: |
        Returns both NEBL and NTP1 token UTXOs held at the given address.
      parameters:
        - name: address
          in: path
          schema:
            type: string
          required: true
          description: Neblio Address to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/transactioninfo/{txid}:
    get:
      tags:
        - testnet > ntp1
      summary: Information On an NTP1 Transaction
      description: |
        Returns detailed information regarding an NTP1 transaction.
      parameters:
        - name: txid
          in: path
          schema:
            type: string
          required: true
          description: Neblio txid to get information on.
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/stakeholders/{tokenid}:
    get:
      tags:
        - testnet > ntp1
      summary: Get Addresses Holding a Token
      description: >
        Returns the the the addresses holding a token and how many tokens are
        held
      parameters:
        - name: tokenid
          in: path
          schema:
            type: string
          required: true
          description: TokenId to request metadata for
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/issue:
    post:
      tags:
        - testnet > ntp1
      summary: Builds a transaction that issues a new NTP1 Token
      description: >
        Builds an unsigned raw transaction that issues a new NTP1 token on the
        Neblio blockchain.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/sendtoken:
    post:
      tags:
        - testnet > ntp1
      summary: Builds a transaction that sends an NTP1 Token
      description: >
        Builds an unsigned raw transaction that sends an NTP1 token on the
        Neblio blockchain.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/ntp1/burntoken:
    post:
      tags:
        - testnet > ntp1
      summary: Builds a transaction that burns an NTP1 Token
      description: >
        Builds an unsigned raw transaction that burns an NTP1 token on the
        Neblio blockchain.
      requestBody:
        content: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /testnet/faucet:
    get:
      tags:
        - testnet
      summary: Withdraws testnet NEBL to the specified address
      description: >
        Withdraw testnet NEBL to your Neblio Testnet address. By default amount
        is 1500000000 or 15 NEBL and has a max of 50 NEBL. Only 2 withdrawals
        allowed per 24 hour period.
      parameters:
        - name: address
          in: query
          schema:
            type: string
          description: Address
          example: <get>
        - name: amount
          in: query
          schema:
            type: string
          description: Amount of NEBL to withdrawal in satoshis
          example: <get>
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
