openapi: 3.0.0 info: title: Fireblocks Tokenization API description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) ' version: 1.8.0 contact: email: developers@fireblocks.com servers: - url: https://api.fireblocks.io/v1 description: Fireblocks Production Environment Base URL - url: https://sandbox-api.fireblocks.io/v1 description: Fireblocks Sandbox Environment Base URL security: [] paths: /tokenization/tokens: post: operationId: issueNewToken summary: Issue a new token description: 'Facilitates the creation of a new token, supporting both EVM-based and Stellar/Ripple platforms. For EVM, it deploys the corresponding contract template to the blockchain and links the token to the workspace. For Stellar/Ripple, it links a newly created token directly to the workspace without deploying a contract. Returns the token link with status "PENDING" until the token is deployed or "SUCCESS" if no deployment is needed.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.' parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTokenRequestDto' x-readme: code-samples: - language: javascript code: const token = await fireblocks.issueNewToken(payload); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.tokenization.issueNewToken(tokenizationApiIssueNewTokenRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().issueNewToken(createTokenRequestDto, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.issue_new_token(create_token_request_dto, idempotency_key); name: Fireblocks SDK Python example responses: '201': description: Token was created successfully content: application/json: schema: $ref: '#/components/schemas/TokenLinkDto' '409': description: Asset already exists content: application/json: schema: $ref: '#/components/schemas/AssetAlreadyExistHttpError' tags: - Tokenization x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.issueNewToken(tokenizationApiIssueNewTokenRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().issueNewToken(createTokenRequestDto, idempotencyKey); - lang: Python source: response = fireblocks.tokenization.issue_new_token(create_token_request_dto, idempotency_key); get: operationId: getLinkedTokens summary: List all linked tokens description: 'Return all linked tokens (paginated).
Endpoint Permission: Admin, Non-Signing Admin.' parameters: - name: pageCursor required: false in: query description: Page cursor to get the next page example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA== schema: type: string - name: pageSize required: false in: query description: Number of items per page, requesting more then max will return max items example: 10 schema: minimum: 1 maximum: 100 type: number - name: status required: false in: query description: A comma separated list of statuses to filter. Default is "COMPLETED" example: COMPLETED schema: {} x-readme: code-samples: - language: javascript code: const linkedTokens = await fireblocks.getLinkedTokens(payload); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.tokenization.getLinkedTokens(tokenizationApiGetLinkedTokensRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().getLinkedTokens(pageCursor, pageSize, status); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.get_linked_tokens(page_cursor, page_size, status); name: Fireblocks SDK Python example responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/TokensPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Tokenization x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.getLinkedTokens(tokenizationApiGetLinkedTokensRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().getLinkedTokens(pageCursor, pageSize, status); - lang: Python source: response = fireblocks.tokenization.get_linked_tokens(page_cursor, page_size, status); /tokenization/tokens/link: post: operationId: link summary: Link a contract description: 'Link a contract.
Endpoint Permission: Owner, Admin, Non-Signing Admin, and Signer.' parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TokenLinkRequestDto' responses: '200': description: Token linked successfully content: application/json: schema: $ref: '#/components/schemas/TokenLinkDto' '201': description: '' content: application/json: schema: $ref: '#/components/schemas/TokenLinkDto' '404': description: Could not find the underlying contract to link to '409': description: Token link for {refId} already exists content: application/json: schema: $ref: '#/components/schemas/TokenLinkExistsHttpError' default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.link(tokenizationApiLinkRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().link(tokenLinkRequestDto, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.link(token_link_request_dto, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.link(tokenizationApiLinkRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().link(tokenLinkRequestDto, idempotencyKey); - lang: Python source: response = fireblocks.tokenization.link(token_link_request_dto, idempotency_key); /tokenization/collections: post: operationId: createNewCollection summary: Create a new collection description: 'Create a new collection and link it as a token.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.' parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CollectionDeployRequestDto' responses: '201': description: Collection was created successfully content: application/json: schema: $ref: '#/components/schemas/CollectionLinkDto' default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.createNewCollection(tokenizationApiCreateNewCollectionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().createNewCollection(collectionDeployRequestDto, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.create_new_collection(collection_deploy_request_dto, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.createNewCollection(tokenizationApiCreateNewCollectionRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().createNewCollection(collectionDeployRequestDto, idempotencyKey); - lang: Python source: response = fireblocks.tokenization.create_new_collection(collection_deploy_request_dto, idempotency_key); get: operationId: getLinkedCollections summary: Get collections description: 'Get collections (paginated).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.' parameters: - name: pageCursor required: false in: query description: Page cursor to get the next page, for example - "MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==" schema: type: string - name: pageSize required: false in: query description: Number of items per page (max 100), requesting more then 100 will return 100 items example: 10 schema: minimum: 1 maximum: 100 default: 100 type: number - name: status required: false in: query description: A comma separated list of statuses to filter. Default is "COMPLETED" example: COMPLETED schema: {} responses: '200': description: Collection fetched successfully content: application/json: schema: $ref: '#/components/schemas/GetLinkedCollectionsPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.getLinkedCollections(tokenizationApiGetLinkedCollectionsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().getLinkedCollections(pageCursor, pageSize, status); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.get_linked_collections(page_cursor, page_size, status); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.getLinkedCollections(tokenizationApiGetLinkedCollectionsRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().getLinkedCollections(pageCursor, pageSize, status); - lang: Python source: response = fireblocks.tokenization.get_linked_collections(page_cursor, page_size, status); /tokenization/collections/{id}: get: operationId: getCollectionById summary: Get a collection by id description: 'Get a collection by id.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.' parameters: - name: id required: true in: path description: The token link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb schema: type: string responses: '200': description: Collection fetched successfully content: application/json: schema: $ref: '#/components/schemas/CollectionLinkDto' default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.getCollectionById(tokenizationApiGetCollectionByIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().getCollectionById(id); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.get_collection_by_id(id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.getCollectionById(tokenizationApiGetCollectionByIdRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().getCollectionById(id); - lang: Python source: response = fireblocks.tokenization.get_collection_by_id(id); delete: operationId: unlinkCollection summary: Delete a collection link description: 'Delete a collection link.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.' parameters: - name: id required: true in: path description: The token link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb schema: type: string responses: '204': description: Collection unlinked successfully '404': description: Link for collection does not exist default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.unlinkCollection(tokenizationApiUnlinkCollectionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().unlinkCollection(id); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.unlink_collection(id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.unlinkCollection(tokenizationApiUnlinkCollectionRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().unlinkCollection(id); - lang: Python source: response = fireblocks.tokenization.unlink_collection(id); /tokenization/collections/{id}/tokens/{tokenId}: get: operationId: fetchCollectionTokenDetails summary: Get collection token details description: 'Get collection token details by id.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.' parameters: - name: id required: true in: path description: The collection link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb schema: type: string - name: tokenId required: true in: path description: The tokenId as it appears on the blockchain example: '1' schema: type: string responses: '200': description: Collection token details were fetched successfully content: application/json: schema: $ref: '#/components/schemas/CollectionLinkDto' default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.fetchCollectionTokenDetails(tokenizationApiFetchCollectionTokenDetailsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().fetchCollectionTokenDetails(id, tokenId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.fetch_collection_token_details(id, token_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.fetchCollectionTokenDetails(tokenizationApiFetchCollectionTokenDetailsRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().fetchCollectionTokenDetails(id, tokenId); - lang: Python source: response = fireblocks.tokenization.fetch_collection_token_details(id, token_id); /tokenization/collections/{id}/tokens/mint: post: operationId: mintCollectionToken summary: Mint tokens description: 'Mint tokens and upload metadata. This endpoint only works for NFTs using the ERC721f and ERC1155f standards.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor.' parameters: - name: id required: true in: path description: The token link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CollectionMintRequestDto' responses: '202': description: Tokens minted successfully content: application/json: schema: $ref: '#/components/schemas/CollectionMintResponseDto' default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.mintCollectionToken(tokenizationApiMintCollectionTokenRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().mintCollectionToken(collectionMintRequestDto, id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.mint_collection_token(collection_mint_request_dto, id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.mintCollectionToken(tokenizationApiMintCollectionTokenRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().mintCollectionToken(collectionMintRequestDto, id, idempotencyKey); - lang: Python source: response = fireblocks.tokenization.mint_collection_token(collection_mint_request_dto, id, idempotency_key); /tokenization/collections/{id}/tokens/burn: post: operationId: burnCollectionToken summary: Burn tokens description: 'Burn tokens in a collection.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.' parameters: - name: id required: true in: path description: The collection link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CollectionBurnRequestDto' responses: '202': description: Tokens burned successfully content: application/json: schema: $ref: '#/components/schemas/CollectionBurnResponseDto' default: $ref: '#/components/responses/Error' tags: - Tokenization x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.tokenization.burnCollectionToken(tokenizationApiBurnCollectionTokenRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().burnCollectionToken(collectionBurnRequestDto, id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.burn_collection_token(collection_burn_request_dto, id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.burnCollectionToken(tokenizationApiBurnCollectionTokenRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().burnCollectionToken(collectionBurnRequestDto, id, idempotencyKey); - lang: Python source: response = fireblocks.tokenization.burn_collection_token(collection_burn_request_dto, id, idempotency_key); /tokenization/tokens/{id}: delete: operationId: unlink summary: Unlink a token description: 'Unlink a token. The token will be unlinked from the workspace. The token will not be deleted on chain nor the refId, only the link to the workspace will be removed.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.' parameters: - name: id required: true in: path description: The token link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb schema: type: string x-readme: code-samples: - language: javascript code: const token = await fireblocks.unlinkToken(tokenId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.tokenization.unlink(tokenizationApiUnlinkRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().unlink(id); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.unlink(id); name: Fireblocks SDK Python example responses: '200': description: Token unlinked successfully content: {} '204': description: '' content: {} '404': description: Link did not exist content: application/json: schema: $ref: '#/components/schemas/NotFoundException' default: $ref: '#/components/responses/Error' tags: - Tokenization x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.unlink(tokenizationApiUnlinkRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().unlink(id); - lang: Python source: response = fireblocks.tokenization.unlink(id); get: operationId: getLinkedToken summary: Return a linked token description: 'Return a linked token, with its status and metadata.
Endpoint Permission: Admin, Non-Signing Admin.' parameters: - name: id required: true in: path description: The token link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb schema: type: string x-readme: code-samples: - language: javascript code: const token = await fireblocks.getLinkedToken(tokenId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.tokenization.getLinkedToken(tokenizationApiGetLinkedTokenRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.tokenization().getLinkedToken(id); name: Fireblocks SDK Java example - language: python code: response = fireblocks.tokenization.get_linked_token(id); name: Fireblocks SDK Python example responses: '200': description: Token fetched successfully content: application/json: schema: $ref: '#/components/schemas/TokenLinkDto' default: $ref: '#/components/responses/Error' tags: - Tokenization x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.tokenization.getLinkedToken(tokenizationApiGetLinkedTokenRequest);' - lang: Java source: CompletableFuture> response = fireblocks.tokenization().getLinkedToken(id); - lang: Python source: response = fireblocks.tokenization.get_linked_token(id); components: schemas: AssetAlreadyExistHttpError: type: object properties: statusCode: type: integer format: int32 description: HTTP status code example: 409 message: type: string description: Error message error: type: string description: Short description of the HTTP error example: Conflict AssetMetadataDto: type: object properties: assetId: type: string description: The Fireblocks` asset id example: BQ5R_MY_TOKEN name: type: string description: The name of the token example: MyToken symbol: type: string description: The symbol of the token example: MYT networkProtocol: type: string description: The network protocol of the token example: ETH totalSupply: type: string description: The total supply of the token example: '1000000000000000' holdersCount: type: number description: The number of holders of the token example: '6' type: type: string description: The type of the token example: ERC20 contractAddress: type: string description: The address of the token contract example: '0x1234567890abcdef1234567890abcdef12345678' issuerAddress: type: string description: In case of Stellar or Ripple, the address of the issuer of the token example: rGyXjc5d7s17vvt3NtKKascvJrnSxV21kQ testnet: type: boolean description: Is it deployed on testnet or to mainnet example: true blockchain: type: string description: The blockchain native asset id which the token is deployed on example: ETH_TEST5 decimals: type: number description: The number of decimals of the token example: 18 vaultAccountId: type: string description: The id of the vault account that initiated the request to issue the token. Will be empty if token was issued outside of Fireblocks. example: '0' required: - assetId CollectionBurnRequestDto: type: object properties: vaultAccountId: type: string description: The id of the vault account that initiates the burn function example: '0' tokenId: type: string description: The token id example: '1' amount: type: string description: For ERC721, amount is optional or should always be 1 and for ERC1155, amount should be 1 or greater example: '1' required: - vaultAccountId - tokenId CollectionBurnResponseDto: type: object properties: txId: type: string description: Transaction Id for the burn operation example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb required: - txId CollectionDeployRequestDto: type: object properties: baseAssetId: type: string example: ETH description: The blockchain base assetId vaultAccountId: type: string example: '0' description: The id of the vault account that initiated the request to issue the token type: allOf: - $ref: '#/components/schemas/CollectionType' example: NON_FUNGIBLE_TOKEN name: type: string example: DigitalArtTokens description: A string that represents the name of the collection symbol: type: string example: DAT description: A string that represents the symbol of the collection adminAddress: type: string example: '0x5503766D27d1ED4525f5053222E18b29C38eDdB2' description: The EVM address of the user that will be set as the admin user of the collection displayName: type: string example: DigitalArtTokens description: A string to display as a name of the collection required: - baseAssetId - vaultAccountId - type - name - symbol - adminAddress CollectionLinkDto: type: object properties: id: type: string description: The collection id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb status: enum: - PENDING - COMPLETED type: string description: The collection status example: COMPLETED type: allOf: - $ref: '#/components/schemas/CollectionType' example: NON_FUNGIBLE_TOKEN displayName: type: string description: The display name of the collection. If was not provided, would be taken from the contract template example: My Simple ERC721 Collection collectionMetadata: description: The collection's metadata allOf: - $ref: '#/components/schemas/CollectionMetadataDto' required: - id - status - type CollectionMetadataDto: type: object properties: fbCollectionId: type: string description: Fireblocks collection id example: 911fe739f0d4d123c98fd366c3bed35c6e30c00e name: type: string description: Collection name example: Rarible symbol: type: string description: Collection symbol example: RARI standard: type: string description: Collection contract standard example: ERC721 blockchainDescriptor: type: string description: Collection's blockchain example: ETH_TEST5 contractAddress: type: string description: Collection contract address example: '0x1723017329a804564bC8d215496C89eaBf1F3211' required: - fbCollectionId - blockchainDescriptor CollectionMintRequestDto: type: object properties: vaultAccountId: type: string description: The id of the vault account that initiates the mint function. example: '0' to: type: string example: '0x5503766D27d1ED4525f5053222E18b29C38eDdB2' description: 'The EVM address to mint to ' tokenId: type: string description: The token id, recommended to have numerical format and in sequential order example: '1' amount: type: string description: For ERC721, amount is optional or should always be 1 and for ERC1155, amount should be 1 or greater example: '1' metadataURI: type: string description: URL of metadata uploaded, skip uploading to IPFS if this field is provided with any value example: ipfs://QmP4P6f7mDHzikhdwLBVSCxCPEgmjwcWSVBHbtSyfBYzBC metadata: description: Metadata to upload example: name: MYTOKEN description: description of MYTOKEN allOf: - $ref: '#/components/schemas/CollectionTokenMetadataDto' required: - vaultAccountId - to - tokenId CollectionMintResponseDto: type: object properties: txId: type: string description: Transaction Id for the mint operation example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb required: - txId CollectionTokenMetadataAttributeDto: type: object properties: trait_type: type: string description: Name of the trait example: project_start value: type: string description: Value of the trait example: 30102000 display_type: type: string description: A field indicating how you would like trait to be displayed example: date required: - trait_type - value CollectionTokenMetadataDto: type: object properties: name: type: string description: Token's name example: DigitalArtTokens description: type: string description: Token's description example: Digital representation of a piece of art image: type: string description: Token's image URL example: https://some_domain.com/image_filepath animation_url: type: string description: Token's animation URL example: https://some_domain.com/gif_filepath external_url: type: string description: Token's external URL example: https://some_domain.com/blob_filepath attributes: description: Token's metadata attributes type: array items: $ref: '#/components/schemas/CollectionTokenMetadataAttributeDto' required: - name - description CollectionType: type: string description: The type of collection enum: - NON_FUNGIBLE_TOKEN - SEMI_FUNGIBLE_TOKEN ContractMetadataDto: type: object properties: id: type: string description: The deployed contract ID example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb baseAssetId: type: string description: The blockchain base asset ID example: ETH contractAddress: type: string description: The address of the token contract example: '0x1234567890abcdef1234567890abcdef12345678' contractTemplateId: type: string description: The contract template ID example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d vaultAccountId: type: string description: The vault account ID that initiated the request to issue the token example: '0' required: - id - baseAssetId - contractAddress - contractTemplateId CreateTokenRequestDto: type: object properties: blockchainId: type: string example: B7QG017M description: The id of the blockchain the request was initiated on assetId: type: string example: ETH_TEST5 description: The base asset identifier of the blockchain you want to deploy to vaultAccountId: type: string example: '0' description: The id of the vault account that initiated the request to issue the token createParams: oneOf: - $ref: '#/components/schemas/EVMTokenCreateParamsDto' - $ref: '#/components/schemas/StellarRippleCreateParamsDto' - $ref: '#/components/schemas/SolanaSimpleCreateParams' displayName: type: string useGasless: type: boolean example: false description: Indicates whether the token should be created in a gasless manner, utilizing the ERC-2771 standard. When set to true, the transaction will be relayed by a designated relayer. The workspace must be configured to use Fireblocks gasless relay. fee: type: string description: Max fee amount for the write function transaction. interchangeable with the 'feeLevel' field example: '2000' feeLevel: enum: - LOW - MEDIUM - HIGH type: string description: Fee level for the write function transaction. interchangeable with the 'fee' field example: MEDIUM required: - vaultAccountId - createParams EVMTokenCreateParamsDto: type: object properties: contractId: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The id of the contract template that will be used to create the token deployFunctionParams: example: - internalType: string name: name type: string value: name - internalType: string name: symbol type: string value: symbol - components: - internalType: bool name: _isMintable type: bool internalType: struct MyStruct name: customConfigProps type: tuple value: - internalType: bool name: _isMintable type: bool value: false description: The deploy function parameters and values of the contract template type: array items: $ref: '#/components/schemas/ParameterWithValue' required: - contractId GetLinkedCollectionsPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/CollectionLinkDto' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true LeanAbiFunction: type: object properties: name: type: string example: initialize description: The function name inputs: description: The function inputs type: array items: $ref: '#/components/schemas/ParameterWithValue' required: - inputs NotFoundException: type: object properties: statusCode: type: integer format: int32 description: HTTP status code example: 404 message: type: string description: Error message error: type: string description: Short description of the HTTP error example: Not Found Parameter: type: object properties: name: type: string example: _name description: The name of the parameter as it appears in the ABI description: type: string example: The name of the token description: A description of the parameter, fetched from the devdoc of this contract internalType: type: string example: string description: The internal type of the parameter as it appears in the ABI type: type: string example: string description: The type of the parameter as it appears in the ABI components: type: array description: "In case it\u2019s a struct, it will hold the struct data" required: - name - type ParameterWithValue: type: object properties: name: type: string example: Some Name description: The name of the parameter as it appears in the ABI description: type: string example: The name of the token description: A description of the parameter, fetched from the devdoc of this contract internalType: type: string example: string description: The internal type of the parameter as it appears in the ABI type: type: string example: string description: The type of the parameter as it appears in the ABI components: type: array items: $ref: '#/components/schemas/Parameter' value: example: 'true' description: The value of the parameter. can also be ParameterWithValue type: string functionValue: description: The function value of this param (if has one). If this is set, the `value` shouldn`t be. Used for proxies allOf: - $ref: '#/components/schemas/LeanAbiFunction' required: - name - type SolanaSimpleCreateParams: type: object properties: name: type: string description: The name of the token or asset being created. example: SolanaToken symbol: type: string description: The symbol for the token, typically an abbreviated representation. example: SOL decimals: type: integer description: The number of decimal places the token supports (e.g., 9 for typical Solana tokens). example: 9 required: - name - symbol - decimals StellarRippleCreateParamsDto: type: object properties: symbol: type: string example: MyUSDT description: The symbol of the token name: type: string example: My USD Tether description: The name of the token issuerAddress: type: string example: rnDV4JiwgRNhudPY2sm65AzECpRXaasL4r description: The address of the issuer of this token. Will be part of the identifier of this token on chain. required: - symbol - name - issuerAddress TokenLinkDto: type: object properties: id: type: string description: The token link id example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb status: enum: - PENDING - COMPLETED type: string description: The token status example: COMPLETED type: enum: - FUNGIBLE_TOKEN - NON_FUNGIBLE_TOKEN - TOKEN_UTILITY - TOKEN_EXTENSION type: string description: The type of token example: NON_FUNGIBLE_TOKEN refId: type: string description: The Fireblocks' reference id example: BQ5R_MY_TOKEN displayName: type: string description: The token display name. If was not provided, would be taken from the contract template example: My Simple ERC20 Token tokenMetadata: description: The token's metadata oneOf: - $ref: '#/components/schemas/AssetMetadataDto' - $ref: '#/components/schemas/CollectionMetadataDto' - $ref: '#/components/schemas/ContractMetadataDto' required: - id - status TokenLinkExistsHttpError: type: object properties: statusCode: type: integer format: int32 description: HTTP status code example: 409 message: type: string description: Error message error: type: string description: Short description of the HTTP error example: Conflict TokenLinkRequestDto: type: object properties: type: enum: - FUNGIBLE_TOKEN - NON_FUNGIBLE_TOKEN - TOKEN_UTILITY - TOKEN_EXTENSION type: string description: The type of token being linked refId: type: string description: "The Fireblocks' token link reference id. For example, 'BQ5R_BDESC_ABC' if it's a fungible \n\t\t\t\ \t\tasset" example: USDC_ETH_TEST5_1XF5 displayName: type: string description: The token display name example: My Simple ERC20 Token baseAssetId: type: string description: The blockchain base assetId example: ETH_TEST5 contractAddress: type: string description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' required: - type TokensPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/TokenLinkDto' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data securitySchemes: bearerTokenAuth: type: http scheme: bearer bearerFormat: JWT ApiKeyAuth: type: apiKey in: header name: X-API-Key parameters: X-Idempotency-Key: name: Idempotency-Key in: header description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. required: false schema: type: string example: some-unique-id X-End-User-Wallet-Id: name: X-End-User-Wallet-Id in: header description: Unique ID of the End-User wallet to the API request. Required for end-user wallet operations. required: false schema: type: string format: uuid example: bd53b580-f69d-4ff9-ba9b-71ef02aaee13 responses: Error: description: Error Response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema'