Spydra Docs
For Developers
Spydra Platform
Spydra Platform
  • GETTING STARTED
    • Introduction
    • Why Spydra?
    • Blockchain fundamentals
      • Why Blockchain?
      • Private Blockchain
      • Public Chain
    • 🎧Getting started with a Private Network
      • Creating an account
      • Creating an organization
      • Creating a Network
      • Apps
    • 🔊Getting started with a Token Store on Public Chain
      • Token store
      • Customise token store front
      • List a real world asset and issue tokens
      • Manage token lifecycle
    • Intro to Hyperledger Fabric
  • Products Overview
    • 🎧Private Network
      • Organizations
        • Users and Organizations
        • Organisation Hosting - Spydra Hosted and BYOC
        • Organization Statuses
        • Organization Roles & Permissions
        • Organization Dashboard
        • Organization Entities
      • Networks
        • Network Statuses
        • Network Roles & Permissions
        • Network Configurations
        • Mandatory Card Addition
        • Nodes: Peer, Orderer & CA
        • Network Hosting Type
        • Network Dashboard
        • Network Operations
        • Nodes
      • Channels
      • Apps
        • Pre-Configured Apps
        • Custom Apps
      • Asset Tokenization
        • Use cases
        • Asset types
        • References
        • Asset Owners
        • Permissions
      • Tokens & Vault
      • Listeners
        • Network Listeners
        • App Listeners
        • Token Listeners
      • Workflow Builder
      • Oracles
      • GraphQL
      • Block Explorer
      • IPFS
      • Fabric Debug Plugin
    • 🔊Public Chain
      • Token Store
      • Tokenize Real World Assets
      • Tokenomics: Token & Token Sale
      • Trade & Payout
  • How to
    • 🎧Private Network
      • Account
        • Create an Account
        • Edit Profile details
        • Update email & Password
        • Forgot password
        • Google OAuth Signup - Update Email & Password
        • Deactivating or deleting your account?
      • Organizations
        • Create an Organization
        • Create & Manage BYOC Hosting
        • Invite members to an organisation
        • Edit Organization details
        • Manage Org members
        • Leave an Organization
        • Update Organization member roles
        • Pay Organisation Invoice
        • Update Billing Address
        • View Invoices
        • Organization Dashboard
        • Delete an Organisation
      • Networks
        • Create a Network
        • Advance Settings: Key Vault Store
        • View and edit Network details
          • Update Permissions for Network Members
          • Update Network Configuration
          • Update Key Vault
          • Manage API Keys
          • Delete a network
        • Inviting an organisation to a Network
        • Network Roles & Permissions
        • Joining a Network
        • Network Dashboard
      • Apps
        • Explore Apps
        • Deploy App
          • Deploying Asset Tokenization App
        • Manage Apps
        • Application Dashboard
      • Channels
        • Creating a Channel
        • Create a Consensus Policy
        • Update Channel
        • Channel Members
        • Delete channel
      • Nodes
        • Create Node
        • Node Dashboard
        • Delete Node
      • Pre-configured Apps
        • Deploy Asset Tokenization App
        • Asset Data
      • Custom Apps
        • Deploy Custom Chaincode
        • Chaincode as external service
        • Supported File Formats - ZIP format
        • Building in Binary format
          • Golang - Binary Format
          • Java Jar files
        • Chaincode Logs
      • Workflow
        • Triggers
        • Condition
        • Read
        • Actions
        • End
        • Variables & Identifiers
        • Calculations & Formulas
      • Oracles
        • Create an Oracle
        • Oracle with Asset tokenisation
        • Oracle with Custom Chaincode
      • Listeners
        • Create a Listener
        • Manage Listeners
    • 🔊Public Chain
      • Account
        • Create an Account
        • Edit Profile details
        • Update email & Password
        • Forgot password
        • Google OAuth Signup - Update Email & Password
        • Deactivating or deleting your account?
      • Token Store
        • Create a Token Store
        • Design Store Front
        • Custom Domain Hosting
        • Google Analytics Integration
        • Create & Manage Store Users
          • Store User KYC
        • Accreditation Management
        • Store Payments
        • Token Store Customers
      • Tokenise a Real World Asset
        • Real Estate
        • Other Asset Categories
      • Create a token
        • Define your token
        • Investor & Buyback Settings
        • Configure token returns & payouts
        • Create token sale
      • Additional Configurations
        • Create a Document Workflow
      • Publish Asset
      • Tokenise on TestNet
        • Polygon Amoy
      • Manage Token lifecycle
        • Returns & Payouts
          • Initiate an equity payout
          • Authorise Debt Payouts
          • View all payouts
        • View token investors
        • View token transactions
        • View signed documents
        • View/ Create a token sale
        • Post Token Updates
        • Update Price
        • Buyback Requests
  • Billing & Pricing
    • Pricing
    • Billing
      • Opt-in Billing
      • Opt-out Billing
    • Adding a Card & Autopay
    • Invoice Payments
    • Billing forecast
    • Unpaid Invoices
    • Credits
  • Developers
    • API Reference
      • Asset Tokenization
        • REST API
        • Testing REST API
        • GraphQL
          • Quickstart
          • Simple queries
          • Nested object queries
          • Complex queries
          • Aggregate queries
          • Operators
          • Built-in attributes
          • Pagination
      • Custom Chaincode
        • REST API
        • Testing REST API
        • GraphQL
          • Quickstart
          • Simple queries
          • Complex queries
          • Operators
          • Pagination
      • Token Store (Public Chain)
        • Token Issuer
        • Investor
      • IPFS
    • Developer Tools
      • Monitoring [Coming Soon]
    • API Key
  • Support
    • FAQs
    • My account is banned [D]
    • Why is it recommended to have an Odd number of Orderer nodes on a Network?
    • Support
  • Others
    • Glossary
  • Policies
    • Terms & Conditions
    • Privacy Policies
    • Open Spydra
Powered by GitBook
On this page

Was this helpful?

  1. Developers
  2. API Reference
  3. Asset Tokenization

REST API

PreviousAsset TokenizationNextTesting REST API

Last updated 1 month ago

Was this helpful?

You can access the Rest API through the Swagger UI from the App API section. Navigate to Network -> Deployed Apps -> App -> Rest API

You can register API Keys at the Network level and use them to access the API endpoints of the deployed chaincode applications on the network. API Key

Base URL
https://<membership_id>.spydra.app/tokenize/<app_id>

Get the base URL from Network -> Deployed Apps -> App -> Rest API page.
Select your organization at the top right of this page.
Alternatively, you can from the URL by getting the <membership_id> by navigating
to Network -> Members page and getting the <app_id> by navigating to the Network -> 
Deployed Apps -> App Overview page.

Assets

An asset can be any object in your business process that needs to be tracked on the Blockchain. For e.g. financial instruments (equities, bonds, loans, and funds), tangible assets (real estate, artworks, precious metals), or intellectual property can be different types of assets.

Asset Ownership


Approval


Tokens

Token APIs allow you to tokenize your assets and issue Non-Fungible Tokens (NFTs) or fungible tokens seamlessly. Tokeniseanything asse you want- real estate, artwork, collectibles, or any other valuable asset. Using these APIs, you can issue, mint, burn tokens. Additionally, user can set approvers for their token account, get balance, view all transactions etc.


ERC1155

ERC1155 is a popular token standard in the blockchain industry that allows for the creation and management of both fungible and non-fungible tokens. It provides a flexible and efficient way to represent multiple token types within a single smart contract.


Vault

Vault is a mechanism for fractionalisation that allows for the division of assets into smaller, more manageable fractions. This concept is particularly relevant in the world of finance and investment, where it enables the creation of new investment opportunities and increased liquidity.

A custodian is a trusted party responsible for safeguarding and managing the assets held within the vault. A custodian can deposit or withdraw assets from a vault.

get

Query an asset.

Authorizations
Query parameters
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

idstringRequired

Id of the asset. This is the Id that is maintained in your system and corresponds to value of the Primary Key attribute defined in the Asset Tokenization App settings.

depthintegerOptional

For referenced objects, depth up to which references to be returned. For e.g. if depth=1, one level of references will be resolved.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Asset found.
application/json
400
Request failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset?assetType=text&id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "Prop1",
  "assetType": "Property",
  "data": {
    "id": "Prop1",
    "name": "Flat xyz",
    "address": "Chicago, Illinois",
    "locality": "Harbor Drive"
  },
  "owners": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  ],
  "createdAt": "2023-02-15T15:47:00.027Z",
  "createdBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  },
  "updatedAt": "2023-02-17T12:10:24.156Z",
  "updatedBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  }
}
get

Get the asset along with history of changes.

Authorizations
Query parameters
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

idstringRequired

Id of the asset. This is the Id that is maintained in your system and corresponds to the value of the Primary Key attribute defined in the Asset Tokenization App settings.

depthintegerOptional

For referenced objects, depth up to which references to be returned.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Asset found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/history?assetType=text&id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "Prop1",
  "assetType": "Property",
  "count": 1,
  "records": [
    {
      "trasactionType": "CREATED",
      "transactionId": "6c94ff55155722c28611630e7d6795145e0282e9fabf10bf3460f396e2a6218b",
      "transactionTime": "2023-02-16T11:55:07.776Z",
      "data": {
        "id": "Prop1",
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive"
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get all assets.

Authorizations
Query parameters
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

pageSizeintegerOptional

The number of records to be returned in a page. The default is 25.

bookmarkstringOptional

The bookmark returned by previous request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Assets found.
application/json
400
Request failed due to invalid request parameters.
application/json
404
Asset type not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/all?assetType=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 1,
  "bookmark": "text",
  "records": [
    {
      "id": "Prop1",
      "assetType": "Property",
      "data": {
        "id": "Prop1",
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive"
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get the status of an already submitted transaction using the returned receipt id.

Authorizations
Query parameters
receiptIdstringRequired

The receipt id returned while submitting the transaction.

Responses
200
Transaction found.
application/json
400
Request failed due to invalid request parameters.
application/json
404
Transaction not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/receipt?receiptId=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "transactionId": "6c94ff55155722c28611630e7d6795145e0282e9fabf10bf3460f396e2a6218b",
  "status": "COMMITTED",
  "message": "Success"
}
get

Get statistics about asset usage.

Authorizations
Responses
200
OK
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/stats HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "totalCount": 100,
  "countByType": [
    {
      "assetType": "Property",
      "count": 30
    }
  ]
}
get

Get ownership transfer request by id.

Authorizations
Query parameters
idstringRequired

Id of the ownership approval request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Ownership transfer request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Ownership transfer request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/ownershipTransfer/request?id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
  "approvers": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123",
      "status": "PENDING"
    }
  ],
  "numRequired": 1,
  "status": "PENDING",
  "timeout": 60,
  "data": {
    "name": "Flat xyz",
    "address": "Chicago, Illinois",
    "locality": "Harbor Drive",
    "metadata": {
      "assetType": "Property",
      "id": [
        "Prop1"
      ],
      "newOwner": {
        "orgId": "641b0eb2623fc30540d70fa7",
        "userId": "6002"
      }
    }
  },
  "owners": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  ],
  "createdAt": "2023-02-15T15:47:00.027Z",
  "createdBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  },
  "updatedAt": "2023-02-17T12:10:24.156Z",
  "updatedBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  }
}
get

Get the status of ownership transfer requests submitted by an entity.

Authorizations
Query parameters
pageSizeintegerOptional

The number of records to be returned in a page. The default is 25.

bookmarkstringOptional

The bookmark returned by previous request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Ownership transfer request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Ownership transfer request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/ownershipTransfer/request/my HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 3,
  "bookmark": "text",
  "records": [
    {
      "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123",
          "status": "PENDING"
        }
      ],
      "numRequired": 1,
      "status": "PENDING",
      "timeout": 60,
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive",
        "metadata": {
          "assetType": "Property",
          "id": [
            "Prop1"
          ],
          "newOwner": {
            "orgId": "641b0eb2623fc30540d70fa7",
            "userId": "6002"
          }
        }
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get the ownership transfer requests in queue for approval.

Authorizations
Query parameters
onlyPendingbooleanOptional

Get only pending requests. The default is true.

pageSizeintegerOptional

The number of records to be returned in a page. The default is 25.

bookmarkstringOptional

The bookmark returned by previous request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Ownership transfer request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Ownership transfer request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/ownershipTransfer/request/approvals HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 3,
  "bookmark": "text",
  "records": [
    {
      "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123",
          "status": "PENDING"
        }
      ],
      "numRequired": 1,
      "status": "PENDING",
      "timeout": 60,
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive",
        "metadata": {
          "assetType": "Property",
          "id": [
            "Prop1"
          ],
          "newOwner": {
            "orgId": "641b0eb2623fc30540d70fa7",
            "userId": "6002"
          }
        }
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get the ownership transfer requests for a particular asset.

Authorizations
Query parameters
assetIdbooleanRequired

The Id of the asset for which ownership transfer requests need to be fetched.

onlyPendingbooleanOptional

Get only pending requests. The default is true.

pageSizeintegerOptional

The number of records to be returned in a page. The default is 25.

bookmarkstringOptional

The bookmark returned by previous request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Ownership transfer request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Ownership transfer request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/ownershipTransfer/request/byAsset?assetId=true HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 3,
  "bookmark": "text",
  "records": [
    {
      "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123",
          "status": "PENDING"
        }
      ],
      "numRequired": 1,
      "status": "PENDING",
      "timeout": 60,
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive",
        "metadata": {
          "assetType": "Property",
          "id": [
            "Prop1"
          ],
          "newOwner": {
            "orgId": "641b0eb2623fc30540d70fa7",
            "userId": "6002"
          }
        }
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get the ownership transfer requests for a particular asset.

Authorizations
Query parameters
idstringRequired

Id of the ownership approval request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Ownership transfer request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Ownership transfer request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/asset/ownershipTransfer/request/history?id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
  "count": 1,
  "records": [
    {
      "trasactionType": "CREATED",
      "transactionId": "6c94ff55155722c28611630e7d6795145e0282e9fabf10bf3460f396e2a6218b",
      "transactionTime": "2023-02-16T11:55:07.776Z",
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123",
          "status": "PENDING"
        }
      ],
      "numRequired": 1,
      "timeout": 60,
      "status": "PENDING",
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive",
        "metadata": {
          "assetType": "Property",
          "id": [
            "Prop1"
          ],
          "newOwner": {
            "orgId": "641b0eb2623fc30540d70fa7",
            "userId": "6002"
          }
        }
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get approval request by id.

Authorizations
Query parameters
idstringRequired

Id of the approval request.

approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Approval request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Approval request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/approval?id=text&approvalType=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
  "approvers": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123",
      "status": "PENDING"
    }
  ],
  "numRequired": 1,
  "timeout": 60,
  "status": "PENDING",
  "data": {
    "name": "Flat xyz",
    "address": "Chicago, Illinois",
    "locality": "Harbor Drive"
  },
  "owners": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  ],
  "createdAt": "2023-02-15T15:47:00.027Z",
  "createdBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  },
  "updatedAt": "2023-02-17T12:10:24.156Z",
  "updatedBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  }
}
get

Get the status of approval requests submitted by an entity.

Authorizations
Query parameters
approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval

pageSizeintegerOptional

The number of records to be returned in a page. The default is 25.

bookmarkstringOptional

The bookmark returned by previous request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Approval request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Approval request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/approval/my?approvalType=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 3,
  "bookmark": "text",
  "records": [
    {
      "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123",
          "status": "PENDING"
        }
      ],
      "numRequired": 1,
      "timeout": 60,
      "status": "PENDING",
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive"
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get the approval requests in queue for approval.

Authorizations
Query parameters
approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval

onlyPendingbooleanOptional

Get only pending requests. The default is true.

pageSizeintegerOptional

The number of records to be returned in a page. The default is 25.

bookmarkstringOptional

The bookmark returned by previous request.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Approval request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Approval request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/approval/queue?approvalType=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 3,
  "bookmark": "text",
  "records": [
    {
      "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123",
          "status": "PENDING"
        }
      ],
      "numRequired": 1,
      "status": "PENDING",
      "timeout": 60,
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive",
        "metadata": {
          "assetType": "Property",
          "id": [
            "Prop1"
          ],
          "newOwner": {
            "orgId": "641b0eb2623fc30540d70fa7",
            "userId": "6002"
          }
        }
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Get the approval requests for a particular asset.

Authorizations
Query parameters
idstringRequired

Id of the approval request.

approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Approval request found
application/json
400
Request failed due to invalid request parameters.
application/json
404
Ownership transfer request not found.
application/json
500
General server error.
application/json
get
GET /tokenize/<chaincodeccid>/approval/history?id=text&approvalType=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "9a7b337324d807e3622c29aad435bf6e6ea1d14a8c4e3850c5627f3be4356d12_124134",
  "count": 1,
  "records": [
    {
      "trasactionType": "CREATED",
      "transactionId": "6c94ff55155722c28611630e7d6795145e0282e9fabf10bf3460f396e2a6218b",
      "transactionTime": "2023-02-16T11:55:07.776Z",
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123",
          "status": "PENDING"
        }
      ],
      "numRequired": 1,
      "timeout": 60,
      "status": "PENDING",
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive"
      },
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "createdAt": "2023-02-15T15:47:00.027Z",
      "createdBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "updatedAt": "2023-02-17T12:10:24.156Z",
      "updatedBy": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    }
  ]
}
get

Status check API.

Authorizations
Responses
200
OK
get
GET /tokenize/<chaincodeccid>/status HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
200

OK

No content

post

Create an asset or a list of assets.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be created before returning a response or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
dataobject[]Required

Custom JSON object representing an asset. You can submit a single asset or multiple assets in one request by providing an array of assets here.

Example: {"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
Responses
201
Asset created.
application/json
202
Asset creation request accepted. Returned when async=true.
application/json
400
Asset creation failed due to invalid request parameters.
application/json
404
Asset type not found.
application/json
409
Asset already exists.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/asset HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "assetType": "Property",
  "data": [
    {
      "id": "Prop1",
      "name": "Flat xyz",
      "address": "Chicago, Illinois",
      "locality": "Harbor Drive"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
put

Create or update an asset or a list of assets. If an asset with the same id exists, the existing asset will be updated.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be created before returning a response or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
dataobject[]Required

Custom JSON object representing an asset. You can submit a single asset or multiple assets in one request by providing an array of assets here.

Example: {"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
Responses
201
Asset created.
application/json
202
Asset creation request accepted. Returned when async=true.
application/json
400
Asset creation failed due to invalid request parameters.
application/json
404
Asset type not found.
application/json
500
General server error.
application/json
put
PUT /tokenize/<chaincodeccid>/asset HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "assetType": "Property",
  "data": [
    {
      "id": "Prop1",
      "name": "Flat xyz",
      "address": "Chicago, Illinois",
      "locality": "Harbor Drive"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
delete

Delete one or more assets.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be deleted before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
idstring[]Required

Id of the asset. This is the Id that is maintained in your system and corresponds to the value of the Primary Key attribute defined in the Asset Tokenization App settings. You can submit a single id or multiple Ids in one request by providing an array here.

Example: Prop1
Responses
200
Asset deleted.
application/json
202
Asset deletion request accepted. Returned when async=true.
application/json
400
Asset deletion failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
delete
DELETE /tokenize/<chaincodeccid>/asset HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "assetType": "Property",
  "id": [
    "Prop1"
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
patch

Update an asset or a list of assets.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
dataobject[]Required

Custom JSON object representing an asset. You can submit a single asset or multiple assets in one request by providing an array of assets here.

Example: {"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
Responses
200
Asset updated.
application/json
202
Asset updation request accepted. Returned when async=true.
application/json
400
Asset updation failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
patch
PATCH /tokenize/<chaincodeccid>/asset HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "assetType": "Property",
  "data": [
    {
      "id": "Prop1",
      "name": "Flat xyz",
      "address": "Chicago, Illinois",
      "locality": "Harbor Drive"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
patch

Update owners of an asset. This method replaces the current owners with the new owner array provided.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
Responses
200
Asset updated.
application/json
202
Asset updation request accepted. Returned when async=true.
application/json
400
Asset updation failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
patch
PATCH /tokenize/<chaincodeccid>/asset/owners HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "assetType": "Property",
  "data": [
    {
      "id": "Prop1",
      "owners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ]
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Request ownership of an asset to be transferred.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
Responses
200
Ownership transfer request created.
application/json
202
Ownership transfer request accepted. Returned when async=true.
application/json
400
Ownership transfer request failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/asset/ownershipTransfer/request HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 293

{
  "assetType": "Property",
  "approvals": [
    {
      "id": [
        "Prop1"
      ],
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "numRequired": 1,
      "additionalOwners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive"
      }
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Approve ownership transfer request.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstring[]Required

Id of the approval request. You can approve multiple ownership transfer requests together by providing an array of Ids here.

Example: 641821e82c44573cb52c7d97
Responses
200
Ownership transfer request approved.
application/json
202
Ownership transfer request approval accepted for processing. Returned when async=true.
application/json
400
Ownership transfer approval failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/asset/ownershipTransfer/approve HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 35

{
  "id": [
    "641821e82c44573cb52c7d97"
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Reject ownership transfer request.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstring[]Required

Id of the approval request. You can approve multiple ownership transfer requests together by providing an array of Ids here.

Example: 641821e82c44573cb52c7d97
Responses
200
Ownership transfer request rejected.
application/json
202
Ownership transfer request rejection accepted for processing. Returned when async=true.
application/json
400
Ownership transfer rejection failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/asset/ownershipTransfer/reject HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 35

{
  "id": [
    "641821e82c44573cb52c7d97"
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Create a new approval request.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval
Responses
200
Approval request created.
application/json
202
Approval request accepted. Returned when async=true.
application/json
400
Approval request failed due to invalid request parameters.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/approval HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 232

{
  "approvalType": "LoanRequestApproval",
  "approvals": [
    {
      "approvers": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "numRequired": 1,
      "timeout": 60,
      "data": {
        "name": "Flat xyz",
        "address": "Chicago, Illinois",
        "locality": "Harbor Drive"
      }
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Approve the request.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval
Responses
200
Approval request approved.
application/json
202
Request approval accepted for processing. Returned when async=true.
application/json
400
Request approval failed due to invalid request parameters.
application/json
404
Asset not found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/approval/accept HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 99

{
  "approvalType": "LoanRequestApproval",
  "approvals": [
    {
      "id": "ea09a7ff705d69eb",
      "comment": "Approved"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Reject approval request.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval
Responses
200
Approval request rejected.
application/json
202
Aproval request rejection accepted for processing. Returned when async=true.
application/json
400
Approval request rejection failed due to invalid request parameters.
application/json
404
Approval Request not found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/approval/reject HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 99

{
  "approvalType": "LoanRequestApproval",
  "approvals": [
    {
      "id": "ea09a7ff705d69eb",
      "comment": "Rejected"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Cancel approval request.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be updated before returning or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
approvalTypestringRequired

A unique name that represents this type of approval. The type is used to distinguish between different types of approvals in the systems. For e.g. LoanRequestApproval and LoanDisbursementApproval can be different approval types in the system. The type is also required while making other Approval API related calls.

Example: LoanRequestApproval
Responses
200
Approval request cancelled.
application/json
202
Aproval request cancellation accepted for processing. Returned when async=true.
application/json
400
Approval request cancellation failed due to invalid request parameters.
application/json
404
Approval Request not found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/approval/cancel HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 101

{
  "approvalType": "LoanRequestApproval",
  "approvals": [
    {
      "id": "ea09a7ff705d69eb",
      "comment": "Cancelling"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
  • Assets
  • GET/asset
  • POST/asset
  • PUT/asset
  • DELETE/asset
  • PATCH/asset
  • PATCH/asset/owners
  • GET/asset/history
  • GET/asset/all
  • GET/asset/receipt
  • GET/asset/stats
  • Asset Ownership
  • GET/asset/ownershipTransfer/request
  • POST/asset/ownershipTransfer/request
  • POST/asset/ownershipTransfer/approve
  • POST/asset/ownershipTransfer/reject
  • GET/asset/ownershipTransfer/request/my
  • GET/asset/ownershipTransfer/request/approvals
  • GET/asset/ownershipTransfer/request/byAsset
  • GET/asset/ownershipTransfer/request/history
  • Approval
  • GET/approval
  • POST/approval
  • POST/approval/accept
  • POST/approval/reject
  • POST/approval/cancel
  • GET/approval/my
  • GET/approval/queue
  • GET/approval/history
  • GET/status
  • Tokens
  • POST/asset
  • GET/token
  • POST/token
  • PATCH/token
  • GET/token/all
  • PATCH/token/permissions
  • PATCH/token/approval
  • PATCH/token/owners
  • POST/token/mint
  • POST/token/burn
  • GET/token/account
  • POST/token/account/all
  • GET/token/transaction
  • POST/token/transaction/all
  • ERC1155
  • POST/asset
  • POST/token/erc1155/balanceOf
  • POST/token/erc1155/balanceOfBatch
  • POST/token/erc1155/setApprovalForAll
  • POST/token/erc1155/isApprovedForAll
  • POST/token/erc1155/safeTransferFrom
  • POST/token/erc1155/safeBatchTransferFrom
  • Vault
  • POST/asset
  • GET/token/vault
  • POST/token/vault
  • PATCH/token/vault
  • GET/token/vault/all
  • POST/token/vault/addToken
  • POST/token/vault/addToken/existing
  • PATCH/token/vault/custodians
  • POST/token/vault/deposit
  • POST/token/vault/withdraw
  • GET/token/vault/assets
  • PATCH/token/vault/assets
  • GET/status
get

Get the properties of an existing token.

Authorizations
Query parameters
idstringRequired

The id of the token to query for.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Token found.
application/json
400
Request failed due to invalid request parameters.
application/json
403
Access Denied. Please check the caller
application/json
get
get

Get all tokens.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Tokens found.
application/json
get
200

Tokens found.

get

Get acount details of the specified Account Id

Authorizations
Query parameters
idstringRequired

The id of the account to query for.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
account found.
application/json
403
account found.
application/json
500
General server error.
application/json
get
get

Get details for specified transaction

Authorizations
Query parameters
idstringRequired

The id of the transaction to query for.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
transaction details found.
application/json
403
Access Denied
application/json
500
General server error.
application/json
get
get

Get the properties of an existing vault.

Authorizations
Query parameters
idstringRequired

The id of the vault to query for.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Vault found.
application/json
403
Request failed due to unauthorized caller.
application/json
500
General server error.
application/json
get
get

Get all vaults to which caller can access to.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Vaults found.
application/json
get
200

Vaults found.

get

Get all the assets that have been deposited in the specified Vault.

Authorizations
Query parameters
idstringRequired

The id of the vault to query for.

actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Responses
200
Vault assets found.
application/json
404
if Given vault is not found
application/json
500
General server error.
application/json
504
Access Denied, Check the caller entity
application/json
get
get

Status check API.

Authorizations
Responses
200
OK
get
200

OK

No content

post

Create an asset or a list of assets.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be created before returning a response or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
dataobject[]Required

Custom JSON object representing an asset. You can submit a single asset or multiple assets in one request by providing an array of assets here.

Example: {"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
Responses
201
Asset created.
application/json
202
Asset creation request accepted. Returned when async=true.
application/json
400
Asset creation failed due to invalid request parameters.
application/json
404
Asset type not found.
application/json
409
Asset already exists.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/asset HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "assetType": "Property",
  "data": [
    {
      "id": "Prop1",
      "name": "Flat xyz",
      "address": "Chicago, Illinois",
      "locality": "Harbor Drive"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
GET /tokenize/<chaincodeccid>/token?id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "docType": "asset",
  "id": "RealtyToken",
  "name": "RealtyToken",
  "description": "Token representing fractional ownership in real estate.",
  "symbol": "RTC",
  "classification": {
    "type": "nonfungible",
    "unit": "whole",
    "valueType": "intrinsic",
    "supply": "capped-variable"
  },
  "behaviour": {
    "decimal": 0,
    "maxMintQuantity": 100000,
    "transferable": true,
    "burnable": true,
    "rolesMap": {
      "minter_role_name": "minter",
      "burner_role_name": "burner"
    }
  },
  "properties": {
    "currency": "USD",
    "value": 1
  },
  "tokenPermissions": [
    {
      "entity": {
        "orgId": "64be83f3e225f9cc9b03e50b",
        "userId": "user1"
      },
      "roles": [
        "minter",
        "burner"
      ]
    }
  ],
  "totalSupply": 0,
  "totalMintedAmount": 0,
  "owners": [
    {
      "entity": {
        "orgId": "64be83f3e225f9cc9b03e50b",
        "userId": "user1"
      }
    }
  ],
  "createdAt": "2024-01-01T15:30:49.615Z",
  "updatedAt": "2024-01-01T15:30:49.615Z",
  "createdBy": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "user1"
  },
  "updatedBy": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "user1"
  }
}
post

Used to create a token type in the blockchain. Multiple token types can be defined within the same blockchain network and users can hold one or more token type. The initialize token method can be used to define a fungible token type or a non-fungible token type (NFT).

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringOptional

The Token id. Should only contain alphabets and numbers. If this is not provided, then an id will be automatically generated

Example: RealtyToken
namestringRequired

The display name of the token.

Example: RealtyToken
descriptionstringOptional

Description of the token.

Example: Token representing fractional ownership in real estate.
symbolstringRequired

Symbol of the token.

Example: RTC
propertiesobjectOptional

Additional custom properties for the token.

Example: {"currency":"USD","value":1}
nftFieldsobject[]Optional

Field definitions for a non fungible token. This can be omitted for fungible tokens. A NFT contains additional data that uniquely identifies a minted token. In the data fields, define the primary key that identifies the unique NFT and also any reference fields to other objects on the chain.

Example: {"name":"id","desc":"The primary key field of the NFT that represents the id of the NFT","isPrimaryKey":true,"isForeignKey":false}
Responses
200
Success.
application/json
400
Token creation failed due to invalid request parameters.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 624

[
  {
    "id": "RealtyToken",
    "name": "RealtyToken",
    "description": "Token representing fractional ownership in real estate.",
    "symbol": "RTC",
    "classification": {
      "type": "nonfungible",
      "unit": "whole",
      "valueType": "intrinsic",
      "supply": "capped-variable"
    },
    "behaviour": {
      "decimal": 0,
      "maxMintQuantity": 100000,
      "transferable": true,
      "burnable": true
    },
    "properties": {
      "currency": "USD",
      "value": 1
    },
    "tokenPermissions": [
      {
        "entity": {
          "orgId": "64be83f3e225f9cc9b03e50b",
          "userId": "user1"
        },
        "roles": [
          "minter",
          "burner"
        ]
      }
    ],
    "nftFields": [
      {
        "name": "id",
        "desc": "The primary key field of the NFT that represents the id of the NFT",
        "isPrimaryKey": true,
        "isForeignKey": false
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
patch

Update the allowed properties of an existing token. Not all fields need to be provided. The provided fileds are partially updated.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

Id of the token.

Example: 87be83f3e225f9cc9b03e50b
descriptionstringOptional

Description of the token.

Example: Token representing fractional ownership in real estate.
propertiesobjectOptional

Additional custom properties for the token.

Example: {"currency":"USD","value":1}
nftFieldsobject[]Optional

Field definitions for a non fungible token. This can be omitted for fungible tokens.

Example: {"name":"id","desc":"The primary key field of the NFT that represents the id of the NFT","isPrimaryKey":true,"isForeignKey":false}
Responses
200
Token updated.
application/json
400
Token updation failed due to invalid request parameters.
application/json
404
Token updation failed due to 'not found' error.
application/json
500
General server error.
application/json
patch
PATCH /tokenize/<chaincodeccid>/token HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 294

[
  {
    "id": "87be83f3e225f9cc9b03e50b",
    "description": "Token representing fractional ownership in real estate.",
    "properties": {
      "currency": "USD",
      "value": 1
    },
    "nftFields": [
      {
        "name": "id",
        "desc": "The primary key field of the NFT that represents the id of the NFT",
        "isPrimaryKey": true,
        "isForeignKey": false
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
GET /tokenize/<chaincodeccid>/token/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 1,
  "bookmark": "text",
  "records": [
    {
      "name": "RealtyToken",
      "symbol": "RLT",
      "description": "Token representing fractional ownership in real estate.",
      "classification": {
        "type": "fungible",
        "unit": "fractional",
        "valueType": "Intrinsic",
        "supply": "Capped-Variable"
      },
      "permission": [
        {
          "roles": [
            "minter",
            "transfer",
            "notary",
            "burner"
          ],
          "entity": {
            "orgId": "64be83f3e225f9cc9b03e50b"
          }
        }
      ],
      "behaviour": {
        "decimal": 2,
        "maxMintQuantity": 100000,
        "transferable": true,
        "burnable": true
      },
      "properties": {
        "currency": "USD",
        "value": 1
      }
    }
  ]
}
patch

Update the permissions of an existing token.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

Id of the token.

Example: 87be83f3e225f9cc9b03e50b
Responses
200
Token permissions updated.
application/json
404
Token permissions updation failed due to invalid role.
application/json
500
General server error.
application/json
404 invalid token
Token permissions updation failed due to invalid or nonexistent token.
application/json
400 Bad Request
Token permissions updation failed due to token Id is not sent in the request.
application/json
patch
PATCH /tokenize/<chaincodeccid>/token/permissions HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 133

[
  {
    "id": "87be83f3e225f9cc9b03e50b",
    "permissions": [
      {
        "entity": {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        },
        "roles": [
          "minter"
        ]
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
patch

Approve a user/account to manage tokens on behalf of current user. The approved user can managed tokens for specific token Ids mentioned in the request.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
tokenIdsstring[]Required

List of token IDs

Example: ["RealtyToken"]
approvedbooleanRequired

Indicates whether the tokens are approved or not

Example: true
Responses
200
Token permissions updated.
application/json
404
Token permissions updation failed due to invalid or nonexistent token.
application/json
500
General server error.
application/json
patch
PATCH /tokenize/<chaincodeccid>/token/approval HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 112

[
  {
    "tokenIds": [
      "RealtyToken"
    ],
    "operators": [
      {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    ],
    "approved": true
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
patch

Update the owners of an existing token.Owners of the token has permissions to update the token properties and permissions. By default when a token is created, the caller becomes the onwer of the token which can be updated using this method.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

Id of the token.

Example: 87be83f3e225f9cc9b03e50b
Responses
200
Token owners updated.
application/json
400
Token permissions updation failed due to invalid request parameters.
application/json
404
Invalid or non existent Token Id
application/json
500
General server error.
application/json
400 Bad Request
Owners are not passed in the request
application/json
patch
PATCH /tokenize/<chaincodeccid>/token/owners HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 98

[
  {
    "id": "87be83f3e225f9cc9b03e50b",
    "owners": [
      {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Mint Fungible or Non-fungible tokens.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

The id of the token to mint.

Example: 87be83f3e225f9cc9b03e50b
toobjectRequired

Organization entity to which tokens are minted

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
valuenumberOptional

The amount of token to be minted if it is a fungible token. Not required for non-fungible tokens.

Example: 10000
nftDataobjectOptional

Any additional data when the token is an NFT. Not required for fungible tokens.

Example: {"id":"property1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
Responses
200
Token minted.
application/json
403
Token mint failed due to invalid caller
application/json
404
Invalid Token Id
application/json
409
failed since token already exists
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/mint HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 210

[
  {
    "id": "87be83f3e225f9cc9b03e50b",
    "to": {
      "orgId": "64be83f3e225f9cc9b03e50b",
      "userId": "1234"
    },
    "value": 10000,
    "nftData": {
      "id": "property1",
      "name": "Flat xyz",
      "address": "Chicago, Illinois",
      "locality": "Harbor Drive"
    }
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Burn Fungible or Non-fungible tokens.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

The id of the token to mint.

Example: 87be83f3e225f9cc9b03e50b
fromobjectRequired

Organization entity from which tokens are burnt.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
valuenumberOptional

The amount of token to burn if it is a fungible token. Not required for non-fungible tokens.

Example: 10000
assetIdstringOptional

The Id of the asset to be burned when the token is a NFT. This field is only required when token is non-fungible.

Example: property2
Responses
200
Token burned.
application/json
400
Failed because token is already burnt.
application/json
403
Token burn failed due to access denied.
application/json
404
Token burn failed due to invalid asset Id.
application/json
500
General server error.
application/json
404 not found
Token burn failed due to invalid token Id.
application/json
post
POST /tokenize/<chaincodeccid>/token/burn HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 131

[
  {
    "id": "87be83f3e225f9cc9b03e50b",
    "from": {
      "orgId": "64be83f3e225f9cc9b03e50b",
      "userId": "1234"
    },
    "value": 10000,
    "assetId": "property2"
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
GET /tokenize/<chaincodeccid>/token/account?id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "account~3bbda18ab9d2677ae28b480d072463d5b6db6c6fc8ec5c95fe4ed59632fbdc9f",
  "docType": "account",
  "entity": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  },
  "tokenId": "RealtyToken",
  "balance": 1,
  "approvedEntities": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  ],
  "nftIds": [
    "text"
  ],
  "owners": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  ],
  "createdAt": null,
  "updatedAt": "2025-05-09T15:46:26.165Z",
  "createdBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  },
  "updatedBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  }
}
post

Get details of all accounts for the specified token Ids.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
tokenIdstringOptional

The token ID

Example: RealtyToken
Responses
200
Account found.
application/json
405
account found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/account/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 27

[
  {
    "tokenId": "RealtyToken"
  }
]
[
  {
    "id": "account~3bbda18ab9d2677ae28b480d072463d5b6db6c6fc8ec5c95fe4ed59632fbdc9f",
    "docType": "account",
    "entity": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    },
    "tokenId": "RealtyToken",
    "balance": 1,
    "approvedEntities": [
      {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    ],
    "nftIds": [
      "text"
    ],
    "owners": [
      {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    ],
    "createdAt": null,
    "updatedAt": "2025-05-09T15:46:26.165Z",
    "createdBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    },
    "updatedBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  }
]
GET /tokenize/<chaincodeccid>/token/transaction?id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "docType": "tkntx",
  "id": "fcfb17c0eb3a73d809ee3d1829cfe157524cb44189f78f8f378c07284bae7f86",
  "type": "MINT",
  "transactionDetails": [
    {
      "tokenId": "RealtyToken",
      "to": {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      },
      "amount": 1,
      "data": {
        "id": "property1",
        "ledgerMetadata": {
          "owners": [
            {
              "orgId": "63c912fd5902d6c20ac43c89",
              "userId": "123"
            }
          ]
        }
      },
      "timestampUnix": 1704136554
    }
  ],
  "owners": [
    {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  ],
  "createdAt": "2025-05-09T15:46:26.165Z",
  "updatedAt": "2025-05-09T15:46:26.165Z",
  "createdBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  },
  "updatedBy": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  }
}
post

Get details for all transactions for specified Token Ids.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
tokenIdstringOptional

The token ID

Example: RealtyToken
Responses
200
transaction details found.
application/json
403
account found.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/transaction/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 27

[
  {
    "tokenId": "RealtyToken"
  }
]
[
  {
    "docType": "tkntx",
    "id": "fcfb17c0eb3a73d809ee3d1829cfe157524cb44189f78f8f378c07284bae7f86",
    "type": "MINT",
    "transactionDetails": [
      {
        "tokenId": "RealtyToken",
        "to": {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        },
        "amount": 1,
        "data": {
          "id": "property1",
          "ledgerMetadata": {
            "owners": [
              {
                "orgId": "63c912fd5902d6c20ac43c89",
                "userId": "123"
              }
            ]
          }
        },
        "timestampUnix": 1704136554
      }
    ],
    "owners": [
      {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    ],
    "createdAt": "2025-05-09T15:46:26.165Z",
    "updatedAt": "2025-05-09T15:46:26.165Z",
    "createdBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    },
    "updatedBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  }
]
post

Create an asset or a list of assets.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be created before returning a response or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
dataobject[]Required

Custom JSON object representing an asset. You can submit a single asset or multiple assets in one request by providing an array of assets here.

Example: {"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
Responses
201
Asset created.
application/json
202
Asset creation request accepted. Returned when async=true.
application/json
400
Asset creation failed due to invalid request parameters.
application/json
404
Asset type not found.
application/json
409
Asset already exists.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/asset HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "assetType": "Property",
  "data": [
    {
      "id": "Prop1",
      "name": "Flat xyz",
      "address": "Chicago, Illinois",
      "locality": "Harbor Drive"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
post

Get token balance for a particular user/account.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

The id of the token to retrieve.

Example: 87be83f3e225f9cc9b03e50b
ownerobjectRequiredExample: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
Responses
200
Token balance retrieved.
application/json
403
Get Token balance failed due to access denied
application/json
404
Failed because account and token map doesnt exists
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/erc1155/balanceOf HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 94

{
  "id": "87be83f3e225f9cc9b03e50b",
  "owner": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "1234"
  }
}
{
  "owner": {
    "orgId": "63c912fd5902d6c20ac43c89",
    "userId": "123"
  },
  "balance": 2
}
post

Get token balance for multiple user/account.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idsstring[]Required

The ids of the token to retrieve.

Example: sampletoken1, sampletoken2
ownersobjectRequiredExample: [{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"},{"orgId":"6592bf712aca6650dc152911","userId":"1234"}]
Responses
200
Token balance retrieved.
application/json
403
Get Token balance failed due to invalid request parameters.
application/json
404
Failed because account and token map doesnt exists
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/erc1155/balanceOfBatch HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 155

{
  "ids": [
    "sampletoken1, sampletoken2"
  ],
  "owners": [
    {
      "orgId": "64be83f3e225f9cc9b03e50b",
      "userId": "1234"
    },
    {
      "orgId": "6592bf712aca6650dc152911",
      "userId": "1234"
    }
  ]
}
[]
post

Approve a user/account to manage tokens on behalf of current user. The approved user can managed all tokens that belong to the target user.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
approvedbooleanRequired

Whether to approve or revoke.

Example: true
operatorobjectRequired

Organization entity whom caller is approving.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
Responses
200
Token Approval succeeded.
application/json
403
Token Approval failed due to invalid access id or caller. Check your Params
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/erc1155/setApprovalForAll HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 81

{
  "approved": true,
  "operator": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "1234"
  }
}
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Check if a user/account can manage tokens on behalf of current user.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
ownerobjectRequired

Organization who approved a operator.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"9876"}
operatorobjectRequired

Organization who got approved by a owner.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
Responses
200
Token Approval succeeded.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/erc1155/isApprovedForAll HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 126

{
  "owner": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "9876"
  },
  "operator": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "1234"
  }
}
{
  "approved": "true"
}
post

Transfer token from one account to another account.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
fromobjectRequired

The account or organizational entity from which tokens needs to be transfered.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"9876"}
toobjectRequired

The account or organizational entity to which tokens needs to be transfered.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
idstringRequired

Identity of the token e.g RealtyToken.

Example: RealtyToken
valuenumberRequired

Number of token to be transferred. It is 1 in case of non fungible and maximum total supply in case of fungible.

Example: 100
dataobjectOptional

This is field is required in case of non-fungible. Which should have assetId of the non-fungible token Id. e.g Property1 of RealtyToken

Example: {"assetId":"property1"}
Responses
200
Token transfer succeeded.
application/json
400
Token transfer failed due to invalid request parameters.
application/json
404
Given Token Not found
application/json
500
General server error.
application/json
404 not found
Given Account Not found
application/json
post
POST /tokenize/<chaincodeccid>/token/erc1155/safeTransferFrom HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 181

{
  "from": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "9876"
  },
  "to": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "1234"
  },
  "id": "RealtyToken",
  "value": 100,
  "data": {
    "assetId": "property1"
  }
}
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Transfer token from one account to another in batch.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
fromobjectRequired

The account or organizational entity from which tokens needs to be transfered.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"9876"}
toobjectRequired

The account or organizational entity to which tokens needs to be transfered.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
idsstring[]Required

Identity of the token e.g RealtyToken.

Example: 'nft1', 'nft2'
valuesnumber[]Required

Number of token to be transferred. It is 1 in case of non fungible and maximum total supply in case of fungible.

Example: 100
dataobjectOptional

This is field is required in case of non-fungible. Which should have assetId of the non-fungible token Id. e.g Property1 of RealtyToken

Example: {"assetIds":["property1","property2"]}
Responses
200
Token transfer succeeded.
application/json
400
Token transfer failed due to invalid request parameters.
application/json
404
Given Token Not found
application/json
500
General server error.
application/json
404 not found
Given Account Not found
application/json
post
POST /tokenize/<chaincodeccid>/token/erc1155/safeBatchTransferFrom HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 205

{
  "from": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "9876"
  },
  "to": {
    "orgId": "64be83f3e225f9cc9b03e50b",
    "userId": "1234"
  },
  "ids": [
    "'nft1', 'nft2'"
  ],
  "values": [
    100
  ],
  "data": {
    "assetIds": [
      "property1",
      "property2"
    ]
  }
}
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Create an asset or a list of assets.

Authorizations
Query parameters
asyncstringOptional

Whether to wait for the asset to be created before returning a response or not. When async=false (default), the API will wait for the transaction to be committed on the Ledger and then return the transaction Id. If async=true, the API will return immediately with a receipt Id. The reciept Id can be used to check the status of the transaction anytime using the /asset/receipt endpoint.

Body
assetTypestringRequired

The type of asset defined in the Asset Tokenization App settings.

Example: Property
dataobject[]Required

Custom JSON object representing an asset. You can submit a single asset or multiple assets in one request by providing an array of assets here.

Example: {"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
Responses
201
Asset created.
application/json
202
Asset creation request accepted. Returned when async=true.
application/json
400
Asset creation failed due to invalid request parameters.
application/json
404
Asset type not found.
application/json
409
Asset already exists.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/asset HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "assetType": "Property",
  "data": [
    {
      "id": "Prop1",
      "name": "Flat xyz",
      "address": "Chicago, Illinois",
      "locality": "Harbor Drive"
    }
  ]
}
{
  "transactionId": "dd7817b56429532ceea32e2111faa20a7af87c945e7d8163ae2384c560b565f2",
  "receiptId": "643d316fa27b8c7dcdb31c49"
}
GET /tokenize/<chaincodeccid>/token/vault?id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": "RealEstateVault",
  "name": "Real Estate Vault",
  "description": "Real Estate Vault",
  "custodians": [
    {
      "orgId": "64be83f3e225f9cc9b03e50b",
      "userId": "1234"
    }
  ],
  "data": {
    "project": "Sapphire",
    "location": "Chicago"
  },
  "vaultTokenId": [
    "RealEstateToken"
  ],
  "owners": [
    {
      "orgId": "6592bf712aca6650dc152911"
    }
  ],
  "createdAt": "2024-01-02T11:43:07.17Z",
  "updatedAt": "2024-01-02T11:43:07.17Z",
  "createdBy": {
    "orgId": "6592bf712aca6650dc152911"
  },
  "updatedBy": {
    "orgId": "6592bf712aca6650dc152911"
  }
}
post

Used to initialize a vault and define the fungible tokens associated with the vault.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringOptional

Unique identifier of the vault. This is not mandatory. If not provided a unique id will be automatically generated.

Example: RealEstateVault
namestringRequired

The display name of the vault.

Example: Real Estate Vault
descriptionstringOptional

Description of the Vault.

Example: Vault used to hold real estate assets
custodiansobject[]Optional

Array of custodians for the vault. Custodians have the ability manage the vault properties and also the asset related properties - like asset value, metadata etc. If this field is not provided, current caller is added as custodian.

Example: {"orgId":"64be83f3e225f9cc9b03e50b","userId":"custodian1"}
dataobjectOptional

Any additiona Json data to be added as properties of the Vault. This usually represents additional information about the assets that will be deposited in the vault.

Example: {"project":"Sapphire","location":"Chicago"}
Responses
200
Vault created.
application/json
400
Vault creation failed due to invalid request parameters.
application/json
500
General server error.
application/json
400 bad request
Vault creation failed due to invalid request parameters.
application/json
post
POST /tokenize/<chaincodeccid>/token/vault HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 667

[
  {
    "id": "RealEstateVault",
    "name": "Real Estate Vault",
    "description": "Vault used to hold real estate assets",
    "custodians": [
      {
        "orgId": "64be83f3e225f9cc9b03e50b",
        "userId": "custodian1"
      }
    ],
    "data": {
      "project": "Sapphire",
      "location": "Chicago"
    },
    "vaultToken": [
      {
        "id": "VaultToken",
        "name": "VaultToken",
        "description": "Token representing fractional ownership in real estate.",
        "symbol": "VTC",
        "classification": {
          "unit": "fractional",
          "supply": "capped-variable"
        },
        "behaviour": {
          "decimal": 0,
          "maxMintQuantity": 100000,
          "transferable": true
        },
        "properties": {
          "currency": "USD",
          "value": 1
        },
        "tokenPermissions": [
          {
            "entity": {
              "orgId": "64be83f3e225f9cc9b03e50b",
              "userId": "user1"
            },
            "roles": [
              "minter",
              "burner"
            ]
          }
        ]
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
patch

Update the allowed properties of an existing vault.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringOptionalExample: 56be83f3e225f9cc9b03e50b
namestringOptionalExample: Real Estate Vault
descriptionstringOptionalExample: Vault used to hold real estate assets
dataobjectOptional

Any additiona Json data to be added as properties of the Vault.

Example: {"meta":"data"}
Responses
200
Vault updated.
application/json
403
Vault updation failed due to unauthorized caller
application/json
patch
PATCH /tokenize/<chaincodeccid>/token/vault HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2

[]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
GET /tokenize/<chaincodeccid>/token/vault/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
[
  {
    "id": "RealEstateVault",
    "name": "Real Estate Vault",
    "description": "Real Estate Vault",
    "custodians": [
      {
        "orgId": "64be83f3e225f9cc9b03e50b",
        "userId": "1234"
      }
    ],
    "data": {
      "project": "Sapphire",
      "location": "Chicago"
    },
    "vaultTokenId": [
      "RealEstateToken"
    ],
    "owners": [
      {
        "orgId": "6592bf712aca6650dc152911"
      }
    ],
    "createdAt": "2024-01-02T11:43:07.17Z",
    "updatedAt": "2024-01-02T11:43:07.17Z",
    "createdBy": {
      "orgId": "6592bf712aca6650dc152911"
    },
    "updatedBy": {
      "orgId": "6592bf712aca6650dc152911"
    }
  }
]
post

Create a new fungible token and associate it with an existing vault.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

Unique identifier of the vault.

Example: RealEstateVault
Responses
200
Vault created.
application/json
400
Vault creation failed due to invalid request parameters.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/vault/addToken HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 461

[
  {
    "id": "RealEstateVault",
    "vaultToken": [
      {
        "id": "VaultToken",
        "name": "VaultToken",
        "description": "Token representing fractional ownership in real estate.",
        "symbol": "VTC",
        "classification": {
          "unit": "fractional",
          "supply": "capped-variable"
        },
        "behaviour": {
          "decimal": 0,
          "maxMintQuantity": 100000,
          "transferable": true
        },
        "properties": {
          "currency": "USD",
          "value": 1
        },
        "tokenPermissions": [
          {
            "entity": {
              "orgId": "64be83f3e225f9cc9b03e50b",
              "userId": "user1"
            },
            "roles": [
              "minter",
              "burner"
            ]
          }
        ]
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Associate an existing token with an existing vault.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
idstringRequired

Unique identifier of the vault.

Example: RealEstateVault
tokenIdstring[]Required

The Ids of existing tokens to be associated with the vault. The token should be of type fungible, with classification.vauleType = reference. Also, the vault custodians should have mint and burn permissions on the tokens to be associated. These tokens are used to represent fractions of assets that are deposited in the vault. Multiple tokens can be associated with the vault which represents multiple class of shares that are issued against an asset.

Example: RealEstateToken
Responses
200
Vault created.
application/json
400
Vault creation failed due to invalid request parameters.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/vault/addToken/existing HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 56

[
  {
    "id": "RealEstateVault",
    "tokenId": [
      "RealEstateToken"
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
patch

Update the custodian of a vault

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
vaultIdstringRequired

Existing vault Id to which custodians need to be updated.

Example: testVault
Responses
200
Update Custodians for the specified vault is successful.
application/json
400
Custodian identity is Invalid
application/json
403
Update failed due to unauthorized caller.
application/json
404
Vault not found
application/json
500
General server error.
application/json
patch
PATCH /tokenize/<chaincodeccid>/token/vault/custodians HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 92

[
  {
    "vaultId": "testVault",
    "custodians": [
      {
        "orgId": "63c912fd5902d6c20ac43c89",
        "userId": "123"
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Deposit Assets to the vault and mint corresponding fungible tokens to the reciever's account.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
vaultIdstringRequired

Unique vault Id to which asset is to be deposited.

Example: RealEstateVault
Responses
200
Deposit Assets succeeded.
application/json
400
If tried to deposit an asset which is already deposited in other vault.
application/json
403
Deposit Assets failed due to unauthorized caller
application/json
404
If asset not found or not exists.
application/json
post
POST /tokenize/<chaincodeccid>/token/vault/deposit HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 227

[
  {
    "vaultId": "RealEstateVault",
    "assets": [
      {
        "assetType": "Property",
        "id": "property3",
        "data": {
          "tower": "133"
        },
        "shares": [
          {
            "tokenId": "RealEstateToken",
            "quantity": 1000,
            "receiver": {
              "orgId": "63c912fd5902d6c20ac43c89",
              "userId": "123"
            }
          }
        ]
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
post

Withdraw Assets from the vault and burn corresponding fungible tokens from the payer's account.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
vaultIdstringRequired

Existing VaultId from which assets need to be withdrawn.

Example: RealEstateVault
Responses
200
Withdraw Assets succeeded.
application/json
400
Withdraw Assets failed due to invalid request parameters.
application/json
403
Deposit Assets failed due to unauthorized caller.
application/json
500
General server error.
application/json
post
POST /tokenize/<chaincodeccid>/token/vault/withdraw HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 185

[
  {
    "vaultId": "RealEstateVault",
    "assets": [
      {
        "assetType": "Property",
        "id": "property3",
        "shares": [
          {
            "tokenId": "RealEstateToken",
            "payer": {
              "orgId": "63c912fd5902d6c20ac43c89",
              "userId": "123"
            }
          }
        ]
      }
    ]
  }
]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
GET /tokenize/<chaincodeccid>/token/vault/assets?id=text HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "count": 2,
  "assets": [
    {
      "identifier": {
        "docType": "asset",
        "docDefId": "RealtyToken",
        "id": "property3"
      },
      "shares": [
        {
          "tokenId": "RealEstateToken",
          "quantity": 1000
        }
      ],
      "originalOwners": [
        {
          "orgId": "63c912fd5902d6c20ac43c89",
          "userId": "123"
        }
      ],
      "data": {
        "tower": "133"
      }
    }
  ]
}
patch

Update the allowed values of asset inside specified vault. This is used to update the value of an asset in the vault or update an additional metadata associated with the vault.

Authorizations
Query parameters
actAsstringOptional

The entity (like user, suborg etc) within the org on behalf of which the request is being made.

Example: userId:123

Body
vaultIdstringRequired

Existing vault Id.

Example: RealEstateVault
Responses
200
Update Successful
application/json
403
Access Denied, Check the caller entity
application/json
404
if Given vault is not found
application/json
500
General server error.
application/json
patch
PATCH /tokenize/<chaincodeccid>/token/vault/assets HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2

[]
{
  "transactionId": "e3e4b0f0376f550724bd7fe79a969d0bbb48f6b2b866f584b2a44007a294c411",
  "receiptId": "6592daa9a4f85cb8fbda042a"
}
GET /tokenize/<chaincodeccid>/status HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*