Token Standard OpenAPI
These are the OpenAPI specifications for the Canton Network Token Standard APIs. See the Daml docs for an overview of the Daml APIs.
Token Metadata Reference
- GET /registry/metadata/v1/info
Get information about the registry. The response includes the standards supported by the registry.
Example request:
GET /registry/metadata/v1/info HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "adminId": "string", "supportedApis": {} }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
Internal server error
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "error": "string" }
- GET /registry/metadata/v1/instruments
List all instruments managed by this instrument admin.
- Query Parameters:
pageSize (integer) – Number of instruments per page.
pageToken (string) – The
nextPageToken
received from the response for the previous page.
Example request:
GET /registry/metadata/v1/instruments HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "instruments": [ { "id": "string", "name": "string", "symbol": "string", "totalSupply": "string", "totalSupplyAsOf": "2025-08-07T09:31:01.421109", "decimals": 1, "supportedApis": {} } ], "nextPageToken": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
Internal server error
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "error": "string" }
- GET /registry/metadata/v1/instruments/{instrumentId}
Retrieve an instrument’s metadata.
- Parameters:
instrumentId (string)
Example request:
GET /registry/metadata/v1/instruments/{instrumentId} HTTP/1.1 Host: example.com
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "id": "string", "name": "string", "symbol": "string", "totalSupply": "string", "totalSupplyAsOf": "2025-08-07T09:31:01.421109", "decimals": 1, "supportedApis": {} }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
Internal server error
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "error": "string" }
Transfer Instruction Reference
- POST /registry/transfer-instruction/v1/transfer-factory
Get the factory and choice context for executing a direct transfer.
Example request:
POST /registry/transfer-instruction/v1/transfer-factory HTTP/1.1 Host: example.com Content-Type: application/json { "choiceArguments": {}, "excludeDebugFields": true }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "factoryId": "string", "transferKind": "self", "choiceContext": { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] } }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
- POST /registry/transfer-instruction/v1/{transferInstructionId}/choice-contexts/accept
Get the choice context to accept a transfer instruction.
- Parameters:
transferInstructionId (string) – The contract ID of the transfer instruction to accept.
Example request:
POST /registry/transfer-instruction/v1/{transferInstructionId}/choice-contexts/accept HTTP/1.1 Host: example.com Content-Type: application/json { "meta": {} }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
- POST /registry/transfer-instruction/v1/{transferInstructionId}/choice-contexts/reject
Get the choice context to reject a transfer instruction.
- Parameters:
transferInstructionId (string) – The contract ID of the transfer instruction to reject.
Example request:
POST /registry/transfer-instruction/v1/{transferInstructionId}/choice-contexts/reject HTTP/1.1 Host: example.com Content-Type: application/json { "meta": {} }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
- POST /registry/transfer-instruction/v1/{transferInstructionId}/choice-contexts/withdraw
Get the choice context to withdraw a transfer instruction.
- Parameters:
transferInstructionId (string) – The contract ID of the transfer instruction to withdraw.
Example request:
POST /registry/transfer-instruction/v1/{transferInstructionId}/choice-contexts/withdraw HTTP/1.1 Host: example.com Content-Type: application/json { "meta": {} }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
Allocation Reference
- POST /registry/allocations/v1/{allocationId}/choice-contexts/execute-transfer
Get the choice context to execute a transfer on an allocation.
- Parameters:
allocationId (string) – The contract ID of the allocation whose transfer the caller wants to execute.
Example request:
POST /registry/allocations/v1/{allocationId}/choice-contexts/execute-transfer HTTP/1.1 Host: example.com Content-Type: application/json { "meta": {} }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
- POST /registry/allocations/v1/{allocationId}/choice-contexts/withdraw
Get the choice context to withdraw an allocation.
- Parameters:
allocationId (string) – The contract ID of the allocation to withdraw.
Example request:
POST /registry/allocations/v1/{allocationId}/choice-contexts/withdraw HTTP/1.1 Host: example.com Content-Type: application/json { "meta": {} }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
- POST /registry/allocations/v1/{allocationId}/choice-contexts/cancel
Get the choice context to cancel an allocation.
- Parameters:
allocationId (string) – The contract ID of the allocation to cancel.
Example request:
POST /registry/allocations/v1/{allocationId}/choice-contexts/cancel HTTP/1.1 Host: example.com Content-Type: application/json { "meta": {} }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
Allocation Instruction Reference
- POST /registry/allocation-instruction/v1/allocation-factory
Get the factory and choice context for creating allocations using the
AllocationFactory_Allocate
choice.Example request:
POST /registry/allocation-instruction/v1/allocation-factory HTTP/1.1 Host: example.com Content-Type: application/json { "choiceArguments": {}, "excludeDebugFields": true }
- Status Codes:
200 OK –
ok
Example response:
HTTP/1.1 200 OK Content-Type: application/json { "factoryId": "string", "choiceContext": { "choiceContextData": {}, "disclosedContracts": [ { "templateId": "string", "contractId": "string", "createdEventBlob": "string", "synchronizerId": "string", "debugPackageName": "string", "debugPayload": {}, "debugCreatedAt": "2025-08-07T09:31:01.421109" } ] } }
bad request
Example response:
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": "string" }
not found
Example response:
HTTP/1.1 404 Not Found Content-Type: application/json { "error": "string" }
Comments