REST API

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.

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
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"
  }
}
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
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
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
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
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
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"
}
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
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
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
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
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
    }
  ]
}

Asset Ownership

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
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"
  }
}
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
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
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
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"
}
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
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
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
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
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"
      }
    }
  ]
}

Approval

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
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"
  }
}
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
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
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
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
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"
}
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
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
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
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


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.

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
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

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
get
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

Bodyobject[]
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
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

Bodyobject[]
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
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

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
GET /tokenize/<chaincodeccid>/token/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
200

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
      }
    }
  ]
}
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

Bodyobject[]
idstringRequired

Id of the token.

Example: 87be83f3e225f9cc9b03e50b
Responses
200
Token permissions updated.
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

Bodyobject[]
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
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

Bodyobject[]
idstringRequired

Id of the token.

Example: 87be83f3e225f9cc9b03e50b
Responses
200
Token owners updated.
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

Bodyobject[]
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
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

Bodyobject[]
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
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

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
get
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-07-12T10:16:40.584Z",
  "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

Bodyobject[]
tokenIdstringOptional

The token ID

Example: RealtyToken
Responses
200
Account found.
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-07-12T10:16:40.584Z",
    "createdBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    },
    "updatedBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  }
]
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
get
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-07-12T10:16:40.584Z",
  "updatedAt": "2025-07-12T10:16:40.584Z",
  "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

Bodyobject[]
tokenIdstringOptional

The token ID

Example: RealtyToken
Responses
200
transaction details found.
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-07-12T10:16:40.584Z",
    "updatedAt": "2025-07-12T10:16:40.584Z",
    "createdBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    },
    "updatedBy": {
      "orgId": "63c912fd5902d6c20ac43c89",
      "userId": "123"
    }
  }
]


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.

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
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
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
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
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
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
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
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"
}


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.

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
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

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
get
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

Bodyobject[]
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
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

Bodyobject[]
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
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

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
GET /tokenize/<chaincodeccid>/token/vault/all HTTP/1.1
Host: <networkorgid>.<publicdomain>
X-API-KEY: YOUR_API_KEY
Accept: */*
200

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"
    }
  }
]
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

Bodyobject[]
idstringRequired

Unique identifier of the vault.

Example: RealEstateVault
Responses
200
Vault created.
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

Bodyobject[]
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
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

Bodyobject[]
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
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

Bodyobject[]
vaultIdstringRequired

Unique vault Id to which asset is to be deposited.

Example: RealEstateVault
Responses
200
Deposit Assets succeeded.
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

Bodyobject[]
vaultIdstringRequired

Existing VaultId from which assets need to be withdrawn.

Example: RealEstateVault
Responses
200
Withdraw Assets succeeded.
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

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
get
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

Bodyobject[]
vaultIdstringRequired

Existing vault Id.

Example: RealEstateVault
Responses
200
Update Successful
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

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

Last updated

Was this helpful?