REST API
Last updated
Was this helpful?
Last updated
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
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.
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.
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 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 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 the properties of an existing token.
The id of the token to query for.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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"
}
}
Get all tokens.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
GET /tokenize/<chaincodeccid>/token/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
Tokens found.
{
"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
}
}
]
}
Get acount details of the specified Account Id
The id of the account to query for.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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-06-21T23:47:43.453Z",
"createdBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
},
"updatedBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
}
}
Get details for specified transaction
The id of the transaction to query for.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: 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-06-21T23:47:43.453Z",
"updatedAt": "2025-06-21T23:47:43.453Z",
"createdBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
},
"updatedBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
}
}
Get the properties of an existing vault.
The id of the vault to query for.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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"
}
}
Get all vaults to which caller can access to.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
GET /tokenize/<chaincodeccid>/token/vault/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
Vaults found.
[
{
"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"
}
}
]
Get all the assets that have been deposited in the specified Vault.
The id of the vault to query for.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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"
}
}
]
}
Status check API.
GET /tokenize/<chaincodeccid>/status HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
OK
No content
Create an asset or a list of assets.
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.
The type of asset defined in the Asset Tokenization App settings.
Property
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.
{"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
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"
}
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).
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The Token id. Should only contain alphabets and numbers. If this is not provided, then an id will be automatically generated
RealtyToken
The display name of the token.
RealtyToken
Description of the token.
Token representing fractional ownership in real estate.
Symbol of the token.
RTC
Additional custom properties for the token.
{"currency":"USD","value":1}
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.
{"name":"id","desc":"The primary key field of the NFT that represents the id of the NFT","isPrimaryKey":true,"isForeignKey":false}
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"
}
Update the allowed properties of an existing token. Not all fields need to be provided. The provided fileds are partially updated.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Id of the token.
87be83f3e225f9cc9b03e50b
Description of the token.
Token representing fractional ownership in real estate.
Additional custom properties for the token.
{"currency":"USD","value":1}
Field definitions for a non fungible token. This can be omitted for fungible tokens.
{"name":"id","desc":"The primary key field of the NFT that represents the id of the NFT","isPrimaryKey":true,"isForeignKey":false}
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"
}
Update the permissions of an existing token.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Id of the token.
87be83f3e225f9cc9b03e50b
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"
}
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
List of token IDs
["RealtyToken"]
Indicates whether the tokens are approved or not
true
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"
}
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Id of the token.
87be83f3e225f9cc9b03e50b
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"
}
Mint Fungible or Non-fungible tokens.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The id of the token to mint.
87be83f3e225f9cc9b03e50b
Organization entity to which tokens are minted
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
The amount of token to be minted if it is a fungible token. Not required for non-fungible tokens.
10000
Any additional data when the token is an NFT. Not required for fungible tokens.
{"id":"property1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
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"
}
Burn Fungible or Non-fungible tokens.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The id of the token to mint.
87be83f3e225f9cc9b03e50b
Organization entity from which tokens are burnt.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
The amount of token to burn if it is a fungible token. Not required for non-fungible tokens.
10000
The Id of the asset to be burned when the token is a NFT. This field is only required when token is non-fungible.
property2
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 details of all accounts for the specified token Ids.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The token ID
RealtyToken
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-06-21T23:47:43.453Z",
"createdBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
},
"updatedBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
}
}
]
Get details for all transactions for specified Token Ids.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The token ID
RealtyToken
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-06-21T23:47:43.453Z",
"updatedAt": "2025-06-21T23:47:43.453Z",
"createdBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
},
"updatedBy": {
"orgId": "63c912fd5902d6c20ac43c89",
"userId": "123"
}
}
]
Create an asset or a list of assets.
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.
The type of asset defined in the Asset Tokenization App settings.
Property
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.
{"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
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 token balance for a particular user/account.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The id of the token to retrieve.
87be83f3e225f9cc9b03e50b
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
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
}
Get token balance for multiple user/account.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The ids of the token to retrieve.
sampletoken1, sampletoken2
[{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"},{"orgId":"6592bf712aca6650dc152911","userId":"1234"}]
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"
}
]
}
[]
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Whether to approve or revoke.
true
Organization entity whom caller is approving.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
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"
}
Check if a user/account can manage tokens on behalf of current user.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Organization who approved a operator.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"9876"}
Organization who got approved by a owner.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
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"
}
Transfer token from one account to another account.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The account or organizational entity from which tokens needs to be transfered.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"9876"}
The account or organizational entity to which tokens needs to be transfered.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
Identity of the token e.g RealtyToken.
RealtyToken
Number of token to be transferred. It is 1 in case of non fungible and maximum total supply in case of fungible.
100
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
{"assetId":"property1"}
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"
}
Transfer token from one account to another in batch.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The account or organizational entity from which tokens needs to be transfered.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"9876"}
The account or organizational entity to which tokens needs to be transfered.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"1234"}
Identity of the token e.g RealtyToken.
'nft1', 'nft2'
Number of token to be transferred. It is 1 in case of non fungible and maximum total supply in case of fungible.
100
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
{"assetIds":["property1","property2"]}
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"
}
Create an asset or a list of assets.
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.
The type of asset defined in the Asset Tokenization App settings.
Property
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.
{"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
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"
}
Used to initialize a vault and define the fungible tokens associated with the vault.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Unique identifier of the vault. This is not mandatory. If not provided a unique id will be automatically generated.
RealEstateVault
The display name of the vault.
Real Estate Vault
Description of the Vault.
Vault used to hold real estate assets
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.
{"orgId":"64be83f3e225f9cc9b03e50b","userId":"custodian1"}
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.
{"project":"Sapphire","location":"Chicago"}
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"
}
Update the allowed properties of an existing vault.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
56be83f3e225f9cc9b03e50b
Real Estate Vault
Vault used to hold real estate assets
Any additiona Json data to be added as properties of the Vault.
{"meta":"data"}
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"
}
Create a new fungible token and associate it with an existing vault.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Unique identifier of the vault.
RealEstateVault
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"
}
Associate an existing token with an existing vault.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Unique identifier of the vault.
RealEstateVault
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.
RealEstateToken
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"
}
Update the custodian of a vault
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Existing vault Id to which custodians need to be updated.
testVault
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"
}
Deposit Assets to the vault and mint corresponding fungible tokens to the reciever's account.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Unique vault Id to which asset is to be deposited.
RealEstateVault
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"
}
Withdraw Assets from the vault and burn corresponding fungible tokens from the payer's account.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Existing VaultId from which assets need to be withdrawn.
RealEstateVault
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"
}
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Existing vault Id.
RealEstateVault
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"
}
Query an asset.
The type of asset defined in the Asset Tokenization App settings.
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.
For referenced objects, depth up to which references to be returned. For e.g. if depth=1, one level of references will be resolved.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the asset along with history of changes.
The type of asset defined in the Asset Tokenization App settings.
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.
For referenced objects, depth up to which references to be returned.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get all assets.
The type of asset defined in the Asset Tokenization App settings.
The number of records to be returned in a page. The default is 25.
The bookmark returned by previous request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the status of an already submitted transaction using the returned receipt id.
The receipt id returned while submitting the transaction.
Get statistics about asset usage.
Get ownership transfer request by id.
Id of the ownership approval request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the status of ownership transfer requests submitted by an entity.
The number of records to be returned in a page. The default is 25.
The bookmark returned by previous request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the ownership transfer requests in queue for approval.
Get only pending requests. The default is true.
The number of records to be returned in a page. The default is 25.
The bookmark returned by previous request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the ownership transfer requests for a particular asset.
The Id of the asset for which ownership transfer requests need to be fetched.
Get only pending requests. The default is true.
The number of records to be returned in a page. The default is 25.
The bookmark returned by previous request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the ownership transfer requests for a particular asset.
Id of the ownership approval request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get approval request by id.
Id of the approval request.
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
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the status of approval requests submitted by an entity.
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
The number of records to be returned in a page. The default is 25.
The bookmark returned by previous request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the approval requests in queue for approval.
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
Get only pending requests. The default is true.
The number of records to be returned in a page. The default is 25.
The bookmark returned by previous request.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Get the approval requests for a particular asset.
Id of the approval request.
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
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Status check API.
OK
No content
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"
}
}
Create an asset or a list of assets.
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.
The type of asset defined in the Asset Tokenization App settings.
Property
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.
{"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
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"
}
Create or update an asset or a list of assets. If an asset with the same id exists, the existing asset will be updated.
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.
The type of asset defined in the Asset Tokenization App settings.
Property
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.
{"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
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 one or more assets.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The type of asset defined in the Asset Tokenization App settings.
Property
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.
Prop1
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"
}
Update an asset or a list of assets.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The type of asset defined in the Asset Tokenization App settings.
Property
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.
{"id":"Prop1","name":"Flat xyz","address":"Chicago, Illinois","locality":"Harbor Drive"}
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"
}
Update owners of an asset. This method replaces the current owners with the new owner array provided.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The type of asset defined in the Asset Tokenization App settings.
Property
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"
}
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 /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 /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 /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 /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"
}
}
Request ownership of an asset to be transferred.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
The type of asset defined in the Asset Tokenization App settings.
Property
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"
}
Approve ownership transfer request.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Id of the approval request. You can approve multiple ownership transfer requests together by providing an array of Ids here.
641821e82c44573cb52c7d97
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"
}
Reject ownership transfer request.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
Id of the approval request. You can approve multiple ownership transfer requests together by providing an array of Ids here.
641821e82c44573cb52c7d97
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"
}
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 /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 /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 /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 /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"
}
}
Create a new approval request.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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.
LoanRequestApproval
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"
}
Approve the request.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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.
LoanRequestApproval
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"
}
Reject approval request.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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.
LoanRequestApproval
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"
}
Cancel approval request.
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.
The entity (like user, suborg etc) within the org on behalf of which the request is being made.
Example: userId:123
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.
LoanRequestApproval
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"
}
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 /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 /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 /tokenize/<chaincodeccid>/status HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*