openapi: 3.0.0 info: title: Fireblocks 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 paths: /vault/accounts: get: x-internal: true deprecated: true summary: Get vault accounts description: >- DEPRECATED - Please use `/vault/accounts_paged` endpoint instead.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: vault_accounts = fireblocks.get_vault_accounts() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const vaultAccounts = await fireblocks.getVaultAccounts(); name: Fireblocks SDK Javascript example parameters: - in: query name: namePrefix required: false schema: type: string - in: query name: nameSuffix required: false schema: type: string - in: query name: minAmountThreshold required: false schema: type: number - in: query name: assetId required: false schema: type: string x-fb-entity: asset responses: '200': description: A list of vault accounts headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetVaultAccountsResponse' default: $ref: '#/components/responses/Error' operationId: getVaultAccounts post: summary: Create a new vault account operationId: createVaultAccount description: >- Creates a new vault account with the requested name. **Note: ** Vault account names should consist of ASCII characters only. Learn more about Fireblocks Vault Accounts in the following [guide](https://developers.fireblocks.com/reference/create-vault-account).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAccount = fireblocks.create_vault_account(name, hiddenOnUI, # customer_ref_id, auto_fueling) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAccount = await fireblocks.createVaultAccount(name, hiddenOnUI, customerRefId, autoFueling); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.createVaultAccount(vaultsApiCreateVaultAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().createVaultAccount(createVaultAccountRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.create_vault_account(create_vault_account_request, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateVaultAccountRequest' responses: '200': description: A Vault Account object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultAccount' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.createVaultAccount(vaultsApiCreateVaultAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().createVaultAccount(createVaultAccountRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.create_vault_account(create_vault_account_request, idempotency_key); /vault/accounts/addresses/bulk: post: operationId: createMultipleDepositAddresses summary: Bulk creation of new deposit addresses description: | - **For UTXO blockchains only.** - **This endpoint is currently in beta mode and may be subject to change. To learn more, contact your Fireblocks Customer Success Manager or email csm@fireblocks.com.** Create multiple deposit addresses by running an async job. - The target Vault account should already have a UTXO asset wallet with a permanent address. - Limited to a maximum of 10,000 addresses per operation. Use multiple operations for the same Vault account/permanent address if needed. **Endpoint Permissions:** Admin, Non-Signing Admin. tags: - Vaults parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateMultipleDepositAddressesRequest' responses: "200": description: A JobCreated object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/JobCreated' default: $ref: '#/components/responses/Error' /vault/accounts/addresses/bulk/{jobId}: get: summary: Get the job status of the bulk deposit address creation description: | Returns the current status of (or an error for) the specified deposit addresss bulk creation job. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, and Viewer. tags: - Vaults parameters: - in: path name: jobId required: true description: The ID of the job to create addresses schema: type: string example: 019681b4-107d-7243-942d-4c3c30e36fae responses: "200": description: A Job with status headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateMultipleDepositAddressesJobStatus' default: $ref: '#/components/responses/Error' operationId: getCreateMultipleDepositAddressesJobStatus /vault/accounts/bulk/: post: operationId: createMultipleAccounts summary: Bulk creation of new vault accounts description: | - **This endpoint is currently in Early Availability (EA) mode and may be subject to change. To learn more, contact your Fireblocks Customer Success Manager or email csm@fireblocks.com.** Create multiple vault accounts by running an async job. - The HBAR, TON, SUI, TERRA, ALGO, and DOT blockchains are not supported. - Limited to a maximum of 10,000 accounts per operation. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateMultipleAccountsRequest' responses: "200": description: A JobCreated object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/JobCreated' default: $ref: '#/components/responses/Error' /vault/accounts/bulk/{jobId}: get: summary: Get job status of bulk creation of new vault accounts description: | Returns the current status of (or error for) the specified vault account bulk creation job. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-rate-limit-category: async parameters: - in: path name: jobId required: true description: The ID of the job to create addresses schema: type: string example: 019681b4-107d-7243-942d-4c3c30e36fae responses: "200": description: A Job with status headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateMultipleVaultAccountsJobStatus' default: $ref: '#/components/responses/Error' operationId: getCreateMultipleVaultAccountsJobStatus /vault/accounts/attached_tags: post: summary: Attach or detach tags from vault accounts description: | Attach or detach one or more tags from the requested vault accounts. **Endpoint Permissions:** - For protected tags: Owner, Admin, Non-Signing Admin. - For non protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver. tags: - Vaults x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VaultAccountsTagAttachmentOperationsRequest' responses: "200": description: Tags were attached/detached successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultAccountsTagAttachmentOperationsResponse' "400": description: | - Invalid request parameters. - Same tag ID is provided in both tagIdsToAttach and tagIdsToDetach. - Vault accounts are archived. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema' "404": description: | - Tags with the requested ID not found. - Vault accounts with the requested ID not found. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema' operationId: attachOrDetachTagsFromVaultAccounts /vault/accounts_paged: get: summary: Get vault accounts (Paginated) description: | Retrieves a paginated list of all vault accounts in your workspace matching your query's criteria. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vault_accounts = # fireblocks.get_vault_accounts_with_page_info(filters) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAccounts = await fireblocks.getVaultAccountsWithPageInfo(filters); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getPagedVaultAccounts(vaultsApiGetPagedVaultAccountsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getPagedVaultAccounts(namePrefix, nameSuffix, minAmountThreshold, assetId, orderBy, before, after, limit); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_paged_vault_accounts(name_prefix, name_suffix, min_amount_threshold, asset_id, order_by, before, after, limit); name: Fireblocks SDK Python example parameters: - in: query name: namePrefix required: false schema: type: string example: MyVaultPrefix - in: query name: nameSuffix required: false schema: type: string example: MyVaultSuffix - in: query name: minAmountThreshold required: false description: >- Specifying minAmountThreshold will filter accounts with balances greater than this value, otherwise, it will return all accounts. The amount set in this parameter is the native asset amount and not its USD value. schema: type: number example: 10 - in: query name: assetId required: false schema: type: string x-fb-entity: asset example: ETH - in: query name: orderBy required: false schema: type: string enum: - ASC - DESC default: DESC - in: query name: before required: false schema: type: string example: c3RhcnRpbmdWYXVsdElkeD04NTgzNzA2Mw== - in: query name: after required: false schema: type: string example: c3RhcnRpbmdWYXVsdElkeD01NTM1NzUzNg== - in: query name: limit required: false schema: type: number minimum: 1 maximum: 500 default: 200 - in: query name: tagIds required: false description: List of tag IDs to filter vault accounts. schema: type: array items: type: string format: uuid maxItems: 100 responses: '200': description: A VaultAccountsPagedResponse object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultAccountsPagedResponse' operationId: getPagedVaultAccounts x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getPagedVaultAccounts(vaultsApiGetPagedVaultAccountsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getPagedVaultAccounts(namePrefix, nameSuffix, minAmountThreshold, assetId, orderBy, before, after, limit); - lang: Python source: >- response = fireblocks.vaults.get_paged_vault_accounts(name_prefix, name_suffix, min_amount_threshold, asset_id, order_by, before, after, limit); /vault/accounts/{vaultAccountId}: get: summary: Get a vault account by ID description: >- Get a vault account by its unique ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: vault_account = fireblocks.get_vault_account(vault_account_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAccount = await fireblocks.getVaultAccount(vault_account_id); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getVaultAccount(vaultsApiGetVaultAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getVaultAccount(vaultAccountId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.vaults.get_vault_account(vault_account_id); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' responses: '200': description: A Vault Account object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultAccount' default: $ref: '#/components/responses/Error' operationId: getVaultAccount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getVaultAccount(vaultsApiGetVaultAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getVaultAccount(vaultAccountId); - lang: Python source: response = fireblocks.vaults.get_vault_account(vault_account_id); put: summary: Rename a vault account description: >- Renames the requested vault account.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAccount = fireblocks.update_vault_account(vault_account_id, # name) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAccount = await fireblocks.updateVaultAccount(vautlAccountId, name); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.updateVaultAccount(vaultsApiUpdateVaultAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().updateVaultAccount(updateVaultAccountRequest, vaultAccountId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.update_vault_account(update_vault_account_request, vault_account_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateVaultAccountRequest' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/RenameVaultAccountResponse' default: $ref: '#/components/responses/Error' operationId: updateVaultAccount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.updateVaultAccount(vaultsApiUpdateVaultAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().updateVaultAccount(updateVaultAccountRequest, vaultAccountId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.update_vault_account(update_vault_account_request, vault_account_id, idempotency_key); /vault/asset_wallets: get: summary: Get vault wallets (Paginated) description: >- Get all vault wallets of the vault accounts in your workspace. A vault wallet is an asset in a vault account. This method allows fast traversal of all account balances.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: vault_accounts = fireblocks.get_asset_wallets(filters) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const vaultAccounts = await fireblocks.getAssetWallets(filters); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getAssetWallets(vaultsApiGetAssetWalletsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getAssetWallets(totalAmountLargerThan, assetId, orderBy, before, after, limit); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_asset_wallets(total_amount_larger_than, asset_id, order_by, before, after, limit); name: Fireblocks SDK Python example parameters: - in: query name: totalAmountLargerThan description: >- When specified, only vault wallets with total balance greater than this amount are returned. required: false schema: type: number example: 14 - in: query name: assetId required: false description: >- When specified, only vault wallets with the specified ID are returned. schema: type: string x-fb-entity: asset example: ETH - in: query name: orderBy required: false schema: type: string enum: - ASC - DESC default: DESC - in: query name: before required: false description: > Fetches the next paginated response before this element. This element is a cursor and is returned at the response of the previous page. schema: type: string example: c3RhcnRpbmdWYXVsdElkeD04NTgzNzA2Mw - in: query name: after required: false description: >- Fetches the next paginated response after this element. This element is a cursor and is returned at the response of the previous page. schema: type: string example: c3RhcnRpbmdWYXVsdElkeD01NTM1NzUzNg - in: query name: limit required: false description: | The maximum number of vault wallets in a single response. The default is 200 and the maximum is 1000. schema: type: number minimum: 1 maximum: 1000 default: 200 responses: '200': description: A PaginatedAssetWalletResponse object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PaginatedAssetWalletResponse' operationId: getAssetWallets x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getAssetWallets(vaultsApiGetAssetWalletsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getAssetWallets(totalAmountLargerThan, assetId, orderBy, before, after, limit); - lang: Python source: >- response = fireblocks.vaults.get_asset_wallets(total_amount_larger_than, asset_id, order_by, before, after, limit); /vault/accounts/{vaultAccountId}/hide: post: summary: Hide a vault account in the console description: >- Hides the requested vault account from the web console view. This operation is required when creating thousands of vault accounts to serve your end-users. Used for preventing the web console to be swamped with too much vault accounts. Learn more in the following [guide](https://developers.fireblocks.com/docs/create-direct-custody-wallets#hiding-vault-accounts). NOTE: Hiding the vault account from the web console will also hide all the related transactions to/from this vault.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults x-readme: code-samples: # - language: python # code: vaultAsset = fireblocks.hide_vault_account(vault_account_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.hideVaultAccount(vaultAccountId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.hideVaultAccount(vaultsApiHideVaultAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().hideVaultAccount(vaultAccountId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.hide_vault_account(vault_account_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The vault account to hide schema: type: string format: numeric x-fb-entity: vault_account example: '0' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultActionStatus' default: $ref: '#/components/responses/Error' operationId: hideVaultAccount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.hideVaultAccount(vaultsApiHideVaultAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().hideVaultAccount(vaultAccountId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.hide_vault_account(vault_account_id, idempotency_key); /vault/accounts/{vaultAccountId}/unhide: post: summary: Unhide a vault account in the console description: >- Makes a hidden vault account visible in web console view.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults x-readme: code-samples: # - language: python # code: vaultAsset = fireblocks.unhide_vault_account(vault_account_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.unhideVaultAccount(vaultAccountId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.unhideVaultAccount(vaultsApiUnhideVaultAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().unhideVaultAccount(vaultAccountId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.unhide_vault_account(vault_account_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The vault account to unhide schema: type: string format: numeric x-fb-entity: vault_account example: '0' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultActionStatus' default: $ref: '#/components/responses/Error' operationId: unhideVaultAccount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.unhideVaultAccount(vaultsApiUnhideVaultAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().unhideVaultAccount(vaultAccountId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.unhide_vault_account(vault_account_id, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}/activate: post: summary: Activate a wallet in a vault account description: >- Initiates activation for a wallet in a vault account. Activation is required for tokens that need an on-chain transaction for creation (XLM tokens, SOL tokens etc).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.vaults.activateAssetForVaultAccount(vaultsApiActivateAssetForVaultAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().activateAssetForVaultAccount(vaultAccountId, assetId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.activate_asset_for_vault_account(vault_account_id, asset_id, idempotency_key); name: Fireblocks SDK Python example tags: - Vaults parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: SOL_USDC_PTHX - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateVaultAssetResponse' default: $ref: '#/components/responses/Error' operationId: activateAssetForVaultAccount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.activateAssetForVaultAccount(vaultsApiActivateAssetForVaultAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().activateAssetForVaultAccount(vaultAccountId, assetId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.activate_asset_for_vault_account(vault_account_id, asset_id, idempotency_key); /vault/accounts/{vaultAccountId}/set_customer_ref_id: post: summary: Set an AML/KYT ID for a vault account description: >- Assigns an AML/KYT customer reference ID for the vault account. Learn more about Fireblocks AML management in the following [guide](https://developers.fireblocks.com/docs/define-aml-policies).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAsset = # fireblocks.set_vault_account_customer_ref_id(vault_account_id, # customer_ref_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.setCustomerRefIdForVaultAccount(vaultAccountId, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.setVaultAccountCustomerRefId(vaultsApiSetVaultAccountCustomerRefIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().setVaultAccountCustomerRefId(setCustomerRefIdRequest, vaultAccountId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.set_vault_account_customer_ref_id(set_customer_ref_id_request, vault_account_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The vault account ID schema: type: string format: numeric x-fb-entity: vault_account example: '0' - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetCustomerRefIdRequest' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultActionStatus' default: $ref: '#/components/responses/Error' operationId: setVaultAccountCustomerRefId x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.setVaultAccountCustomerRefId(vaultsApiSetVaultAccountCustomerRefIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().setVaultAccountCustomerRefId(setCustomerRefIdRequest, vaultAccountId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.set_vault_account_customer_ref_id(set_customer_ref_id_request, vault_account_id, idempotency_key); /vault/accounts/{vaultAccountId}/set_auto_fuel: post: summary: Set auto fueling to on or off description: >- Toggles the auto fueling property of the vault account to enabled or disabled. Vault Accounts with 'autoFuel=true' are monitored and auto fueled by the Fireblocks Gas Station. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.vaults.setVaultAccountAutoFuel(vaultsApiSetVaultAccountAutoFuelRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().setVaultAccountAutoFuel(setAutoFuelRequest, vaultAccountId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.set_vault_account_auto_fuel(set_auto_fuel_request, vault_account_id, idempotency_key); name: Fireblocks SDK Python example tags: - Vaults parameters: - in: path name: vaultAccountId required: true description: The vault account ID schema: type: string format: numeric x-fb-entity: vault_account example: '0' - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetAutoFuelRequest' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultActionStatus' default: $ref: '#/components/responses/Error' operationId: setVaultAccountAutoFuel x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.setVaultAccountAutoFuel(vaultsApiSetVaultAccountAutoFuelRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().setVaultAccountAutoFuel(setAutoFuelRequest, vaultAccountId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.set_vault_account_auto_fuel(set_auto_fuel_request, vault_account_id, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}: get: summary: Get the asset balance for a vault account description: |- Returns a specific vault wallet balance information for a specific asset.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAsset = fireblocks.get_vault_account_asset(vault_account_id, # asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.getVaultAccountAsset(vaultAccountId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getVaultAccountAsset(vaultsApiGetVaultAccountAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getVaultAccountAsset(vaultAccountId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_vault_account_asset(vault_account_id, asset_id); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC responses: '200': description: A VaultAsset object content: application/json: schema: $ref: '#/components/schemas/VaultAsset' default: $ref: '#/components/responses/Error' operationId: getVaultAccountAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getVaultAccountAsset(vaultsApiGetVaultAccountAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getVaultAccountAsset(vaultAccountId, assetId); - lang: Python source: >- response = fireblocks.vaults.get_vault_account_asset(vault_account_id, asset_id); post: summary: Create a new vault wallet description: >- Creates a wallet for a specific asset in a vault account. Learn more about Fireblocks Vault Wallets in the following [guide](https://developers.fireblocks.com/reference/create-vault-wallet).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAsset = fireblocks.create_vault_asset(vault_account_id, # asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.createVaultAsset(vaultAccountId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.createVaultAccountAsset(vaultsApiCreateVaultAccountAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().createVaultAccountAsset(vaultAccountId, assetId, createAssetsRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.create_vault_account_asset(vault_account_id, asset_id, create_assets_request, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: >- The ID of the vault account to return, or 'default' for the default vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAssetsRequest' responses: '200': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateVaultAssetResponse' default: $ref: '#/components/responses/Error' operationId: createVaultAccountAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.createVaultAccountAsset(vaultsApiCreateVaultAccountAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().createVaultAccountAsset(vaultAccountId, assetId, createAssetsRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.create_vault_account_asset(vault_account_id, asset_id, create_assets_request, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}/balance: post: summary: Refresh asset balance data description: |- Updates the balance of a specific asset in a vault account. This API endpoint is subject to a strict rate limit. Should be used by clients in very specific scenarios.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAsset = # fireblocks.refresh_vault_asset_balance(vault_account_id, asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.refreshVaultAssetBalance(vaultAccountId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.updateVaultAccountAssetBalance(vaultsApiUpdateVaultAccountAssetBalanceRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().updateVaultAccountAssetBalance(vaultAccountId, assetId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.update_vault_account_asset_balance(vault_account_id, asset_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account to return schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A VaultAsset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultAsset' default: $ref: '#/components/responses/Error' operationId: updateVaultAccountAssetBalance x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.updateVaultAccountAssetBalance(vaultsApiUpdateVaultAccountAssetBalanceRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().updateVaultAccountAssetBalance(vaultAccountId, assetId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.update_vault_account_asset_balance(vault_account_id, asset_id, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}/addresses: get: deprecated: true summary: Get asset addresses description: >- DEPRECATED! - If your application logic or scripts rely on the deprecated endpoint, you should update to account for GET/V1/vault/accounts/{vaultAccountId}/{assetId}/addresses_paginated before Mar 31,2024. - All workspaces created after Mar 31,2024. will have it disabled. If it is disabled for your workspace and you attempt to use it, you will receive the following error message: "This endpoint is unavailable. - Please use the GET /v1/vault/accounts/{vaultAccountId}/{assetId}/addresses_paginated endpoint to return all the wallet addresses associated with the specified vault account and asset in a paginated list.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account to return schema: type: string format: numeric x-fb-entity: vault_account - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset responses: '200': description: A list of deposit addresses headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetVaultAccountAssetAddressesResponse' default: $ref: '#/components/responses/Error' operationId: getVaultAccountAssetAddresses x-readme: code-samples: # - language: python # code: >- # depositAddresses = # fireblocks.get_deposit_addresses(vault_account_id, asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const depositAddresses = await fireblocks.getDepositAddresses(vaultAccountId, assetId); name: Fireblocks SDK Javascript example post: summary: Create new asset deposit address description: |- Creates a new deposit address for an asset of a vault account. Should be used for UTXO or Tag/Memo based assets ONLY. Requests with account based assets will fail.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # address = fireblocks.generate_new_address(vault_account_id, # asset_id, description, customer_ref_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const address = await fireblocks.generateNewAddress(vaultAccountId, assetId, description, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.createVaultAccountAssetAddress(vaultsApiCreateVaultAccountAssetAddressRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().createVaultAccountAssetAddress(vaultAccountId, assetId, createAddressRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.create_vault_account_asset_address(vault_account_id, asset_id, create_address_request, idempotency_key); name: Fireblocks SDK Python example requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/CreateAddressRequest' parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account to return schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: The created address headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateAddressResponse' default: $ref: '#/components/responses/Error' operationId: createVaultAccountAssetAddress x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.createVaultAccountAssetAddress(vaultsApiCreateVaultAccountAssetAddressRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().createVaultAccountAssetAddress(vaultAccountId, assetId, createAddressRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.create_vault_account_asset_address(vault_account_id, asset_id, create_address_request, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}/addresses_paginated: get: summary: Get addresses (Paginated) description: >- Returns a paginated response of the addresses for a given vault account and asset.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # addresses = vault_accounts = # fireblocks.get_paginated_addresses("0","ETH_TEST3") # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const addresses = await fireblocks.getPaginatedAddresses("0","ETH_TEST3"); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getVaultAccountAssetAddressesPaginated(vaultsApiGetVaultAccountAssetAddressesPaginatedRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getVaultAccountAssetAddressesPaginated(vaultAccountId, assetId, limit, before, after); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_vault_account_asset_addresses_paginated(vault_account_id, asset_id, limit, before, after); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account to return schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - in: query name: limit description: Limit the number of results per page schema: type: number example: 50 - in: query name: before description: Cursor string for the previous page schema: type: string example: >- eyJhZGRyZXNzSWQiOiIzNjg4MzE5MiIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ== - in: query name: after description: Cursor string for the next page schema: type: string example: >- eyJhZGRyZXNzSWQiOiIzNDU3MDM4MSIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ== responses: '200': description: A paginated list of addresses, and pagination info. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PaginatedAddressResponse' default: $ref: '#/components/responses/Error' operationId: getVaultAccountAssetAddressesPaginated x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getVaultAccountAssetAddressesPaginated(vaultsApiGetVaultAccountAssetAddressesPaginatedRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getVaultAccountAssetAddressesPaginated(vaultAccountId, assetId, limit, before, after); - lang: Python source: >- response = fireblocks.vaults.get_vault_account_asset_addresses_paginated(vault_account_id, asset_id, limit, before, after); /vault/accounts/{vaultAccountId}/{assetId}/max_spendable_amount: get: summary: Get max spendable amount in a transaction description: | **UTXO assets only.** Retrieve the maximum amount of the specified asset that can be spent in a single transaction from the specified vault account. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # address = fireblocks.set_address_description(vault_account_id, # asset_id, address, tag, description) # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.vaults.getMaxSpendableAmount(vaultsApiGetMaxSpendableAmountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSigning); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_max_spendable_amount(vault_account_id, asset_id, manual_signing); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: >- The ID of the vault account, or 'default' for the default vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - in: query name: manualSigning description: >- False by default. The maximum number of inputs depends on whether the transaction will be signed by an automated co-signer server or on a mobile device. schema: type: boolean responses: '200': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetMaxSpendableAmountResponse' default: $ref: '#/components/responses/Error' operationId: getMaxSpendableAmount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getMaxSpendableAmount(vaultsApiGetMaxSpendableAmountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId, manualSignging); - lang: Python source: >- response = fireblocks.vaults.get_max_spendable_amount(vault_account_id, asset_id, manual_signging); /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}: put: summary: Update address description description: >- Updates the description of an existing address of an asset in a vault account.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # address = fireblocks.set_address_description(vault_account_id, # asset_id, address, tag, description) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const address = await fireblocks.setAddressDescription(vaultAccountId, assetId, address, tag, description); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.updateVaultAccountAssetAddress(vaultsApiUpdateVaultAccountAssetAddressRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().updateVaultAccountAssetAddress(vaultAccountId, assetId, addressId, updateVaultAccountAssetAddressRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.update_vault_account_asset_address(vault_account_id, asset_id, address_id, update_vault_account_asset_address_request, idempotency_key); name: Fireblocks SDK Python example requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/UpdateVaultAccountAssetAddressRequest' parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - in: path name: addressId required: true description: >- The address for which to add a description. For XRP, use
:, for all other assets, use only the address schema: type: string example: 1Fn5bZ9V9bkt8F1wVZTouG2xVfAT9ZX4Lv - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultActionStatus' default: $ref: '#/components/responses/Error' operationId: updateVaultAccountAssetAddress x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.updateVaultAccountAssetAddress(vaultsApiUpdateVaultAccountAssetAddressRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().updateVaultAccountAssetAddress(vaultAccountId, assetId, addressId, updateVaultAccountAssetAddressRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.update_vault_account_asset_address(vault_account_id, asset_id, address_id, update_vault_account_asset_address_request, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id: post: summary: Assign AML customer reference ID description: >- Sets an AML/KYT customer reference ID for a specific address.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAsset = # fireblocks.set_customer_ref_id_for_address(vault_account_id, # asset_id, address_id, customer_ref_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.setCustomerRefIdForAddress(vaultAccountId, assetId, addressId, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.setCustomerRefIdForAddress(vaultsApiSetCustomerRefIdForAddressRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().setCustomerRefIdForAddress(setCustomerRefIdForAddressRequest, vaultAccountId, assetId, addressId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.set_customer_ref_id_for_address(set_customer_ref_id_for_address_request, vault_account_id, asset_id, address_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - in: path name: addressId required: true description: >- The address for which to add a description. For XRP, use
:, for all other assets, use only the address schema: type: string example: ltc1qt7d7pcaycq9r0n35d9k2tuff5sf8qdsl84aex6 - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetCustomerRefIdForAddressRequest' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultActionStatus' default: $ref: '#/components/responses/Error' operationId: setCustomerRefIdForAddress x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.setCustomerRefIdForAddress(vaultsApiSetCustomerRefIdForAddressRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().setCustomerRefIdForAddress(setCustomerRefIdForAddressRequest, vaultAccountId, assetId, addressId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.set_customer_ref_id_for_address(set_customer_ref_id_for_address_request, vault_account_id, asset_id, address_id, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/create_legacy: post: summary: Convert a segwit address to legacy format description: >- Converts an existing segwit address to the legacy format.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Vaults parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC - in: path name: addressId required: true description: The segwit address to translate schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: The created address headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateAddressResponse' default: $ref: '#/components/responses/Error' operationId: createLegacyAddress x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.vaults.createLegacyAddress(vaultsApiCreateLegacyAddressRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().createLegacyAddress(vaultAccountId, assetId, addressId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.create_legacy_address(vault_account_id, asset_id, address_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.createLegacyAddress(vaultsApiCreateLegacyAddressRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().createLegacyAddress(vaultAccountId, assetId, addressId, idempotencyKey); - lang: Python source: >- response = fireblocks.vaults.create_legacy_address(vault_account_id, asset_id, address_id, idempotency_key); /vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs: get: summary: Get UTXO unspent inputs information description: |- Returns unspent inputs information of an UTXO asset in a vault account.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # vaultAsset = fireblocks.get_unspent_inputs(vault_account_id, # asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const vaultAsset = await fireblocks.getUnspentInputs(vaultAccountId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getUnspentInputs(vaultsApiGetUnspentInputsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.vaults().getUnspentInputs(vaultAccountId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_unspent_inputs(vault_account_id, asset_id); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true description: The ID of the asset schema: type: string x-fb-entity: asset example: BTC responses: '200': description: List of Unspent information per input headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetUnspentInputsResponse' default: $ref: '#/components/responses/Error' operationId: getUnspentInputs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getUnspentInputs(vaultsApiGetUnspentInputsRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.vaults().getUnspentInputs(vaultAccountId, assetId); - lang: Python source: >- response = fireblocks.vaults.get_unspent_inputs(vault_account_id, asset_id); /vault/public_key_info: get: summary: Get the public key for a derivation path description: >- Gets the public key information based on derivation path and signing algorithm.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # pubKey = fireblocks.get_public_key_info(algorithm, # derivation_path, compressed) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: > const PublicKeyInfoArgs = { algorithm: 'MPC_ECDSA_SECP256K1', derivationPath: '[44,0,0,0,0]' } const pubKey = await fireblocks.getPublicKeyInfo(PublicKeyInfoArgs); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getPublicKeyInfo(vaultsApiGetPublicKeyInfoRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getPublicKeyInfo(derivationPath, algorithm, compressed); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_public_key_info(derivation_path, algorithm, compressed); name: Fireblocks SDK Python example parameters: - in: query name: derivationPath description: > An array of integers representing the full BIP44 derivation path of the requested public key. The first element must always be 44. required: true schema: type: array maxItems: 5 minItems: 5 items: type: integer - in: query name: algorithm required: true schema: type: string enum: - MPC_ECDSA_SECP256K1 - MPC_ECDSA_SECP256R1 - MPC_EDDSA_ED25519 - in: query name: compressed schema: type: boolean responses: '200': description: Public key information headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PublicKeyInformation' default: $ref: '#/components/responses/Error' operationId: getPublicKeyInfo x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getPublicKeyInfo(vaultsApiGetPublicKeyInfoRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getPublicKeyInfo(derivationPath, algorithm, compressed); - lang: Python source: >- response = fireblocks.vaults.get_public_key_info(derivation_path, algorithm, compressed); /vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info: get: summary: Get an asset's public key description: >- Get the public key information for a specific asset in a vault account.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # pubKey = # fireblocks.get_public_key_info_for_vault_account(asset_id, # vault_account_id, change, address_index, compressed) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: > const PublicKeyInfoArgs = { assetId: 'ETH', vaultAccountId: 0, change: 0, addressIndex: 0, compressed: true } const pubKey = await fireblocks.getPublicKeyInfoForVaultAccount(PublicKeyInfoArgs); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getPublicKeyInfoForAddress(vaultsApiGetPublicKeyInfoForAddressRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getPublicKeyInfoForAddress(vaultAccountId, assetId, change, addressIndex, compressed); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_public_key_info_for_address(vault_account_id, asset_id, change, address_index, compressed); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true schema: type: string format: numeric x-fb-entity: vault_account example: '0' - in: path name: assetId required: true schema: type: string x-fb-entity: asset example: BTC - in: path name: change description: BIP44 derivation path - change value required: true schema: type: number example: 0 - in: path name: addressIndex description: BIP44 derivation path - index value required: true schema: type: number example: 0 - in: query name: compressed description: Compressed/Uncompressed public key format schema: type: boolean responses: '200': description: Public Key Information headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PublicKeyInformation' default: $ref: '#/components/responses/Error' operationId: getPublicKeyInfoForAddress x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getPublicKeyInfoForAddress(vaultsApiGetPublicKeyInfoForAddressRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getPublicKeyInfoForAddress(vaultAccountId, assetId, change, addressIndex, compressed); - lang: Python source: >- response = fireblocks.vaults.get_public_key_info_for_address(vault_account_id, asset_id, change, address_index, compressed); /vault/accounts/attached/tags/attach: post: summary: Attach tags to a vault accounts deprecated: true description: | **This endpoint has been deprecated. Please use `vault/accounts/attached_tags` instead.** Attach one or more tags to the requested vault accounts. tags: - Vaults x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VaultAccountsTagAttachmentsRequest' responses: "204": description: Tags were attached successfully operationId: attachTagsToVaultAccounts /vault/accounts/attached/tags/detached: post: summary: Detach tags from a vault accounts deprecated: true description: | **This endpoint has been deprecated. Please use `/vault/accounts/attached_tags` instead.** Detach one or more tags from the requested vault account. tags: - Vaults x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VaultAccountsTagAttachmentsRequest' responses: "204": description: Tags were detached successfully operationId: detachTagsFromVaultAccounts /vault/assets: get: summary: Get asset balance for chosen assets description: |- Gets the assets amount summary for all accounts or filtered accounts.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: >- # assets_balance = # fireblocks.get_vault_assets_balance(accout_name_prefix, # account_name_suffix) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const assetsBalance = await fireblocks.getVaultAssetsBalance(filters); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getVaultAssets(vaultsApiGetVaultAssetsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.vaults().getVaultAssets(accountNamePrefix, accountNameSuffix); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.vaults.get_vault_assets(account_name_prefix, account_name_suffix); name: Fireblocks SDK Python example parameters: - in: query name: accountNamePrefix required: false schema: type: string example: MyVaultPrefix - in: query name: accountNameSuffix required: false schema: type: string example: MyVaultSuffix responses: '200': description: Amount by asset headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetVaultAssetsResponse' default: $ref: '#/components/responses/Error' operationId: getVaultAssets x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getVaultAssets(vaultsApiGetVaultAssetsRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.vaults().getVaultAssets(accountNamePrefix, accountNameSuffix); - lang: Python source: >- response = fireblocks.vaults.get_vault_assets(account_name_prefix, account_name_suffix); /vault/assets/{assetId}: get: summary: Get vault balance by an asset description: |- Get the total balance of an asset across all the vault accounts.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Vaults x-readme: code-samples: # - language: python # code: assets_balance = fireblocks.get_vault_balance_by_asset(asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const assetsBalance = await fireblocks.getVaultBalanceByAsset(assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.vaults.getVaultBalanceByAsset(vaultsApiGetVaultBalanceByAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.vaults().getVaultBalanceByAsset(assetId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.vaults.get_vault_balance_by_asset(asset_id); name: Fireblocks SDK Python example parameters: - in: path name: assetId required: true schema: type: string x-fb-entity: asset example: ETH responses: '200': description: Vault amount by asset headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/VaultAsset' default: $ref: '#/components/responses/Error' operationId: getVaultBalanceByAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.vaults.getVaultBalanceByAsset(vaultsApiGetVaultBalanceByAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.vaults().getVaultBalanceByAsset(assetId); - lang: Python source: response = fireblocks.vaults.get_vault_balance_by_asset(asset_id); /workspace/freeze: post: x-internal: true operationId: freezeWorkspace summary: Freeze description: >- Freezes a Workspace so that ALL operations by ANY user are blocked. You should only perform this action when the workspace faces imminent risk, such as when you have a security breach. To unfreeze a workspace, the workspace Owner must submit a request to Fireblocks Support. **NOTE:** - This operation can only be performed by the workspace Admins - Your workspace continues to receive incoming transfers during this time.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '204': description: Indicates that the workspace is now frozen headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: python label: Python source: vault_accounts = fireblocks.get_vault_accounts() - lang: javascript label: Javascript source: const vaultAccounts = await fireblocks.getVaultAccounts(); /exchange_accounts: get: x-internal: true deprecated: true summary: List exchange accounts description: >- DEPRECATED - Please use the `/exchange_accounts/paged` endpoint.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Exchange Accounts x-readme: code-samples: # - language: python # code: exchangeAccounts = fireblocks.get_exchange_accounts() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const exchangeAccounts = await fireblocks.getExchangeAccounts(); name: Fireblocks SDK Javascript example responses: '200': description: An ExchangeAccount object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetExchangeAccountsResponse' default: $ref: '#/components/responses/Error' operationId: getExchangeAccounts x-codeSamples: - lang: python label: Python source: exchangeAccounts = fireblocks.get_exchange_accounts() - lang: javascript label: Javascript source: const exchangeAccounts = await fireblocks.getExchangeAccounts(); post: summary: Add an Exchange Account operationId: addExchangeAccount description: | Add an exchange account to exchanges. Note: This endpoint currently only supports the following exchanges `INDEPENDENT_RESERVE`,`BIT`, `BITHUMB`, `BITSO`, `CRYPTOCOM`, `BYBIT_V2`, `WHITEBIT`, `HITBTC`, `GEMINI`, `HUOBI`, `GATEIO`, `COINHAKO`, `BULLISH`, `BITGET`, and `LUNO` To add an exchange account, please use the following [guide](https://developers.fireblocks.com/docs/add-an-exchange-account). tags: - Exchange Accounts x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.exchangeAccounts.addExchangeAccount(exchangeAccountsApiAddExchangeAccountRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.exchangeAccounts().addExchangeAccount(addExchangeAccountRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.exchange_accounts.add_exchange_account(add_exchange_account_request, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddExchangeAccountRequest' responses: '201': description: An Exchange Account identifier object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/AddExchangeAccountResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.exchangeAccounts.addExchangeAccount(exchangeAccountsApiAddExchangeAccountRequest);' - lang: Java source: CompletableFuture> response = fireblocks.exchangeAccounts().addExchangeAccount(addExchangeAccountRequest, idempotencyKey); - lang: Python source: response = fireblocks.exchange_accounts.add_exchange_account(add_exchange_account_request, idempotency_key); /exchange_accounts/paged: get: operationId: getPagedExchangeAccounts summary: List connected exchange accounts description: >- Returns a list of the connected exchange accounts in your workspace.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Exchange Accounts x-readme: code-samples: - language: javascript code: >- const exchangeAccounts = await fireblocks.getExchangeAccountsPaged(); name: Fireblocks SDK Javascript example # - language: python # code: exchangeAccounts = fireblocks.get_exchange_accounts_paged() # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit, before, after); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.exchange_accounts.get_paged_exchange_accounts(limit, before, after); name: Fireblocks SDK Python example parameters: - in: query name: before required: false schema: type: string - in: query name: after required: false schema: type: string - in: query name: limit description: number of exchanges per page required: true schema: type: number minimum: 1 maximum: 5 default: 3 responses: '200': description: An ExchangeAccount object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetPagedExchangeAccountsResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit, before, after); - lang: Python source: >- response = fireblocks.exchange_accounts.get_paged_exchange_accounts(limit, before, after); /exchange_accounts/{exchangeAccountId}: get: summary: Get a specific exchange account description: >- Returns an exchange account by ID.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Exchange Accounts x-readme: code-samples: # - language: python # code: >- # exchangeAccount = # fireblocks.get_exchange_account(exchangeAccountId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const exchnageAccount = await fireblocks.get_exchange_account(exchangeAccountId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.exchangeAccounts.getExchangeAccount(exchangeAccountsApiGetExchangeAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.exchangeAccounts().getExchangeAccount(exchangeAccountId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.exchange_accounts.get_exchange_account(exchange_account_id); name: Fireblocks SDK Python example parameters: - in: path name: exchangeAccountId required: true description: The ID of the exchange account to return schema: type: string responses: '200': description: An ExchangeAccount object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ExchangeAccount' default: $ref: '#/components/responses/Error' operationId: getExchangeAccount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.exchangeAccounts.getExchangeAccount(exchangeAccountsApiGetExchangeAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.exchangeAccounts().getExchangeAccount(exchangeAccountId); - lang: Python source: >- response = fireblocks.exchange_accounts.get_exchange_account(exchange_account_id); /exchange_accounts/{exchangeAccountId}/internal_transfer: post: summary: Internal transfer for exchange accounts description: >- Transfers funds between trading accounts under the same exchange account. Learn more about Fireblocks Exchange Connectivity in the following [guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Exchange Accounts parameters: - in: path name: exchangeAccountId required: true description: The ID of the exchange account to return schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: Transfer succeeded headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/InternalTransferResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateInternalTransferRequest' operationId: internalTransfer x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.exchangeAccounts.internalTransfer(exchangeAccountsApiInternalTransferRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.exchangeAccounts().internalTransfer(exchangeAccountId, createInternalTransferRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.exchange_accounts.internal_transfer(exchange_account_id, create_internal_transfer_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.exchangeAccounts.internalTransfer(exchangeAccountsApiInternalTransferRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.exchangeAccounts().internalTransfer(exchangeAccountId, createInternalTransferRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.exchange_accounts.internal_transfer(exchange_account_id, create_internal_transfer_request, idempotency_key); /exchange_accounts/{exchangeAccountId}/convert: post: summary: >- Convert exchange account funds description: >- Convert exchange account funds from the source asset to the destination asset. Coinbase (USD to USDC, USDC to USD) and Bitso (MXN to USD) are supported conversions. Learn more about Fireblocks Exchange Connectivity in the following [guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Exchange Accounts parameters: - in: path name: exchangeAccountId required: true description: >- The ID of the exchange account. Please make sure the exchange supports conversions. To find the ID of your exchange account, use GET/exchange_accounts. schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Conversion successful headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ConvertAssetsResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConvertAssetsRequest' operationId: convertAssets x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.exchangeAccounts.convertAssets(exchangeAccountsApiConvertAssetsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.exchangeAccounts().convertAssets(exchangeAccountId, convertAssetsRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.exchange_accounts.convert_assets(exchange_account_id, convert_assets_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.exchangeAccounts.convertAssets(exchangeAccountsApiConvertAssetsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.exchangeAccounts().convertAssets(exchangeAccountId, convertAssetsRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.exchange_accounts.convert_assets(exchange_account_id, convert_assets_request, idempotency_key); /exchange_accounts/{exchangeAccountId}/{assetId}: get: summary: Get an asset for an exchange account description: >- Returns an asset for an exchange account.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Exchange Accounts x-readme: code-samples: # - language: python # code: >- # exchangeAsset = # fireblocks.get_exchange_account_asset(exchangeAccountId, assetId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const exchangeAsset = await fireblocks.getExchangeAsset(exchangeAccountId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.exchangeAccounts.getExchangeAccountAsset(exchangeAccountsApiGetExchangeAccountAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.exchangeAccounts().getExchangeAccountAsset(exchangeAccountId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.exchange_accounts.get_exchange_account_asset(exchange_account_id, asset_id); name: Fireblocks SDK Python example parameters: - in: path name: exchangeAccountId required: true description: The ID of the exchange account to return schema: type: string - in: path name: assetId required: true description: The ID of the asset to return schema: type: string responses: '200': description: An ExchangeAccountAsset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ExchangeAsset' default: $ref: '#/components/responses/Error' operationId: getExchangeAccountAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.exchangeAccounts.getExchangeAccountAsset(exchangeAccountsApiGetExchangeAccountAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.exchangeAccounts().getExchangeAccountAsset(exchangeAccountId, assetId); - lang: Python source: >- response = fireblocks.exchange_accounts.get_exchange_account_asset(exchange_account_id, asset_id); /exchange_accounts/credentials_public_key: get: x-internal: true summary: Get public key to encrypt exchange credentials description: Return public key tags: - Exchange Accounts responses: '200': description: public key as string headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetExchangeAccountsCredentialsPublicKeyResponse' default: $ref: '#/components/responses/Error' operationId: getExchangeAccountsCredentialsPublicKey /fiat_accounts: get: summary: List fiat accounts description: >- Returns all fiat accounts.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fiat Accounts x-readme: code-samples: # - language: python # code: transactions = fireblocks.get_fiat_accounts() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const transactions = await fireblocks.getFiatAccounts(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.fiatAccounts.getFiatAccounts(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.fiatAccounts().getFiatAccounts(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.fiat_accounts.get_fiat_accounts(); name: Fireblocks SDK Python example responses: '200': description: A fiat account object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetFiatAccountsResponse' default: $ref: '#/components/responses/Error' operationId: getFiatAccounts x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.fiatAccounts.getFiatAccounts(); - lang: Java source: >- CompletableFuture>> response = fireblocks.fiatAccounts().getFiatAccounts(); - lang: Python source: response = fireblocks.fiat_accounts.get_fiat_accounts(); /fiat_accounts/{accountId}: get: summary: Find a specific fiat account description: >- Returns a fiat account by ID.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fiat Accounts x-readme: code-samples: # - language: python # code: transactions = fireblocks.get_fiat_account_by_id(account_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const transactions = await fireblocks.getFiatAccountById(accountId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.fiatAccounts.getFiatAccount(fiatAccountsApiGetFiatAccountRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.fiatAccounts().getFiatAccount(accountId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.fiat_accounts.get_fiat_account(account_id); name: Fireblocks SDK Python example parameters: - in: path name: accountId required: true description: The ID of the fiat account to return schema: type: string responses: '200': description: A fiat account object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/FiatAccount' default: $ref: '#/components/responses/Error' operationId: getFiatAccount x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.fiatAccounts.getFiatAccount(fiatAccountsApiGetFiatAccountRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.fiatAccounts().getFiatAccount(accountId); - lang: Python source: response = fireblocks.fiat_accounts.get_fiat_account(account_id); /fiat_accounts/{accountId}/redeem_to_linked_dda: post: summary: Redeem funds to DDA description: >- Redeems funds to the linked DDA. Learn more about Fireblocks FIAT Connectivity in the following [guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fiat Accounts x-readme: code-samples: # - language: python # code: transactions = fireblocks.redeem_to_linked_dda(account_id, amount) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const transactions = await fireblocks.redeemToLinkedDDA(accountId, amount); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.fiatAccounts.redeemFundsToLinkedDDA(fiatAccountsApiRedeemFundsToLinkedDDARequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.fiatAccounts().redeemFundsToLinkedDDA(accountId, funds, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.fiat_accounts.redeem_funds_to_linked_d_d_a(account_id, funds, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: accountId required: true description: The ID of the fiat account to use schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: Transfer succeeded headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/RedeemFundsToLinkedDDAResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/Funds' operationId: redeemFundsToLinkedDDA x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.fiatAccounts.redeemFundsToLinkedDDA(fiatAccountsApiRedeemFundsToLinkedDDARequest); - lang: Java source: >- CompletableFuture> response = fireblocks.fiatAccounts().redeemFundsToLinkedDDA(accountId, funds, idempotencyKey); - lang: Python source: >- response = fireblocks.fiat_accounts.redeem_funds_to_linked_d_d_a(account_id, funds, idempotency_key); /fiat_accounts/{accountId}/deposit_from_linked_dda: post: summary: Deposit funds from DDA description: >- Deposits funds from the linked DDA. Learn more about Fireblocks FIAT Connectivity in the following [guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fiat Accounts x-readme: code-samples: # - language: python # code: >- # transactions = fireblocks.deposit_from_linked_dda(account_id, # amount) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const transactions = await fireblocks.depositFromLinkedDDA(accountId, amount); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.fiatAccounts.depositFundsFromLinkedDDA(fiatAccountsApiDepositFundsFromLinkedDDARequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.fiatAccounts().depositFundsFromLinkedDDA(accountId, funds, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.fiat_accounts.deposit_funds_from_linked_d_d_a(account_id, funds, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: accountId required: true description: The ID of the fiat account to use schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: Transfer succeeded headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DepositFundsFromLinkedDDAResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/Funds' operationId: depositFundsFromLinkedDDA x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.fiatAccounts.depositFundsFromLinkedDDA(fiatAccountsApiDepositFundsFromLinkedDDARequest); - lang: Java source: >- CompletableFuture> response = fireblocks.fiatAccounts().depositFundsFromLinkedDDA(accountId, funds, idempotencyKey); - lang: Python source: >- response = fireblocks.fiat_accounts.deposit_funds_from_linked_d_d_a(account_id, funds, idempotency_key); /connected_accounts: get: summary: Get connected accounts description: | Returns all connected accounts. **Note:** This endpoint is currently in beta and might be subject to changes. tags: - Connected Accounts (Beta) x-rate-limit-category: query parameters: - name: mainAccounts in: query required: false description: Whether to include only main accounts in the response. schema: type: boolean default: false - name: pageSize in: query required: false description: Page size for pagination. schema: type: integer minimum: 1 maximum: 100 - name: pageCursor in: query required: false description: Page cursor for pagination. schema: type: string operationId: getConnectedAccounts responses: 200: description: Get accounts response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ConnectedAccountsResponse' default: $ref: '#/components/responses/Error' /connected_accounts/{accountId}: get: tags: - Connected Accounts (Beta) x-rate-limit-category: read parameters: - name: accountId in: path required: true description: The ID of the account to fetch. schema: type: string minLength: 1 summary: Get connected account description: | Retrieve detailed information about a specific connected account by ID. **Note:** This endpoint is currently in beta and might be subject to changes. operationId: getConnectedAccount responses: 200: description: Account response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ConnectedSingleAccountResponse' default: $ref: '#/components/responses/Error' /connected_accounts/{accountId}/balances: get: summary: Get balances for an account description: | Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`). **Note:** This endpoint is currently in beta and might be subject to changes. tags: - Connected Accounts (Beta) x-rate-limit-category: query parameters: - name: accountId in: path required: true description: The ID of the account to fetch balances for. schema: type: string minLength: 1 - name: pageSize in: query required: false description: Page size for pagination. schema: type: integer minimum: 1 maximum: 1000 - name: pageCursor in: query required: false description: Page cursor for pagination. schema: type: string operationId: getConnectedAccountBalances responses: 200: description: Account balances response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ConnectedAccountBalancesResponse' default: $ref: '#/components/responses/Error' /connected_accounts/{accountId}/rates: get: summary: Get exchange rates for an account description: | Retrieve current exchange rates for converting between specific assets in a connected account. **Note:** This endpoint is currently in beta and might be subject to changes. tags: - Connected Accounts (Beta) x-rate-limit-category: read parameters: - name: accountId in: path required: true description: The ID of the account to fetch rates for. schema: type: string minLength: 1 - name: baseAssetId in: query required: true description: The ID of the asset to fetch rates for. schema: type: string minLength: 1 - name: quoteAssetId in: query required: true description: The ID of the asset to get the rates nominally. schema: type: string minLength: 1 operationId: getConnectedAccountRates responses: 200: description: Rates response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ConnectedAccountRateResponse' default: $ref: '#/components/responses/Error' /connected_accounts/{accountId}/manifest/capabilities/trading/pairs: get: summary: Get supported trading pairs for an account description: | Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`). **Note:** This endpoint is currently in beta and might be subject to changes. tags: - Connected Accounts (Beta) x-rate-limit-category: query parameters: - name: accountId in: path required: true description: The ID of the account to fetch supported pairs for. schema: type: string minLength: 1 - name: pageSize in: query required: false description: Page size for pagination. schema: type: integer default: 100 minimum: 1 maximum: 100 - name: pageCursor in: query required: false description: Page cursor for pagination. schema: type: string operationId: getConnectedAccountTradingPairs responses: 200: description: Supported pairs response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ConnectedAccountTradingPairsResponse' default: $ref: '#/components/responses/Error' /network_connections: get: summary: List network connections description: >- Returns all network connections. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network x-readme: code-samples: # - language: python # code: network_connections = fireblocks.get_network_connections() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const networkConnections = await fireblocks.getNetworkConnections(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.getNetworkConnections(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.networkConnections().getNetworkConnections(); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.get_network_connections(); name: Fireblocks SDK Python example responses: '200': description: A list of network connections headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetNetworkConnectionsResponse' default: $ref: '#/components/responses/Error' operationId: getNetworkConnections x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.getNetworkConnections(); - lang: Java source: >- CompletableFuture>> response = fireblocks.networkConnections().getNetworkConnections(); - lang: Python source: response = fireblocks.network_connections.get_network_connections(); post: summary: Creates a new network connection description: >- Initiates a new network connection. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** Supported asset groups for routing policy can be found at `/network_ids/routing_policy_asset_groups` **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`). Learn more about Fireblocks Network in the following [guide](https://developers.fireblocks.com/docs/connect-to-the-fireblocks-network).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/NetworkConnection' responses: '201': description: A Network Connection object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/NetworkConnectionResponse' default: $ref: '#/components/responses/Error' operationId: createNetworkConnection x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.createNetworkConnection(networkConnectionsApiCreateNetworkConnectionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().createNetworkConnection(networkConnection, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.create_network_connection(network_connection, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.createNetworkConnection(networkConnectionsApiCreateNetworkConnectionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().createNetworkConnection(networkConnection, idempotencyKey); - lang: Python source: >- response = fireblocks.network_connections.create_network_connection(network_connection, idempotency_key); /network_connections/{connectionId}/set_routing_policy: patch: summary: Update network connection routing policy. description: >- Updates an existing network connection's routing policy. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** Supported asset groups for routing policy can be found at `/network_ids/routing_policy_asset_groups` **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: connectionId required: true description: The ID of the network connection schema: type: string example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f requestBody: content: application/json: schema: $ref: '#/components/schemas/SetRoutingPolicyRequest' responses: '200': description: Network ID headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetRoutingPolicyResponse' default: $ref: '#/components/responses/Error' operationId: setRoutingPolicy x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.setRoutingPolicy(networkConnectionsApiSetRoutingPolicyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().setRoutingPolicy(connectionId, setRoutingPolicyRequest); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.set_routing_policy(connection_id, set_routing_policy_request); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.setRoutingPolicy(networkConnectionsApiSetRoutingPolicyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().setRoutingPolicy(connectionId, setRoutingPolicyRequest); - lang: Python source: >- response = fireblocks.network_connections.set_routing_policy(connection_id, set_routing_policy_request); /network_connections/{connectionId}/is_third_party_routing/{assetType}: get: summary: Retrieve third-party network routing validation description: >- The Fireblocks Network allows for flexibility around incoming deposits. A receiver can receive network deposits to locations other than Fireblocks. This endpoint validates whether future transactions are routed to the displayed recipient or to a 3rd party.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: connectionId required: true description: The ID of the network connection schema: type: string example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f - in: path name: assetType required: true description: The destination asset type schema: type: string example: ETH responses: '200': description: result for the validation headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ThirdPartyRouting' default: $ref: '#/components/responses/Error' operationId: checkThirdPartyRouting x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.checkThirdPartyRouting(networkConnectionsApiCheckThirdPartyRoutingRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().checkThirdPartyRouting(connectionId, assetType); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.check_third_party_routing(connection_id, asset_type); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.checkThirdPartyRouting(networkConnectionsApiCheckThirdPartyRoutingRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().checkThirdPartyRouting(connectionId, assetType); - lang: Python source: >- response = fireblocks.network_connections.check_third_party_routing(connection_id, asset_type); /network_connections/{connectionId}: get: summary: Get a network connection description: >- Gets a network connection by ID. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network x-readme: code-samples: # - language: python # code: >- # network_connection = # fireblocks.get_network_connection_by_id(connectionId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const network_connection = await fireblocks.getNetworkConnection(connectionId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.getNetwork(networkConnectionsApiGetNetworkRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().getNetwork(connectionId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.get_network(connection_id); name: Fireblocks SDK Python example parameters: - in: path name: connectionId required: true description: The ID of the connection schema: type: string example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f responses: '200': description: A network connection headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/NetworkConnectionResponse' default: $ref: '#/components/responses/Error' operationId: getNetwork x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.getNetwork(networkConnectionsApiGetNetworkRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().getNetwork(connectionId); - lang: Python source: >- response = fireblocks.network_connections.get_network(connection_id); delete: summary: Deletes a network connection by ID description: >- Deletes an existing network connection specified by its connection ID. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: connectionId required: true description: The ID of the network connection to delete schema: type: string example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f responses: '200': description: Network ID headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DeleteNetworkConnectionResponse' default: $ref: '#/components/responses/Error' operationId: deleteNetworkConnection x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.deleteNetworkConnection(networkConnectionsApiDeleteNetworkConnectionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().deleteNetworkConnection(connectionId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.delete_network_connection(connection_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.deleteNetworkConnection(networkConnectionsApiDeleteNetworkConnectionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().deleteNetworkConnection(connectionId); - lang: Python source: >- response = fireblocks.network_connections.delete_network_connection(connection_id); /network_ids: get: summary: Get all network IDs description: >- Retrieves a list of all local and discoverable remote network IDs. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network responses: '200': description: A list of network IDs headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetNetworkIdsResponse' default: $ref: '#/components/responses/Error' operationId: getNetworkIds x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.getNetworkIds(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.networkConnections().getNetworkIds(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.network_connections.get_network_ids(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.getNetworkIds(); - lang: Java source: >- CompletableFuture>> response = fireblocks.networkConnections().getNetworkIds(); - lang: Python source: response = fireblocks.network_connections.get_network_ids(); post: summary: Creates a new Network ID description: >- Creates a new Network ID. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** Supported asset groups for routing policy can be found at `/network_ids/routing_policy_asset_groups` **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateNetworkIdRequest' responses: '201': description: Returns the new network ID in your workspace headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/NetworkIdResponse' default: $ref: '#/components/responses/Error' operationId: createNetworkId x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.createNetworkId(networkConnectionsApiCreateNetworkIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().createNetworkId(createNetworkIdRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.create_network_id(create_network_id_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.createNetworkId(networkConnectionsApiCreateNetworkIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().createNetworkId(createNetworkIdRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.network_connections.create_network_id(create_network_id_request, idempotency_key); /network_ids/routing_policy_asset_groups: get: summary: Returns all enabled routing policy asset groups description: >- Retrieves a list of all enabled routing policy asset groups. Your routing policy defines how your transactions are routed. You can use one or more enabled routing policy asset groups to describe connection or network id routing policy.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network responses: '200': description: A list of enabled routing policy asset groups headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetRoutingPolicyAssetGroupsResponse' default: $ref: '#/components/responses/Error' operationId: getRoutingPolicyAssetGroups x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.getRoutingPolicyAssetGroups(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.networkConnections().getRoutingPolicyAssetGroups(); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.get_routing_policy_asset_groups(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.getRoutingPolicyAssetGroups(); - lang: Java source: >- CompletableFuture>> response = fireblocks.networkConnections().getRoutingPolicyAssetGroups(); - lang: Python source: >- response = fireblocks.network_connections.get_routing_policy_asset_groups(); /network_ids/search: get: summary: Get both local IDs and discoverable remote IDs description: > Retrieves a list of all local and discoverable remote network IDs. Can be filtered. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`). parameters: - name: search required: false in: query description: Search string - displayName networkId. Optional schema: minLength: 1 type: string - name: excludeSelf required: false in: query description: Exclude your networkIds. Optional, default false schema: type: boolean - name: excludeConnected required: false in: query description: Exclude connected networkIds. Optional, default false schema: type: boolean - name: pageCursor required: false in: query description: ID of the record after which to fetch $limit records schema: type: string - name: pageSize required: false in: query description: Number of records to fetch. By default, it is 50 schema: minimum: 1 maximum: 50 default: 50 type: number tags: - Fireblocks Network responses: '200': description: A list of network IDs headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SearchNetworkIdsResponse' default: $ref: '#/components/responses/Error' operationId: searchNetworkIds x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.searchNetworkIds(networkConnectionsApiSearchNetworkIdsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().searchNetworkIds(search, excludeSelf, excludeConnected, pageCursor, pageSize); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.search_network_ids(search, exclude_self, exclude_connected, page_cursor, page_size); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.searchNetworkIds(networkConnectionsApiSearchNetworkIdsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().searchNetworkIds(search, excludeSelf, excludeConnected, pageCursor, pageSize); - lang: Python source: >- response = fireblocks.network_connections.search_network_ids(search, exclude_self, exclude_connected, page_cursor, page_size); /network_ids/{networkId}: get: summary: Returns specific network ID. description: >- Retrieves a network by its ID. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: networkId required: true description: The ID of the network schema: type: string example: ebde71be-30d6-4498-95c4-a151effdb377 responses: '200': description: Network ID headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/NetworkIdResponse' default: $ref: '#/components/responses/Error' operationId: getNetworkId x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.getNetworkId(networkConnectionsApiGetNetworkIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().getNetworkId(networkId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.get_network_id(network_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.getNetworkId(networkConnectionsApiGetNetworkIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().getNetworkId(networkId); - lang: Python source: >- response = fireblocks.network_connections.get_network_id(network_id); delete: summary: Deletes specific network ID. description: >- Deletes a network by its ID. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: networkId required: true description: The ID of the network schema: type: string example: ebde71be-30d6-4498-95c4-a151effdb377 responses: '200': description: Network ID content: application/json: schema: $ref: '#/components/schemas/DeleteNetworkIdResponse' default: $ref: '#/components/responses/Error' operationId: deleteNetworkId x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.deleteNetworkId(networkConnectionsApiDeleteNetworkIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().deleteNetworkId(networkId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.delete_network_id(network_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.deleteNetworkId(networkConnectionsApiDeleteNetworkIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().deleteNetworkId(networkId); - lang: Python source: >- response = fireblocks.network_connections.delete_network_id(network_id); /network_ids/{networkId}/set_routing_policy: patch: summary: Update network id routing policy. description: >- Updates the routing policy of a specified network ID. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** Supported asset groups for routing policy can be found at `/network_ids/routing_policy_asset_groups` **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: networkId required: true description: The ID of the network schema: type: string example: ebde71be-30d6-4498-95c4-a151effdb377 requestBody: content: application/json: schema: $ref: '#/components/schemas/SetNetworkIdRoutingPolicyRequest' responses: '200': description: Network ID headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetNetworkIdResponse' default: $ref: '#/components/responses/Error' operationId: setNetworkIdRoutingPolicy x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.setNetworkIdRoutingPolicy(networkConnectionsApiSetNetworkIdRoutingPolicyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().setNetworkIdRoutingPolicy(networkId, setNetworkIdRoutingPolicyRequest); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.set_network_id_routing_policy(network_id, set_network_id_routing_policy_request); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.setNetworkIdRoutingPolicy(networkConnectionsApiSetNetworkIdRoutingPolicyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().setNetworkIdRoutingPolicy(networkId, setNetworkIdRoutingPolicyRequest); - lang: Python source: >- response = fireblocks.network_connections.set_network_id_routing_policy(network_id, set_network_id_routing_policy_request); /network_ids/{networkId}/set_discoverability: patch: summary: Update network ID's discoverability. description: >- Update whether or not the network ID is discoverable by others. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: networkId required: true description: The ID of the network schema: type: string example: ebde71be-30d6-4498-95c4-a151effdb377 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetNetworkIdDiscoverabilityRequest' responses: '200': description: Network ID headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetNetworkIdResponse' default: $ref: '#/components/responses/Error' operationId: setNetworkIdDiscoverability x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.setNetworkIdDiscoverability(networkConnectionsApiSetNetworkIdDiscoverabilityRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().setNetworkIdDiscoverability(setNetworkIdDiscoverabilityRequest, networkId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.set_network_id_discoverability(set_network_id_discoverability_request, network_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.setNetworkIdDiscoverability(networkConnectionsApiSetNetworkIdDiscoverabilityRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().setNetworkIdDiscoverability(setNetworkIdDiscoverabilityRequest, networkId); - lang: Python source: >- response = fireblocks.network_connections.set_network_id_discoverability(set_network_id_discoverability_request, network_id); /network_ids/{networkId}/set_name: patch: summary: Update network ID's name. description: >- Updates name of a specified network ID. **Note:** This API call is subject to Flexible Routing Schemes. Your routing policy defines how your transactions are routed. You can choose 1 of the 3 different schemes mentioned below for each asset type: - **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail. - **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one. - **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing" Default Workspace Presets: - Network Profile Crypto → **Custom** - Network Profile FIAT → **None** - Network Connection Crypto → **Default** - Network Connection FIAT → **Default** **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Fireblocks Network parameters: - in: path name: networkId required: true description: The ID of the network schema: type: string example: ebde71be-30d6-4498-95c4-a151effdb377 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetNetworkIdNameRequest' responses: '200': description: Network ID headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetNetworkIdResponse' default: $ref: '#/components/responses/Error' operationId: setNetworkIdName x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.networkConnections.setNetworkIdName(networkConnectionsApiSetNetworkIdNameRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.networkConnections().setNetworkIdName(setNetworkIdNameRequest, networkId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.network_connections.set_network_id_name(set_network_id_name_request, network_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.networkConnections.setNetworkIdName(networkConnectionsApiSetNetworkIdNameRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.networkConnections().setNetworkIdName(setNetworkIdNameRequest, networkId); - lang: Python source: >- response = fireblocks.network_connections.set_network_id_name(set_network_id_name_request, network_id); /internal_wallets: get: summary: List internal wallets tags: - Whitelisted Internal Wallets description: | Gets a list of internal wallets. **Note**: - BTC-based assets belonging to whitelisted addresses cannot be retrieved between 00:00 UTC and 00:01 UTC daily due to third-party provider, Blockchain, being unavailable for this 60 second period. Please wait until the next minute to retrieve BTC-based assets. - The list of assets returned will NOT include the balances anymore. Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks. - You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. responses: '200': description: A list of internal wallets headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetInternalWalletsResponse' default: $ref: '#/components/responses/Error' operationId: getInternalWallets x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.internalWallets.getInternalWallets(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.internalWallets().getInternalWallets(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.internal_wallets.get_internal_wallets(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.getInternalWallets(); - lang: Java source: >- CompletableFuture>> response = fireblocks.internalWallets().getInternalWallets(); - lang: Python source: response = fireblocks.internal_wallets.get_internal_wallets(); post: summary: Create an internal wallet tags: - Whitelisted Internal Wallets x-readme: code-samples: # - language: python # code: >- # internalWallet = fireblocks.create_internal_wallet(name, # customer_ref_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const internalWallet = await fireblocks.createInternalWallet(name, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.internalWallets.createInternalWallet(internalWalletsApiCreateInternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.internalWallets().createInternalWallet(createWalletRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.internal_wallets.create_internal_wallet(create_wallet_request, idempotency_key); name: Fireblocks SDK Python example description: |- Creates a new internal wallet with the requested name. Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A new wallet object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UnmanagedWallet' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWalletRequest' operationId: createInternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.createInternalWallet(internalWalletsApiCreateInternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.internalWallets().createInternalWallet(createWalletRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.internal_wallets.create_internal_wallet(create_wallet_request, idempotency_key); /internal_wallets/{walletId}: get: summary: Get assets for internal wallet tags: - Whitelisted Internal Wallets x-readme: code-samples: - language: python code: internalWallet = fireblocks.get_internal_wallet(walletId) name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.getInternalWallet(walletId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.whitelistedInternalWallets.getInternalWallet(whitelistedInternalWalletsApiGetInternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.whitelistedInternalWallets().getInternalWallet(walletId); name: Fireblocks SDK Java example description: |- **This endpoint will be deprecated on December 31, 2025. Currently, the endpoint will only return a wallet's addresses and not any balances.** Retrieves information about all the assets in an internal wallet, which is a wallet owned by you outside of your Fireblocks workspace. Please note that you cannot initiate transactions through Fireblocks using an internal wallet.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - in: path name: walletId required: true description: The ID of the wallet to return schema: type: string responses: '200': description: A Wallet object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UnmanagedWallet' default: $ref: '#/components/responses/Error' operationId: getInternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.getInternalWallet(internalWalletsApiGetInternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.internalWallets().getInternalWallet(walletId); - lang: Python source: >- response = fireblocks.internal_wallets.get_internal_wallet(wallet_id); delete: summary: Delete an internal wallet tags: - Whitelisted Internal Wallets x-readme: code-samples: # - language: python # code: result = firebocks.delete_internal_wallet(walletId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.deleteInternalWallet(walletId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.internalWallets.deleteInternalWallet(internalWalletsApiDeleteInternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.internalWallets().deleteInternalWallet(walletId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.internal_wallets.delete_internal_wallet(wallet_id); name: Fireblocks SDK Python example description: >- Deletes an internal wallet by ID. Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks. - You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - in: path name: walletId required: true description: The ID of the wallet to delete schema: type: string responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: deleteInternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.deleteInternalWallet(internalWalletsApiDeleteInternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.internalWallets().deleteInternalWallet(walletId); - lang: Python source: >- response = fireblocks.internal_wallets.delete_internal_wallet(wallet_id); /internal_wallets/{walletId}/assets: get: summary: List assets in an internal wallet (Paginated) description: |- Returns a paginated response of assets in an internal wallet. This is a new paginated endpoint that gets all the assets from the wallet container with balances.
This endpoint returns a limited amount of results with a quick response time. Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks. - You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets) Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Whitelisted Internal Wallets x-readme: code-samples: - language: python code: internalWalletAssets = fireblocks.get_internal_wallet_assets(walletId, pageSize, pageCursor) name: Fireblocks SDK Python example (Legacy) - language: javascript code: const internalWalletAssets = fireblocks.getInternalWalletAssets(walletId, pageSize, pageCursor); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.internalWallets.getInternalWalletAssetsPaginated(internalWalletsApiGetInternalWalletAssetsPaginatedRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.internalWallets().getInternalWalletAssetsPaginated(walletId, pageSize, pageCursor); name: Fireblocks SDK Java example - language: python code: response = fireblocks.internal_wallets.get_internal_wallet_assets_paginated(wallet_id, page_size, page_cursor); name: Fireblocks SDK Python example parameters: - in: path name: walletId required: true description: The ID of the internal wallet to return assets for schema: type: string - in: query name: pageSize required: false schema: description: Number of assets to return per page minimum: 1 maximum: 200 default: 50 type: number example: 10 - in: query name: pageCursor required: false schema: type: string description: Cursor for pagination responses: '200': description: A paginated response of assets for the internal wallet headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PaginatedAssetsResponse' default: $ref: '#/components/responses/Error' operationId: getInternalWalletAssetsPaginated x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.internalWallets.getInternalWalletAssetsPaginated(internalWalletsApiGetInternalWalletAssetsPaginatedRequest);' - lang: Java source: CompletableFuture> response = fireblocks.internalWallets().getInternalWalletAssetsPaginated(walletId, pageSize, pageCursor); - lang: Python source: response = fireblocks.internal_wallets.get_internal_wallet_assets_paginated(wallet_id, page_size, page_cursor); /internal_wallets/{walletId}/set_customer_ref_id: post: summary: Set an AML/KYT customer reference ID for internal wallet tags: - Whitelisted Internal Wallets x-readme: code-samples: # - language: python # code: >- # result = # firebocks.set_customer_ref_id_for_internal_wallet(wallet_id, # customer_ref_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const result = await fireblocks.setCustomerRefIdForInternalWallet(walletId, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.internalWallets.setCustomerRefIdForInternalWallet(internalWalletsApiSetCustomerRefIdForInternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.internalWallets().setCustomerRefIdForInternalWallet(setCustomerRefIdRequest, walletId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.internal_wallets.set_customer_ref_id_for_internal_wallet(set_customer_ref_id_request, wallet_id, idempotency_key); name: Fireblocks SDK Python example description: >- Sets an AML/KYT customer reference ID for the specific internal wallet. Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks. - You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - in: path name: walletId required: true description: The wallet ID schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetCustomerRefIdRequest' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: setCustomerRefIdForInternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.setCustomerRefIdForInternalWallet(internalWalletsApiSetCustomerRefIdForInternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.internalWallets().setCustomerRefIdForInternalWallet(setCustomerRefIdRequest, walletId, idempotencyKey); - lang: Python source: >- response = fireblocks.internal_wallets.set_customer_ref_id_for_internal_wallet(set_customer_ref_id_request, wallet_id, idempotency_key); /internal_wallets/{walletId}/{assetId}: get: summary: Get an asset from an internal wallet tags: - Whitelisted Internal Wallets x-readme: code-samples: # - language: python # code: >- # internalWalletAsset = # fireblocks.get_internal_wallet_asset(walletId, assetId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const internalWalletAsset = fireblocks.getInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.internalWallets.getInternalWalletAsset(internalWalletsApiGetInternalWalletAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.internalWallets().getInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.internal_wallets.get_internal_wallet_asset(wallet_id, asset_id); name: Fireblocks SDK Python example description: >- Returns information for an asset in an internal wallet. Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks. - You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - in: path name: walletId required: true description: The ID of the wallet schema: type: string - in: path name: assetId required: true description: The ID of the asset to return schema: type: string x-fb-entity: asset responses: '200': description: A Wallet Asset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/WalletAsset' default: $ref: '#/components/responses/Error' operationId: getInternalWalletAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.getInternalWalletAsset(internalWalletsApiGetInternalWalletAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.internalWallets().getInternalWalletAsset(walletId, assetId); - lang: Python source: >- response = fireblocks.internal_wallets.get_internal_wallet_asset(wallet_id, asset_id); post: summary: Add an asset to an internal wallet tags: - Whitelisted Internal Wallets x-readme: code-samples: # - language: python # code: >- # internalWalletAsset = # fireblocks.create_internal_wallet_asset(walletId, assetId, # address, tag) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const internalWalletAsset = await fireblocks.createInternalWalletAsset(walletContainerId, assetId, address, tag); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.internalWallets.createInternalWalletAsset(internalWalletsApiCreateInternalWalletAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.internalWallets().createInternalWalletAsset(walletId, assetId, createInternalWalletAssetRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.internal_wallets.create_internal_wallet_asset(wallet_id, asset_id, create_internal_wallet_asset_request, idempotency_key); name: Fireblocks SDK Python example description: >- Adds an asset to an existing internal wallet. Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks. - You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - in: path name: walletId required: true description: The ID of the wallet schema: type: string - in: path name: assetId required: true description: The ID of the asset to add schema: type: string x-fb-entity: asset - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A Wallet Asset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/WalletAsset' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateInternalWalletAssetRequest' operationId: createInternalWalletAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.createInternalWalletAsset(internalWalletsApiCreateInternalWalletAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.internalWallets().createInternalWalletAsset(walletId, assetId, createInternalWalletAssetRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.internal_wallets.create_internal_wallet_asset(wallet_id, asset_id, create_internal_wallet_asset_request, idempotency_key); delete: summary: Delete a whitelisted address tags: - Whitelisted Internal Wallets x-readme: code-samples: # - language: python # code: >- # result = fireblocks.delete_internal_wallet_asset(walletId, # assetId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const result = await fireblocks.deleteInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.internalWallets.deleteInternalWalletAsset(internalWalletsApiDeleteInternalWalletAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.internalWallets().deleteInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.internal_wallets.delete_internal_wallet_asset(wallet_id, asset_id); name: Fireblocks SDK Python example description: >- Deletes a whitelisted address (for an asset) from an internal wallet. Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks. - You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - in: path name: walletId required: true description: The ID of the wallet schema: type: string - in: path name: assetId required: true description: The ID of the asset to delete schema: type: string x-fb-entity: asset responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: deleteInternalWalletAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.internalWallets.deleteInternalWalletAsset(internalWalletsApiDeleteInternalWalletAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.internalWallets().deleteInternalWalletAsset(walletId, assetId); - lang: Python source: >- response = fireblocks.internal_wallets.delete_internal_wallet_asset(wallet_id, asset_id); /key_link/signing_keys: post: operationId: createSigningKey summary: Add a new signing key description: >- Adds a new signing key to the workspace. The added key will be linked to the specific Fireblocks agent user ID. The same user will receive the proof of ownership message to be signed, and upon successful proof, the key will become enabled. Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateSigningKeyDto' responses: '201': description: Newly created signing key headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SigningKeyDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.createSigningKey(keyLinkBetaApiCreateSigningKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().createSigningKey(createSigningKeyDto, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.key_link_beta.create_signing_key(create_signing_key_dto, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.createSigningKey(keyLinkBetaApiCreateSigningKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().createSigningKey(createSigningKeyDto, idempotencyKey); - lang: Python source: >- response = fireblocks.key_link_beta.create_signing_key(create_signing_key_dto, idempotency_key); get: operationId: getSigningKeysList summary: Get list of signing keys description: >- Returns the list of signing keys in the workspace Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: pageCursor required: false in: query description: Cursor to the next page example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA== schema: type: string - name: pageSize required: false in: query description: Amount of results to return in the next page schema: minimum: 1 maximum: 50 default: 10 type: number - name: sortBy required: false in: query description: Field(s) to use for sorting schema: default: createdAt enum: - createdAt type: string - name: order required: false in: query description: Is the order ascending or descending schema: default: ASC enum: - ASC - DESC type: string - name: vaultAccountId required: false in: query description: Return keys assigned to a specific vault example: 4 schema: type: number - name: agentUserId required: false in: query description: Return keys associated with a specific agent user example: 12fed207-5bdf-4a0c-ab12-fcd2627f75d1 schema: type: string - name: algorithm required: false in: query description: Return only keys with a specific algorithm example: ECDSA_SECP256K1 schema: enum: - ECDSA_SECP256K1 - EDDSA_ED25519 type: string - name: enabled required: false in: query description: Return keys that have been proof of ownership schema: type: boolean - name: available required: false in: query description: >- Return keys that are proof of ownership but not assigned. Available filter can be used only when vaultAccountId and enabled filters are not set schema: type: boolean responses: '200': description: >- List of signing keys and a data that allows requesting the next page if applicable headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetSigningKeyResponseDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.getSigningKeysList(keyLinkBetaApiGetSigningKeysListRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().getSigningKeysList(pageCursor, pageSize, sortBy, order, vaultAccountId, agentUserId, algorithm, enabled, available); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.key_link_beta.get_signing_keys_list(page_cursor, page_size, sort_by, order, vault_account_id, agent_user_id, algorithm, enabled, available); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.getSigningKeysList(keyLinkBetaApiGetSigningKeysListRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().getSigningKeysList(pageCursor, pageSize, sortBy, order, vaultAccountId, agentUserId, algorithm, enabled, available); - lang: Python source: >- response = fireblocks.key_link_beta.get_signing_keys_list(page_cursor, page_size, sort_by, order, vault_account_id, agent_user_id, algorithm, enabled, available); /key_link/signing_keys/{keyId}: get: operationId: getSigningKey summary: Get a signing key by `keyId` description: >- Returns a signing key if it exists, identified by the specified Fireblocks provided `keyId`. Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: keyId required: true in: path description: The unique identifier for the signing key provided by Fireblocks schema: type: string example: 46a92767-5f93-4a46-9eed-f012196bb4fc responses: '200': description: Requested signing key data headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SigningKeyDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.getSigningKey(keyLinkBetaApiGetSigningKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().getSigningKey(keyId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.key_link_beta.get_signing_key(key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.getSigningKey(keyLinkBetaApiGetSigningKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().getSigningKey(keyId); - lang: Python source: response = fireblocks.key_link_beta.get_signing_key(key_id); patch: operationId: updateSigningKey summary: Modify the signing keyId description: >- Allows assigning the signing key to a vault account, if it hasn't been assigned to any other vault accounts yet. Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: keyId required: true in: path description: The unique identifier for the signing key provided by Fireblocks schema: type: string example: 46a92767-5f93-4a46-9eed-f012196bb4fc requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModifySigningKeyDto' responses: '200': description: Modified signing key data headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SigningKeyDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.updateSigningKey(keyLinkBetaApiUpdateSigningKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().updateSigningKey(modifySigningKeyDto, keyId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.key_link_beta.update_signing_key(modify_signing_key_dto, key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.updateSigningKey(keyLinkBetaApiUpdateSigningKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().updateSigningKey(modifySigningKeyDto, keyId); - lang: Python source: >- response = fireblocks.key_link_beta.update_signing_key(modify_signing_key_dto, key_id); /key_link/signing_keys/{keyId}/agent_user_id: patch: operationId: setAgentId summary: >- Set agent user id description: >- Can modify existing signing key id if the key is not enabled. The change done in background and will be visible once applied. If key is already enabled (after proof of ownership) the user cannot be changed. Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: keyId required: true in: path description: The unique identifier for the signing key provided by Fireblocks schema: type: string example: 46a92767-5f93-4a46-9eed-f012196bb4fc requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModifySigningKeyAgentIdDto' responses: '204': description: Agent user id modification process has started in background. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.setAgentId(keyLinkBetaApiSetAgentIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().setAgentId(modifySigningKeyAgentIdDto, keyId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.key_link_beta.set_agent_id(modify_signing_key_agent_id_dto, key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.setAgentId(keyLinkBetaApiSetAgentIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().setAgentId(modifySigningKeyAgentIdDto, keyId); - lang: Python source: >- response = fireblocks.key_link_beta.set_agent_id(modify_signing_key_agent_id_dto, key_id); /key_link/validation_keys: post: operationId: createValidationKey summary: Add a new validation key description: >- Adds a new validation key used to validate signing keys. The new validation key will undergo an approval process by the workspace quorum. Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateValidationKeyDto' responses: '201': description: The validation key that was added and is pending approval. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateValidationKeyResponseDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.createValidationKey(keyLinkBetaApiCreateValidationKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().createValidationKey(createValidationKeyDto, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.key_link_beta.create_validation_key(create_validation_key_dto, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.createValidationKey(keyLinkBetaApiCreateValidationKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().createValidationKey(createValidationKeyDto, idempotencyKey); - lang: Python source: >- response = fireblocks.key_link_beta.create_validation_key(create_validation_key_dto, idempotency_key); get: operationId: getValidationKeysList summary: Get list of registered validation keys description: >- Returns the list of validation keys in the workspace Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: pageCursor required: false in: query description: Cursor to the next page example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA== schema: type: string - name: pageSize required: false in: query description: Amount of results to return in the next page schema: minimum: 1 maximum: 50 default: 10 type: number - name: sortBy required: false in: query description: Field(s) to use for sorting schema: default: createdAt enum: - createdAt type: string - name: order required: false in: query description: Is the order ascending or descending schema: default: ASC enum: - ASC - DESC type: string responses: '200': description: >- Validation keys list along with data required to request the next page if applicable headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetValidationKeyResponseDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.getValidationKeysList(keyLinkBetaApiGetValidationKeysListRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().getValidationKeysList(pageCursor, pageSize, sortBy, order); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.key_link_beta.get_validation_keys_list(page_cursor, page_size, sort_by, order); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.getValidationKeysList(keyLinkBetaApiGetValidationKeysListRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().getValidationKeysList(pageCursor, pageSize, sortBy, order); - lang: Python source: >- response = fireblocks.key_link_beta.get_validation_keys_list(page_cursor, page_size, sort_by, order); /key_link/validation_keys/{keyId}: get: operationId: getValidationKey summary: Get a validation key by `keyId` description: >- Returns a validation key if it exists, identified by the specified `keyId`. Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: keyId required: true in: path schema: type: string responses: '200': description: The requested validation key data headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ValidationKeyDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.getValidationKey(keyLinkBetaApiGetValidationKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().getValidationKey(keyId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.key_link_beta.get_validation_key(key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.getValidationKey(keyLinkBetaApiGetValidationKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().getValidationKey(keyId); - lang: Python source: response = fireblocks.key_link_beta.get_validation_key(key_id); patch: operationId: disableValidationKey summary: Disables a validation key description: >- Allows disabling validation key even if it has not expired yet. It is not allowed to enable the validation key back. Another key has to be used for future validations. Please note that this endpoint is available only for Key Link enabled workspaces.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: keyId required: true in: path description: The unique identifier for the validation key provided by Fireblocks schema: type: string example: 46a92767-5f93-4a46-9eed-f012196bb4fc requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModifyValidationKeyDto' responses: '200': description: Modified validation key data headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ValidationKeyDto' default: $ref: '#/components/responses/Error' tags: - Key Link x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keyLinkBeta.disableValidationKey(keyLinkBetaApiDisableValidationKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keyLinkBeta().disableValidationKey(modifyValidationKeyDto, keyId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.key_link_beta.disable_validation_key(modify_validation_key_dto, key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keyLinkBeta.disableValidationKey(keyLinkBetaApiDisableValidationKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keyLinkBeta().disableValidationKey(modifyValidationKeyDto, keyId); - lang: Python source: >- response = fireblocks.key_link_beta.disable_validation_key(modify_validation_key_dto, key_id); /keys/mpc/list: get: operationId: getMpcKeysList summary: Get list of mpc keys description: >- Returns a list of MPC signing keys of the workspace. For each key, the list of players associated with it is attached. **Note:** This endpoint is currently in beta and might be subject to changes. parameters: [] responses: '200': description: List of mpc keys headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetMpcKeysResponse' default: $ref: '#/components/responses/Error' tags: - Keys (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keysBeta.getMpcKeysList(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keysBeta().getMpcKeysList(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.keys_beta.get_mpc_keys_list(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keysBeta.getMpcKeysList(); - lang: Java source: >- CompletableFuture> response = fireblocks.keysBeta().getMpcKeysList(); - lang: Python source: response = fireblocks.keys_beta.get_mpc_keys_list(); /keys/mpc/list/{userId}: get: operationId: getMpcKeysListByUser summary: Get list of mpc keys by `userId` description: >- Returns a list of MPC signing keys of a specific user. For each key, the list of players associated with it is attached. **Note:** This endpoint is currently in beta and might be subject to changes. parameters: - name: userId required: true in: path description: The id for the user example: 46a92767-5f93-4a46-9eed-f012196bb4fc schema: type: string responses: '200': description: List of mpc keys headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetMpcKeysResponse' default: $ref: '#/components/responses/Error' tags: - Keys (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.keysBeta.getMpcKeysListByUser(keysBetaApiGetMpcKeysListByUserRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.keysBeta().getMpcKeysListByUser(userId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.keys_beta.get_mpc_keys_list_by_user(user_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.keysBeta.getMpcKeysListByUser(keysBetaApiGetMpcKeysListByUserRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.keysBeta().getMpcKeysListByUser(userId); - lang: Python source: response = fireblocks.keys_beta.get_mpc_keys_list_by_user(user_id); /external_wallets: get: summary: List external wallets description: >- Gets a list of external wallets under the workspace. External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties. - You cannot see the balance of the external wallet. - You cannot initiate transactions from an external wallet as the source via Fireblocks.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: externalWallets = fireblocks.get_external_wallets() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const externalWallets = await fireblocks.getExternalWallets(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.getExternalWallets(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.externalWallets().getExternalWallets(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.external_wallets.get_external_wallets(); name: Fireblocks SDK Python example responses: '200': description: A list of external wallets headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetExternalWalletsResponse' default: $ref: '#/components/responses/Error' operationId: getExternalWallets x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.getExternalWallets(); - lang: Java source: >- CompletableFuture>> response = fireblocks.externalWallets().getExternalWallets(); - lang: Python source: response = fireblocks.external_wallets.get_external_wallets(); post: summary: Create an external wallet description: >- Creates a new external wallet with the requested name. External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties. - You cannot see the balance of the external wallet. - You cannot initiate transactions from an external wallet as the source via Fireblocks. Learn more about Whitelisted External Wallet Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#external-wallets).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: >- # externalWallet = fireblocks.create_external_wallet(name, # customer_ref_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const externalWallet = await fireblocks.createExternalWallet(name, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.createExternalWallet(externalWalletsApiCreateExternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.externalWallets().createExternalWallet(createWalletRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.external_wallets.create_external_wallet(create_wallet_request, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A Wallet object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UnmanagedWallet' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWalletRequest' operationId: createExternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.createExternalWallet(externalWalletsApiCreateExternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.externalWallets().createExternalWallet(createWalletRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.external_wallets.create_external_wallet(create_wallet_request, idempotency_key); /external_wallets/{walletId}: get: summary: Find an external wallet description: >- Returns an external wallet by ID. External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties. - You cannot see the balance of the external wallet. - You cannot initiate transactions from an external wallet as the source via Fireblocks.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: externalWallet = fireblocks.get_external_wallet(walletId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const externalWallet = await fireblocks.getExternalWallet(walletId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.getExternalWallet(externalWalletsApiGetExternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.externalWallets().getExternalWallet(walletId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.external_wallets.get_external_wallet(wallet_id); name: Fireblocks SDK Python example parameters: - in: path name: walletId required: true description: The ID of the wallet to return schema: type: string responses: '200': description: A Wallet object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UnmanagedWallet' default: $ref: '#/components/responses/Error' operationId: getExternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.getExternalWallet(externalWalletsApiGetExternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.externalWallets().getExternalWallet(walletId); - lang: Python source: >- response = fireblocks.external_wallets.get_external_wallet(wallet_id); delete: summary: Delete an external wallet description: >- Deletes an external wallet by ID. External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties. - You cannot see the balance of the external wallet. - You cannot initiate transactions from an external wallet as the source via Fireblocks.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: result = firebocks.delete_external_wallet(walletId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.deleteExternalWallet(walletId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.deleteExternalWallet(externalWalletsApiDeleteExternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.externalWallets().deleteExternalWallet(walletId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.external_wallets.delete_external_wallet(wallet_id); name: Fireblocks SDK Python example parameters: - in: path name: walletId required: true description: The ID of the wallet to delete schema: type: string responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: deleteExternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.deleteExternalWallet(externalWalletsApiDeleteExternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.externalWallets().deleteExternalWallet(walletId); - lang: Python source: >- response = fireblocks.external_wallets.delete_external_wallet(wallet_id); /external_wallets/{walletId}/set_customer_ref_id: post: summary: Set an AML customer reference ID for an external wallet description: >- Sets an AML/KYT customer reference ID for the specific external wallet. External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties. - You cannot see the balance of the external wallet. - You cannot initiate transactions from an external wallet as the source via Fireblocks. Learn more about Whitelisted External Wallet Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#external-wallets).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: >- # result = # firebocks.set_customer_ref_id_for_external_wallet(wallet_id, # customer_ref_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const result = await fireblocks.setCustomerRefIdForExternalWallet(walletId, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.setExternalWalletCustomerRefId(externalWalletsApiSetExternalWalletCustomerRefIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.externalWallets().setExternalWalletCustomerRefId(setCustomerRefIdRequest, walletId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.external_wallets.set_external_wallet_customer_ref_id(set_customer_ref_id_request, wallet_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: walletId required: true description: The wallet ID schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetCustomerRefIdRequest' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: setExternalWalletCustomerRefId x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.setExternalWalletCustomerRefId(externalWalletsApiSetExternalWalletCustomerRefIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.externalWallets().setExternalWalletCustomerRefId(setCustomerRefIdRequest, walletId, idempotencyKey); - lang: Python source: >- response = fireblocks.external_wallets.set_external_wallet_customer_ref_id(set_customer_ref_id_request, wallet_id, idempotency_key); /external_wallets/{walletId}/{assetId}: get: summary: Get an asset from an external wallet description: >- Returns an external wallet by wallet ID and asset ID. External Wallet is a whitelisted address of a wallet that belongs to your users/counterparties. - You cannot see the balance of the external wallet. - You cannot initiate transactions from an external wallet as the source via Fireblocks.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: >- # externalWalletAsset = # fireblocks.get_external_wallet_asset(walletId, assetId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const externalWalletAsset = fireblocks.getExternalWalletAsset(walletId, assetId) name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.getExternalWalletAsset(externalWalletsApiGetExternalWalletAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.externalWallets().getExternalWalletAsset(walletId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.external_wallets.get_external_wallet_asset(wallet_id, asset_id); name: Fireblocks SDK Python example parameters: - in: path name: walletId required: true description: The ID of the wallet schema: type: string - in: path name: assetId required: true description: The ID of the asset to return schema: type: string x-fb-entity: asset responses: '200': description: A Wallet Asset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ExternalWalletAsset' default: $ref: '#/components/responses/Error' operationId: getExternalWalletAsset x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.getExternalWalletAsset(externalWalletsApiGetExternalWalletAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.externalWallets().getExternalWalletAsset(walletId, assetId); - lang: Python source: >- response = fireblocks.external_wallets.get_external_wallet_asset(wallet_id, asset_id); post: summary: Add an asset to an external wallet. description: >- Adds an asset to an existing external wallet.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: >- # externalWalletAsset = # fireblocks.create_external_wallet_asset(walletId, assetId, # address, tag) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const externalWalletAsset = await fireblocks.createExternalWalletAsset(walletContainerId, assetId, address, tag); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.addAssetToExternalWallet(externalWalletsApiAddAssetToExternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.externalWallets().addAssetToExternalWallet(walletId, assetId, addAssetToExternalWalletRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.external_wallets.add_asset_to_external_wallet(wallet_id, asset_id, add_asset_to_external_wallet_request, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: walletId required: true description: The ID of the wallet schema: type: string - in: path name: assetId required: true description: The ID of the asset to add schema: type: string x-fb-entity: asset - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A Wallet Asset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ExternalWalletAsset' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddAssetToExternalWalletRequest' operationId: addAssetToExternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.addAssetToExternalWallet(externalWalletsApiAddAssetToExternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.externalWallets().addAssetToExternalWallet(walletId, assetId, addAssetToExternalWalletRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.external_wallets.add_asset_to_external_wallet(wallet_id, asset_id, add_asset_to_external_wallet_request, idempotency_key); delete: summary: Delete an asset from an external wallet description: >- Deletes an external wallet asset by ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted External Wallets x-readme: code-samples: # - language: python # code: >- # result = fireblocks.delete_external_wallet_asset(walletId, # assetId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const result = await fireblocks.deleteExternalWalletAsset(walletId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.externalWallets.removeAssetFromExternalWallet(externalWalletsApiRemoveAssetFromExternalWalletRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.externalWallets().removeAssetFromExternalWallet(walletId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.external_wallets.remove_asset_from_external_wallet(wallet_id, asset_id); name: Fireblocks SDK Python example parameters: - in: path name: walletId required: true description: The ID of the wallet schema: type: string - in: path name: assetId required: true description: The ID of the asset to delete schema: type: string x-fb-entity: asset responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: removeAssetFromExternalWallet x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.externalWallets.removeAssetFromExternalWallet(externalWalletsApiRemoveAssetFromExternalWalletRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.externalWallets().removeAssetFromExternalWallet(walletId, assetId); - lang: Python source: >- response = fireblocks.external_wallets.remove_asset_from_external_wallet(wallet_id, asset_id); /contracts: get: summary: List Whitelisted Contracts description: >- Gets a list of whitelisted contracts.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Whitelisted Contracts responses: '200': description: A list of whitelisted contracts headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetContractsResponse' default: $ref: '#/components/responses/Error' operationId: getContracts x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contracts.getContracts(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.contracts().getContracts(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.contracts.get_contracts(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contracts.getContracts(); - lang: Java source: >- CompletableFuture>> response = fireblocks.contracts().getContracts(); - lang: Python source: response = fireblocks.contracts.get_contracts(); post: summary: Create a Whitelisted Contract description: >- Creates a new whitelisted contract. Learn more about Whitelisted Smart Contracts [here](https://developers.fireblocks.com/docs/whitelist-addresses#contracts).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted Contracts parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A Wallet object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UnmanagedWallet' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateContractRequest' operationId: createContract x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contracts.createContract(contractsApiCreateContractRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contracts().createContract(createContractRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contracts.create_contract(create_contract_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contracts.createContract(contractsApiCreateContractRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contracts().createContract(createContractRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.contracts.create_contract(create_contract_request, idempotency_key); /contracts/{contractId}: get: summary: Find a Specific Whitelisted Contract description: >- Returns a whitelisted contract by Fireblocks Contract ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted Contracts parameters: - in: path name: contractId required: true description: The ID of the contract to return schema: type: string example: 908a8cd0-d41b-4a11-b90c-3493a1060929 responses: '200': description: A Wallet object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UnmanagedWallet' default: $ref: '#/components/responses/Error' operationId: getContract x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contracts.getContract(contractsApiGetContractRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contracts().getContract(contractId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.contracts.get_contract(contract_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contracts.getContract(contractsApiGetContractRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contracts().getContract(contractId); - lang: Python source: response = fireblocks.contracts.get_contract(contract_id); delete: summary: Delete a Whitelisted Contract description: >- Deletes a whitelisted contract by Fireblocks Contract ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted Contracts parameters: - in: path name: contractId required: true description: The ID of the contract to delete schema: type: string example: 908a8cd0-d41b-4a11-b90c-3493a1060929 responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: deleteContract x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contracts.deleteContract(contractsApiDeleteContractRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contracts().deleteContract(contractId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.contracts.delete_contract(contract_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contracts.deleteContract(contractsApiDeleteContractRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contracts().deleteContract(contractId); - lang: Python source: response = fireblocks.contracts.delete_contract(contract_id); /contracts/{contractId}/{assetId}: get: summary: Find a whitelisted contract's asset description: |- Returns a whitelisted contract's asset by ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted Contracts parameters: - in: path name: contractId required: true description: The ID of the contract schema: type: string example: 908a8cd0-d41b-4a11-b90c-3493a1060929 - in: path name: assetId required: true description: The ID of the asset to return schema: type: string x-fb-entity: asset example: ETH responses: '200': description: A Wallet Asset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ExternalWalletAsset' default: $ref: '#/components/responses/Error' operationId: getContractAsset x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contracts.getContractAsset(contractsApiGetContractAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contracts().getContractAsset(contractId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contracts.get_contract_asset(contract_id, asset_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contracts.getContractAsset(contractsApiGetContractAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contracts().getContractAsset(contractId, assetId); - lang: Python source: >- response = fireblocks.contracts.get_contract_asset(contract_id, asset_id); post: summary: Add an Asset to a Whitelisted Contract description: >- Adds an asset to an existing whitelisted contract.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted Contracts parameters: - in: path name: contractId required: true description: The ID of the contract schema: type: string example: 908a8cd0-d41b-4a11-b90c-3493a1060929 - in: path name: assetId required: true description: The ID of the asset to add schema: type: string x-fb-entity: asset example: ETH - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A Wallet Asset object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ExternalWalletAsset' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddContractAssetRequest' operationId: addContractAsset x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contracts.addContractAsset(contractsApiAddContractAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contracts().addContractAsset(contractId, assetId, addContractAssetRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contracts.add_contract_asset(contract_id, asset_id, add_contract_asset_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contracts.addContractAsset(contractsApiAddContractAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contracts().addContractAsset(contractId, assetId, addContractAssetRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.contracts.add_contract_asset(contract_id, asset_id, add_contract_asset_request, idempotency_key); delete: summary: Delete a Whitelisted Contract's Asset description: >- Deletes a whitelisted contract's asset by Fireblocks Contract ID and Asset ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Whitelisted Contracts parameters: - in: path name: contractId required: true description: The ID of the contract schema: type: string example: 908a8cd0-d41b-4a11-b90c-3493a1060929 - in: path name: assetId required: true description: The ID of the asset to delete schema: type: string x-fb-entity: asset example: ETH responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' operationId: deleteContractAsset x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contracts.deleteContractAsset(contractsApiDeleteContractAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contracts().deleteContractAsset(contractId, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contracts.delete_contract_asset(contract_id, asset_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contracts.deleteContractAsset(contractsApiDeleteContractAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contracts().deleteContractAsset(contractId, assetId); - lang: Python source: >- response = fireblocks.contracts.delete_contract_asset(contract_id, asset_id); /assets: get: operationId: listAssets summary: List assets description: | Retrieves a paginated list of all assets supported by Fireblocks in your workspace. **Note:** We will continue to support and display the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice. tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: assets = fireblocks.listAssets(filters) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const assets = await fireblocks.listAssets(filters); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.listAssets(blockchainsAssetsBetaApiListAssetsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().listAssets(blockchainId, assetClass, symbol, scope, deprecated, pageCursor, pageSize, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.blockchains_&_assets_beta.list_assets(blockchain_id, asset_class, symbol, scope, deprecated, page_cursor, page_size, idempotency_key); name: Fireblocks SDK Python example parameters: - name: blockchainId required: false in: query description: Blockchain id of the assets schema: type: string example: 0f672204-a28b-464a-b318-a387abd3d3c7 - name: assetClass required: false in: query description: Assets class schema: $ref: '#/components/schemas/AssetClass' - name: symbol required: false in: query description: Assets onchain symbol schema: minLength: 1 type: string example: ETH - name: scope required: false in: query description: Scope of the assets schema: $ref: '#/components/schemas/AssetScope' - name: deprecated required: false in: query description: Are assets deprecated schema: type: boolean example: false - name: ids required: false in: query description: A list of asset IDs (max 100) schema: type: array items: type: string example: - 3ed32525-70df-45c8-bae3-e69ab56dc095 - 3a3b5f06-61e7-44f0-9962-4425b55795ff - SHANI5_B75VRLGX_MUPA - name: pageCursor required: false in: query description: Next page cursor to fetch schema: type: string example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA== - name: pageSize required: false in: query description: Items per page schema: minimum: 100 maximum: 1000 default: 500 type: number example: 500 - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: List of assets content: application/json: schema: $ref: '#/components/schemas/ListAssetsResponse' '500': description: Error occurred while listing assets content: application/json: schema: $ref: '#/components/schemas/AssetInternalServerErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.listAssets(blockchainsAssetsBetaApiListAssetsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().listAssets(blockchainId, assetClass, symbol, scope, deprecated, pageCursor, pageSize, idempotencyKey); - lang: Python source: >- response = fireblocks.blockchains_&_assets_beta.list_assets(blockchain_id, asset_class, symbol, scope, deprecated, page_cursor, page_size, idempotency_key); post: operationId: registerNewAsset summary: Register an asset description: | Registers a new asset to a workspace and retrieves the newly created asset's details. Currently supported chains are: - EVM-based chains - Algorand - NEAR - Solana - Stellar - Sui - TRON **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, NCW Admin, Editor, Signer. tags: - Blockchains & Assets parameters: - $ref: '#/components/parameters/X-Idempotency-Key' x-readme: code-samples: # - language: python # code: >- # supportedAssets = fireblocks.register_new_asset(blockchainId, # address, symbol) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const supportedAssets = await fireblocks.registerNewAsset(blockchainId, address, symbol); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.blockchainsAssets.registerNewAsset(blockchainsAssetsApiRegisterNewAssetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.blockchainsAssets().registerNewAsset(registerNewAssetRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.blockchains_&_assets.register_new_asset(register_new_asset_request, idempotency_key); name: Fireblocks SDK Python example responses: '200': description: A new asset has been created successfully content: application/json: schema: $ref: '#/components/schemas/AssetResponse' '400': description: > - Listing an asset on the requested blockchain is not supported. Error code: 1000 - The asset address is invalid. Error code: 1003 - Self serve listing an asset on the requested blockchain is currently not supported, please contact support. Error code: 1004 - Blockchain is deprecated. Error code: 1006 - The asset's standard is not supported. Error code: 1007 - Unable to get expected metadata: decimals | name | symbol. Error code: 1010 content: application/json: schema: $ref: '#/components/schemas/AssetBadRequestErrorResponse' '403': description: | - The asset creation quota reached. Error code: 1005 - Tenant is not allowed to create testnet assets. Error code: 1008 - Tenant is not allowed to create mainnet assets. Error code: 1009 content: application/json: schema: $ref: '#/components/schemas/AssetForbiddenErrorResponse' '404': description: | - Invalid address, could not get asset information. Error code 1003 content: application/json: schema: $ref: '#/components/schemas/TokenInfoNotFoundErrorResponse' '409': description: > - The asset is already supported globally. Error code: 1001 - The asset has already been added to this workspace. Error code: 1002 content: application/json: schema: $ref: '#/components/schemas/AssetConflictErrorResponse' '500': description: Failed to create asset content: application/json: schema: $ref: '#/components/schemas/AssetInternalServerErrorResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterNewAssetRequest' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.blockchainsAssets.registerNewAsset(blockchainsAssetsApiRegisterNewAssetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.blockchainsAssets().registerNewAsset(registerNewAssetRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.blockchains_&_assets.register_new_asset(register_new_asset_request, idempotency_key); /assets/{id}: get: operationId: getAsset summary: Get an asset by ID description: | Returns an asset by ID or legacyID.
**Note**: - We will continue displaying and supporting the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice. tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: asset = fireblocks.getAssetById(assetId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const asset = await fireblocks.getAssetById(assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.getAssetById(blockchainsAssetsBetaApiGetAssetByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().getAssetById(id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.blockchains_&_assets_beta.get_asset_by_id(id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: id in: path required: true description: The ID or legacyId of the asset schema: type: string x-fb-entity: asset example: ETH - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Asset with requested identification headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Asset' '404': description: | - Asset with specified ID or legacy ID is not found. Error code 1504 content: application/json: schema: $ref: '#/components/schemas/AssetNotFoundErrorResponse' '500': description: Error occurred while getting an asset content: application/json: schema: $ref: '#/components/schemas/AssetInternalServerErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.getAssetById(blockchainsAssetsBetaApiGetAssetByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().getAssetById(id, idempotencyKey); - lang: Python source: >- response = fireblocks.blockchains_&_assets_beta.get_asset_by_id(id, idempotency_key); patch: operationId: updateAssetUserMetadata summary: Update the user’s metadata for an asset description: |- Update the user’s metadata for an asset. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, NCW Admin, Signer, Editor. tags: - Blockchains & assets x-readme: code-samples: - language: python code: asset = fireblocks.update_asset_user_metadata(asset_id, update_asset_user_metadata_request) name: Fireblocks SDK Python example (Legacy) - language: javascript code: const asset = await fireblocks.updateAssetUserMetadata(assetId, updateAssetUserMetadataRequest); name: Fireblocks SDK Javascript example parameters: - name: id in: path required: true description: The ID or legacyId of the asset schema: type: string x-fb-entity: asset example: ETH - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAssetUserMetadataRequest' responses: "200": description: Updated asset user metadata headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Asset' "404": description: | - Asset with specified ID or legacy ID is not found. Error code 1504 content: application/json: schema: $ref: '#/components/schemas/AssetNotFoundErrorResponse' "500": description: Error occurred while updating asset user metadata content: application/json: schema: $ref: '#/components/schemas/AssetInternalServerErrorResponse' default: $ref: '#/components/responses/Error' /assets/prices/{id}: post: operationId: setAssetPrice summary: Set asset price description: > Set asset price for the given asset id. Returns the asset price response. tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: supportedAssets = fireblocks.set_asset_price(id, currency, price) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const supportedAssets = await fireblocks.setAssetPrice(id, currency, price); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.blockchainsAssets.setAssetPrice(blockchainsAssetsApiSetAssetPriceRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.blockchainsAssets().setAssetPrice(id, setAssetPriceRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.blockchains_&_assets.set_asset_price(id, set_asset_price_request, idempotency_key); name: Fireblocks SDK Python example parameters: - name: id in: path required: true description: The ID of the asset schema: type: string example: ETH - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/SetAssetPriceRequest' responses: '200': description: Asset price has been set successfully. content: application/json: schema: $ref: '#/components/schemas/AssetPriceResponse' '403': description: | - Tenant is not allowed to set rate. Error code: 1002. content: application/json: schema: $ref: '#/components/schemas/AssetPriceForbiddenErrorResponse' '404': description: | - Currency not found. Error code 1001 content: application/json: schema: $ref: '#/components/schemas/AssetPriceNotFoundErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.blockchainsAssets.setAssetPrice(blockchainsAssetsApiSetAssetPriceRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.blockchainsAssets().setAssetPrice(id, setAssetPriceRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.blockchains_&_assets.set_asset_price(id, set_asset_price_request, idempotency_key); /blockchains: get: operationId: listBlockchains summary: List blockchains description: > Returns all blockchains supported by Fireblocks.
tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: blockchains = fireblocks.listBlockchains(filters) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const blockchains = await fireblocks.listBlockchains(filters); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.listBlockchains(blockchainsAssetsBetaApiListBlockchainsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().listBlockchains(protocol, deprecated, test, pageCursor, pageSize); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.blockchains_&_assets_beta.list_blockchains(protocol, deprecated, test, page_cursor, page_size); name: Fireblocks SDK Python example parameters: - name: protocol required: false in: query description: Blockchain protocol schema: type: string example: SOL - name: deprecated required: false in: query description: Is blockchain deprecated schema: type: boolean example: false - name: test required: false in: query description: Is test blockchain schema: type: boolean example: false - name: ids required: false in: query description: A list of blockchain IDs (max 100) schema: type: array items: type: string example: - 3ed32525-70df-45c8-bae3-e69ab56dc095 - 3a3b5f06-61e7-44f0-9962-4425b55795ff - MANTRA - name: pageCursor required: false in: query description: Page cursor to fetch schema: type: string example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA== - name: pageSize required: false in: query description: Items per page (max 500) schema: minimum: 1 maximum: 500 default: 500 type: number example: 500 responses: '200': description: List of supported blockchains content: application/json: schema: $ref: '#/components/schemas/ListBlockchainsResponse' '500': description: Error occurred while listing blockchains content: application/json: schema: $ref: '#/components/schemas/AssetInternalServerErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.listBlockchains(blockchainsAssetsBetaApiListBlockchainsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().listBlockchains(protocol, deprecated, test, pageCursor, pageSize); - lang: Python source: >- response = fireblocks.blockchains_&_assets_beta.list_blockchains(protocol, deprecated, test, page_cursor, page_size); /blockchains/{id}: get: operationId: getBlockchain summary: Get a Blockchain by ID description: | Returns a blockchain by ID or legacyID. tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: blockchain = fireblocks.getBlockchain(blockchainId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const blockchain = await fireblocks.getBlockchain(blockchainId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.getBlockchain(blockchainsAssetsBetaApiGetBlockchainByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().getBlockchain(id); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.blockchains_&_assets_beta.get_blockchain_by_id(id); name: Fireblocks SDK Python example parameters: - name: id in: path required: true description: The ID or legacyId of the blockchain schema: type: string example: ETH responses: '200': description: Blockchain with requested identification headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/BlockchainResponse' '404': description: > - Blockchain with specified ID or legacy ID is not found. Error code 1505 content: application/json: schema: $ref: '#/components/schemas/BlockchainNotFoundErrorResponse' '500': description: Error occurred while getting blockchain content: application/json: schema: $ref: '#/components/schemas/AssetInternalServerErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.blockchainsAssetsBeta.getBlockchainById(blockchainsAssetsBetaApiGetBlockchainByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.blockchainsAssetsBeta().getBlockchainById(id); - lang: Python source: >- response = fireblocks.blockchains_&_assets_beta.get_blockchain_by_id(id); /transactions: get: summary: Get transaction history description: | Get the transaction history for your workspace. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Transactions x-readme: code-samples: # - language: python # code: transactions = fireblocks.get_transactions(status, after) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: | const transactions = await fireblocks.getTransactions({ status: args.status, after: from }); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.transactions().getTransactions(before, after, status, orderBy, sort, limit, sourceType, sourceId, destType, destId, assets, txHash, sourceWalletId, destWalletId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.get_transactions(before, after, status, order_by, sort, limit, source_type, source_id, dest_type, dest_id, assets, tx_hash, source_wallet_id, dest_wallet_id); name: Fireblocks SDK Python example parameters: - in: query name: before description: > Unix timestamp in milliseconds. Returns only transactions created before the specified date. Provides an explicit end time. If not provided, default value will be applied, and may change over time. The current default value is the past 90 days. required: false schema: type: string example: '1716735252121' - in: query name: after description: > Unix timestamp in milliseconds. Returns only transactions created after the specified date. Provides an explicit start time. If not provided, default value will be applied, and may change over time. The current default value is the past 90 days. required: false schema: type: string example: '1716735250121' - in: query name: status description: You can filter by one of the statuses. required: false schema: $ref: '#/components/schemas/TransactionStatus' - in: query name: orderBy description: | The field to order the results by. **Note:** Ordering by a field that is not `createdAt` may result in transactions that receive updates as you request the next or previous pages of results, resulting in missing those transactions. required: false schema: type: string enum: - createdAt - lastUpdated - in: query name: sort description: The direction to order the results by required: false schema: type: string enum: - ASC - DESC - in: query name: limit description: >- Limits the number of results. If not provided, a limit of 200 will be used. The maximum allowed limit is 500 required: false schema: type: integer minimum: 1 default: 200 example: 50 - in: query name: sourceType description: The source type of the transaction required: false schema: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - INTERNAL_WALLET - EXTERNAL_WALLET - CONTRACT - FIAT_ACCOUNT - NETWORK_CONNECTION - COMPOUND - UNKNOWN - GAS_STATION - END_USER_WALLET - in: query name: sourceId description: The source ID of the transaction required: false schema: type: string example: '0' - in: query name: destType description: The destination type of the transaction required: false schema: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - INTERNAL_WALLET - EXTERNAL_WALLET - CONTRACT - FIAT_ACCOUNT - NETWORK_CONNECTION - COMPOUND - ONE_TIME_ADDRESS - END_USER_WALLET - MULTI_DESTINATION - in: query name: destId description: The destination ID of the transaction required: false schema: type: string example: '2' - in: query name: assets description: A list of assets to filter by, seperated by commas required: false schema: type: string example: ETH,BTC - in: query name: txHash description: Returns only results with a specified txHash required: false schema: type: string example: '0x578b26ea55c018ab2ae595a4a2e2b05d39a3e455ddf36b2d6adc1cbc01bed4d1' - in: query name: sourceWalletId description: Returns only results where the source is a specific end user wallet required: false schema: type: string example: f01d8d3c-b1a3-4b33-8515-d99137117ace - in: query name: destWalletId description: >- Returns only results where the destination is a specific end user wallet required: false schema: type: string example: bccab295-e1de-4768-85cc-a11fdb11218f responses: '200': description: A list of transactions headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' next-page: $ref: '#/components/headers/next-page' prev-page: $ref: '#/components/headers/prev-page' content: application/json: schema: $ref: '#/components/schemas/GetTransactionsResponse' default: $ref: '#/components/responses/Error' operationId: getTransactions x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.transactions().getTransactions(before, after, status, orderBy, sort, limit, sourceType, sourceId, destType, destId, assets, txHash, sourceWalletId, destWalletId); - lang: Python source: >- response = fireblocks.transactions.get_transactions(before, after, status, order_by, sort, limit, source_type, source_id, dest_type, dest_id, assets, tx_hash, source_wallet_id, dest_wallet_id); post: summary: Create a new transaction description: >- Creates a new transaction. This endpoint can be used for regular Transfers, Contract Calls, Raw & Typed message signing. - For Transfers, the required parameters are: `assetId`, `source`, `destination` and `amount`. - For Contract Calls, the required parameters are: `operation.CONTRACT_CALL`, `assetId` (Base Asset), `source`, `destination`, `amount` (usually 0) and `extraParameters` object with `contractCallData` string. - For Solana Program Calls, the required parameters are: `operation.PROGRAM_CALL`, `assetId` (SOL/SOL_TEST), `source`, and `extraParameters` object with `programCallData` key while the value is a Base64 encoded unsigned serialized Solana transaction object. - Typed Message Signing is supported for the following asset IDs: 'ETH', 'BTC' and 'TRX'. [Typed Message Signing Guide](https://developers.fireblocks.com/docs/typed-message-signing-overview). - To create ZEC transaction, please call [Get unspent UTXO Input endpoint](https://developers.fireblocks.com/reference/getunspentinputs) to get the amount and use it as an input under `networkfee` on this endpoint. Please use this formula `(0.0001 + 0.00005*N) where N is the number of inputs` to calculate the fee needed and use it as an input under networkFee field - When using `maxFee` and a boost is needed, the user should set a custom `gasPrice` to force the override. Learn more about Fireblocks Transactions management in the following [guide](https://developers.fireblocks.com/reference/create-transactions).
Endpoint Permission: Admin, Signer, Editor. tags: - Transactions parameters: - $ref: '#/components/parameters/X-End-User-Wallet-Id' - $ref: '#/components/parameters/X-Idempotency-Key' x-readme: code-samples: # - language: python # code: > # tx_result = client.create_transaction( asset_id="BTC", # amount="50", source=TransferPeerPath(VAULT_ACCOUNT, # from_vault_account_id), # destination=DestinationTransferPeerPath(VAULT_ACCOUNT, # to_vault_account_id) ) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: > const payload: TransactionArguments = { assetId: asset, source: { type: sourceType, id: sourceId || 0 }, destination: { type: destinationType, id: String(destinationId) }, amount: String(amount), fee: String(fee), note: "Created by fireblocks SDK" }; const result = await fireblocks.createTransaction(payload); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().createTransaction(transactionRequest, xEndUserWalletId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.create_transaction(transaction_request, x_end_user_wallet_id, idempotency_key); name: Fireblocks SDK Python example responses: '200': description: A transaction object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateTransactionResponse' default: $ref: '#/components/responses/Error' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TransactionRequest' operationId: createTransaction x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().createTransaction(transactionRequest, xEndUserWalletId, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.create_transaction(transaction_request, x_end_user_wallet_id, idempotency_key); /transactions/estimate_fee: post: summary: Estimate transaction fee description: >- Estimates the transaction fee for a specific transaction request. This endpoint simulates a transaction which means that the system will expect to have the requested asset and balance in the specified wallet. **Note**: Supports all Fireblocks assets except ZCash (ZEC). Learn more about Fireblocks Fee Management in the following [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee).
Endpoint Permission: Admin, Signer, Approver, Editor. tags: - Transactions x-readme: code-samples: # - language: python # code: > # estimated_fee = client.estimate_fee_for_transaction( # asset_id="BTC", amount="50", # source=TransferPeerPath(VAULT_ACCOUNT, from_vault_account_id), # destination=DestinationTransferPeerPath(VAULT_ACCOUNT, # to_vault_account_id) ) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: > const payload: TransactionArguments = { assetId: asset, source: { type: sourceType, id: sourceId || 0 }, destination: { type: destinationType, id: String(destinationId) }, amount: Number(amount) }; const estimatedFee = await fireblocks.estimateFeeForTransaction(payload); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().estimateTransactionFee(transactionRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.estimate_transaction_fee(transaction_request, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/TransactionRequest' responses: '200': description: Estimated fees response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/EstimatedTransactionFeeResponse' default: $ref: '#/components/responses/Error' operationId: estimateTransactionFee x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().estimateTransactionFee(transactionRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.estimate_transaction_fee(transaction_request, idempotency_key); /transactions/{txId}: get: summary: Get a specific transaction by Fireblocks transaction ID description: >- Get a specific transaction data by Fireblocks Transaction ID
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Transactions x-readme: code-samples: # - language: python # code: tx = fireblocks.get_transaction_by_id(txId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const tx = await fireblocks.getTransactionById(txId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().getTransaction(txId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.transactions.get_transaction(tx_id); name: Fireblocks SDK Python example parameters: - in: path name: txId required: true example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 description: The ID of the transaction to return schema: type: string responses: '200': description: A Transaction object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' '400': $ref: '#/components/responses/Error' default: $ref: '#/components/responses/Error' operationId: getTransaction x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().getTransaction(txId); - lang: Python source: response = fireblocks.transactions.get_transaction(tx_id); /transactions/external_tx_id/{externalTxId}: get: summary: Get a specific transaction by external transaction ID description: >- Returns transaction by external transaction ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. tags: - Transactions x-readme: code-samples: # - language: python # code: tx = fireblocks.get_transaction_by_external_tx_id(externalTxId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const tx = await fireblocks.getTransactionByExternalTxId(externalTxId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().getTransactionByExternalId(externalTxId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.get_transaction_by_external_id(external_tx_id); name: Fireblocks SDK Python example parameters: - in: path name: externalTxId required: true description: The external ID of the transaction to return schema: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 responses: '200': description: An Transaction object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' default: $ref: '#/components/responses/Error' operationId: getTransactionByExternalId x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().getTransactionByExternalId(externalTxId); - lang: Python source: >- response = fireblocks.transactions.get_transaction_by_external_id(external_tx_id); /transactions/{txId}/set_confirmation_threshold: post: summary: Set confirmation threshold by Fireblocks Transaction ID description: >- Overrides the required number of confirmations for transaction completion Fireblocks Transaction ID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Transactions x-readme: code-samples: # - language: python # code: >- # set_conf_threshold = # client.set_confirmation_threshold_by_tx_id(body) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const setConfThreshold = await fireblocks.setConfirmationThresholdByTxId(body); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().setTransactionConfirmationThreshold(txId, setConfirmationsThresholdRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.set_transaction_confirmation_threshold(tx_id, set_confirmations_threshold_request, idempotency_key); name: Fireblocks SDK Python example requestBody: content: application/json: schema: $ref: '#/components/schemas/SetConfirmationsThresholdRequest' parameters: - in: path name: txId required: true description: The ID of the transaction schema: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Set successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetConfirmationsThresholdResponse' default: $ref: '#/components/responses/Error' operationId: setTransactionConfirmationThreshold x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().setTransactionConfirmationThreshold(txId, setConfirmationsThresholdRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.set_transaction_confirmation_threshold(tx_id, set_confirmations_threshold_request, idempotency_key); /transactions/{txId}/drop: post: summary: Drop ETH (EVM) transaction by ID description: >- Drops a stuck ETH (EVM) transaction and creates a replacement transaction with 0 amount.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Transactions x-readme: code-samples: # - language: python # code: result = fireblocks.drop_transaction(txId, fee_level) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.dropTransaction(txId, feeLevel); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().dropTransaction(txId, dropTransactionRequest, xEndUserWalletId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.drop_transaction(tx_id, drop_transaction_request, x_end_user_wallet_id, idempotency_key); name: Fireblocks SDK Python example requestBody: content: application/json: schema: $ref: '#/components/schemas/DropTransactionRequest' parameters: - in: path name: txId required: true description: The ID of the transaction schema: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 - $ref: '#/components/parameters/X-End-User-Wallet-Id' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Operation completed successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DropTransactionResponse' default: $ref: '#/components/responses/Error' operationId: dropTransaction x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().dropTransaction(txId, dropTransactionRequest, xEndUserWalletId, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.drop_transaction(tx_id, drop_transaction_request, x_end_user_wallet_id, idempotency_key); /transactions/{txId}/cancel: post: summary: Cancel a transaction description: >- Cancels a transaction by Fireblocks Transaction ID. Can be used only for transactions that did not get to the BROADCASTING state.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Transactions x-readme: code-samples: # - language: python # code: result = fireblocks.cancel_transaction_by_id(txId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.cancelTransactionById(txId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().cancelTransaction(txId, xEndUserWalletId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.cancel_transaction(tx_id, x_end_user_wallet_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: txId required: true description: The Fireblocks Transaction ID of the transaction to cancel schema: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 - $ref: '#/components/parameters/X-End-User-Wallet-Id' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: An Transaction object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CancelTransactionResponse' default: $ref: '#/components/responses/Error' operationId: cancelTransaction x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().cancelTransaction(txId, xEndUserWalletId, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.cancel_transaction(tx_id, x_end_user_wallet_id, idempotency_key); /transactions/{txId}/freeze: post: summary: Freeze a transaction description: >- Freezes a transaction by ID. Usually used for AML integrations when the incoming funds should be quarantined. For account based assets - the entire amount of the transaction is frozen For UTXO based assets - all UTXOs of the specified transaction are frozen
Endpoint Permission: Admin, Non-Signing Admin. tags: - Transactions x-readme: code-samples: # - language: python # code: result = fireblocks.freeze_transaction_by_id(txId); # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.freezeTransactionById(txId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().freezeTransaction(txId, xEndUserWalletId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.freeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: txId required: true description: The ID of the transaction to freeze schema: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 - $ref: '#/components/parameters/X-End-User-Wallet-Id' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Freeze Transaction Response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/FreezeTransactionResponse' operationId: freezeTransaction x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().freezeTransaction(txId, xEndUserWalletId, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.freeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key); /transactions/{txId}/unfreeze: post: summary: Unfreeze a transaction description: >- Unfreezes a transaction by Fireblocks Transaction ID and makes the transaction available again.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Transactions x-readme: code-samples: # - language: python # code: result = fireblocks.unfreeze_transaction_by_id(txId) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.unfreezeTransactionById(txId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().unfreezeTransaction(txId, xEndUserWalletId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.unfreeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: txId required: true description: The ID of the transaction to unfreeze schema: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 - $ref: '#/components/parameters/X-End-User-Wallet-Id' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Unfreeze response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UnfreezeTransactionResponse' operationId: unfreezeTransaction x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().unfreezeTransaction(txId, xEndUserWalletId, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.unfreeze_transaction(tx_id, x_end_user_wallet_id, idempotency_key); /transactions/validate_address/{assetId}/{address}: get: summary: Validate destination address description: >- Checks if an address is valid and active (for XRP, DOT, XLM, and EOS).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: result = fireblocks.(asset_id, address) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.(assetId, address); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.validateAddress(transactionsApiValidateAddressRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().validateAddress(assetId, address); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.validate_address(asset_id, address); name: Fireblocks SDK Python example parameters: - in: path name: assetId required: true description: The asset of the address schema: type: string x-fb-entity: asset example: XRP - in: path name: address required: true description: The address to validate schema: type: string example: rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn responses: '200': description: Validate Address Response Object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ValidateAddressResponse' default: $ref: '#/components/responses/Error' operationId: validateAddress x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.validateAddress(transactionsApiValidateAddressRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().validateAddress(assetId, address); - lang: Python source: >- response = fireblocks.transactions.validate_address(asset_id, address); /txHash/{txHash}/set_confirmation_threshold: post: summary: Set confirmation threshold by transaction hash description: >- Overrides the required number of confirmations for transaction completion by transaction hash.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Transactions x-readme: code-samples: # - language: python # code: >- # set_conf_threshold = # client.set_confirmation_threshold_by_tx_hash(body) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const setConfThreshold = await fireblocks.setConfirmationThresholdByTxHash(body); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.setConfirmationThresholdByTransactionHash(transactionsApiSetConfirmationThresholdByTransactionHashRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().setConfirmationThresholdByTransactionHash(txHash, setConfirmationsThresholdRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.transactions.set_confirmation_threshold_by_transaction_hash(tx_hash, set_confirmations_threshold_request, idempotency_key); name: Fireblocks SDK Python example requestBody: content: application/json: schema: $ref: '#/components/schemas/SetConfirmationsThresholdRequest' parameters: - in: path name: txHash required: true description: The TxHash schema: type: string example: '0xf6223863e56b9f56a31f74d2bb1e96c28ea8421e6a8598e69a6b2525a89d5de5' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: A list of transactions affected by the change headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetConfirmationsThresholdResponse' default: $ref: '#/components/responses/Error' operationId: setConfirmationThresholdByTransactionHash x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.setConfirmationThresholdByTransactionHash(transactionsApiSetConfirmationThresholdByTransactionHashRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().setConfirmationThresholdByTransactionHash(txHash, setConfirmationsThresholdRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.transactions.set_confirmation_threshold_by_transaction_hash(tx_hash, set_confirmations_threshold_request, idempotency_key); /estimate_network_fee: get: summary: Estimate the required fee for an asset description: >- Gets the estimated required fee for an asset. Fireblocks fetches, calculates and caches the result every 30 seconds. Customers should query this API while taking the caching interval into consideration. Notes: - The `networkFee` parameter is the `gasPrice` with a given delta added, multiplied by the gasLimit plus the delta. - The estimation provided depends on the asset type. - For UTXO-based assets, the response contains the `feePerByte` parameter - For ETH-based and all EVM based assets, the response will contain `gasPrice` parameter. This is calculated by adding the `baseFee` to the `actualPriority` based on the latest 12 blocks. The response for ETH-based contains the `baseFee`, `gasPrice`, and `priorityFee` parameters. - For ADA-based assets, the response will contain the parameter `networkFee` and `feePerByte` parameters. - For XRP and XLM, the response will contain the transaction fee. - For other assets, the response will contain the `networkFee` parameter. Learn more about Fireblocks Fee Management in the following [guide](https://developers.fireblocks.com/reference/estimate-transaction-fee).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: fee_result = fireblocks.get_fee_for_asset(asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const feeResult = await fireblocks.getFeeForAsset(assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.transactions.estimateNetworkFee(transactionsApiEstimateNetworkFeeRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.transactions().estimateNetworkFee(assetId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.transactions.estimate_network_fee(asset_id); name: Fireblocks SDK Python example parameters: - in: query name: assetId description: The asset for which to estimate the fee required: true schema: type: string x-fb-entity: asset example: ETH responses: '200': description: Estimated fees response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/EstimatedNetworkFeeResponse' default: $ref: '#/components/responses/Error' operationId: estimateNetworkFee x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.transactions.estimateNetworkFee(transactionsApiEstimateNetworkFeeRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.transactions().estimateNetworkFee(assetId); - lang: Python source: response = fireblocks.transactions.estimate_network_fee(asset_id); /supported_assets: get: summary: List assets (Legacy) description: | **This legacy endpoint has not been deprecated but it should not be used in your operations. Instead, use the new [List assets](https://developers.fireblocks.com/reference/listassets) endpoint for better performance and to retrieve more detailed asset information.** Retrieves all assets supported by Fireblocks in your workspace. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Blockchains & Assets x-readme: code-samples: # - language: python # code: supportedAssets = fireblocks.get_supported_assets() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const supportedAssets = await fireblocks.getSupportedAssets(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.blockchainsAssets.getSupportedAssets(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.blockchainsAssets().getSupportedAssets(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.blockchains_&_assets.get_supported_assets(); name: Fireblocks SDK Python example responses: '200': description: Supported Assets Response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetSupportedAssetsResponse' default: $ref: '#/components/responses/Error' operationId: getSupportedAssets x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.blockchainsAssets.getSupportedAssets(); - lang: Java source: >- CompletableFuture>> response = fireblocks.blockchainsAssets().getSupportedAssets(); - lang: Python source: response = fireblocks.blockchains_&_assets.get_supported_assets(); /payments/payout: post: tags: - Payments - Payout description: >- **Note:** The reference content in this section documents the Payments Engine endpoint. The Payments Engine endpoints include APIs available only for customers with Payments Engine enabled on their accounts.

These endpoints are currently in beta and might be subject to changes.

If you want to learn more about Fireblocks Payments Engine, please contact your Fireblocks Customer Success Manager or email CSM@fireblocks.com.

Create a payout instruction set.
A payout instruction set is a set of instructions for distributing payments from a single payment account to a list of payee accounts.
The instruction set defines:
  • the payment account and its account type (vault, exchange, or fiat).
  • the account type (vault account, exchange account, whitelisted address, network connection, fiat account, or merchant account), the amount, and the asset of payment for each payee account.
Learn more about Fireblocks Payments - Payouts in the following [guide](https://developers.fireblocks.com/docs/create-payouts).
Endpoint Permission: Admin, Non-Signing Admin. summary: Create a payout instruction set parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePayoutRequest' example: paymentAccount: id: EX_SUB1 type: EXCHANGE_ACCOUNT instructionSet: - payeeAccount: id: bef85a1c-b605-4b2e-bdb5-2d400f4d0bf3 type: EXTERNAL_WALLET amount: amount: '43' assetId: USDC - payeeAccount: id: 3adc1f92-e791-44a8-9aee-7f31c2108b78 type: NETWORK_CONNECTION amount: amount: '4423' assetId: USDC responses: '200': description: >- The payout instruction set creation succeeded and returns the generated instruction set with a unique payout IDThe payout ID will be used for executing the payout and checking the payout status. content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' example: payoutId: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7 paymentAccount: id: EX_SUB2 type: EXCHANGE_ACCOUNT createdAt: 1645365800 state: REQUESTED status: REGISTERED initMethod: API instructionSet: - id: 6ea4a016-536b-49af-b1a0-40b343ccf879 name: payee-wallet-name payeeAccount: id: bef85a1c-b605-4b2e-bdb5-2d400f4d0bf3 type: EXTERNAL_WALLET amount: amount: '43' assetId: USDC state: NOT_STARTED transactions: [] - id: e783a79b-6acc-4d18-885d-ed533cad8eeb name: payee-by-network payeeAccount: id: 3adc1f92-e791-44a8-9aee-7f31c2108b78 type: NETWORK_CONNECTION amount: amount: '4423.23' assetId: USDC state: NOT_STARTED transactions: [] '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: createPayout x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.paymentsPayout.createPayout(paymentsPayoutApiCreatePayoutRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.paymentsPayout().createPayout(createPayoutRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.payments_payout.create_payout(create_payout_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.paymentsPayout.createPayout(paymentsPayoutApiCreatePayoutRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.paymentsPayout().createPayout(createPayoutRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.payments_payout.create_payout(create_payout_request, idempotency_key); /payments/payout/{payoutId}/actions/execute: post: tags: - Payments - Payout summary: Execute a payout instruction set description: >- **Note:** The reference content in this section documents the Payments Engine endpoint. The Payments Engine endpoints include APIs available only for customers with Payments Engine enabled on their accounts.

These endpoints are currently in beta and might be subject to changes.

If you want to learn more about Fireblocks Payments Engine, please contact your Fireblocks Customer Success Manager or email CSM@fireblocks.com.

Execute a payout instruction set.

The instruction set will be verified and executed.
Source locking
If you are executing a payout instruction set from a payment account with an already active payout the active payout will complete before the new payout instruction set can be executed.
You cannot execute the same payout instruction set more than once.
Endpoint Permission: Admin, Non-Signing Admin. parameters: - name: payoutId description: >- the payout id received from the creation of the payout instruction set in: path schema: type: string required: true example: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7 - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Executed the payout instruction set content: application/json: schema: $ref: '#/components/schemas/DispatchPayoutResponse' example: payoutId: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7 '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: executePayoutAction x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.paymentsPayout.executePayoutAction(paymentsPayoutApiExecutePayoutActionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.paymentsPayout().executePayoutAction(payoutId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.payments_payout.execute_payout_action(payout_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.paymentsPayout.executePayoutAction(paymentsPayoutApiExecutePayoutActionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.paymentsPayout().executePayoutAction(payoutId, idempotencyKey); - lang: Python source: >- response = fireblocks.payments_payout.execute_payout_action(payout_id, idempotency_key); /payments/payout/{payoutId}: get: tags: - Payments - Payout summary: Get the status of a payout instruction set description: >- **Note:** The reference content in this section documents the Payments Engine endpoint. The Payments Engine endpoints include APIs available only for customers with Payments Engine enabled on their accounts.

These endpoints are currently in beta and might be subject to changes.

If you want to learn more about Fireblocks Payments Engine, please contact your Fireblocks Customer Success Manager or email CSM@fireblocks.com.

Endpoint Permission: Admin, Non-Signing Admin. parameters: - name: payoutId description: >- the payout id received from the creation of the payout instruction set in: path schema: type: string required: true example: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7 responses: '200': description: >- Returns the current status of the payout instruction set, including the status of each payout instruction and the transactions created in the process. content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' example: payoutId: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7 paymentAccount: id: EX_SUB3 type: EXCHANGE_ACCOUNT createdAt: 1645365800 state: FINALIZED status: DONE initMethod: API instructionSet: - id: 6ea4a016-536b-49af-b1a0-40b343ccf879 name: payee-wallet-name payeeAccount: id: bef85a1c-b605-4b2e-bdb5-2d400f4d0bf3 type: EXTERNAL_WALLET amount: amount: '4312' assetId: USDC state: COMPLETED transactions: - id: 35a4b10c-1f83-4f0b-ba2a-da0e73be2d6e state: COMPLETED timestamp: 1645367429 - id: e783a79b-6acc-4d18-885d-ed533cad8eeb name: payee-by-network payeeAccount: id: 3adc1f92-e791-44a8-9aee-7f31c2108b78 type: NETWORK_CONNECTION amount: amount: '4423.23' assetId: USDC state: COMPLETED transactions: - id: 4505e7d9-bfc7-41bc-9750-54311fcbbf26 state: COMPLETED timestamp: 1645367449 reportUrl: >- https://some-url.com/reports/cc5777c1-75a9-4337-aebd-f1f5a40a9391 '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: No payout with the given payout ID exists. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: getPayout x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.paymentsPayout.getPayout(paymentsPayoutApiGetPayoutRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.paymentsPayout().getPayout(payoutId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.payments_payout.get_payout(payout_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.paymentsPayout.getPayout(paymentsPayoutApiGetPayoutRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.paymentsPayout().getPayout(payoutId); - lang: Python source: response = fireblocks.payments_payout.get_payout(payout_id); /payments/workflow_config: post: x-internal: true tags: - Payments - Flows description: >- Generate a new configuration ID to be used for initiating executions in subsequent phases. This configuration should include the operations you intend to incorporate into the workflow, such as TRANSFER, CONVERT, and DISBURSE, in addition to your pre-screening preferences, which are disabled by default. Learn more about Fireblocks Payments - Flows in the following [guide](https://developers.fireblocks.com/docs/payment-flows-copy).
Endpoint Permission: Admin, Non-Signing Admin. summary: Create payment flow configuration parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWorkflowConfigurationRequest' responses: '202': description: Configuration is being generated content: application/json: schema: $ref: '#/components/schemas/WorkflowConfiguration' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: createFlowConfiguration /payments/workflow_config/{configId}: get: x-internal: true tags: - Payments - Flows description: >- Retrieve a previously created workflow configuration using the specified "configId".
Endpoint Permission: Admin, Non-Signing Admin. summary: Retrieve workflow configuration parameters: - name: configId in: path schema: type: string description: The created configuration unique identifier example: 98822424-15ad-498c-9ef4-19c7430b4b6e required: true responses: '200': description: Returns a workflow configuration content: application/json: schema: $ref: '#/components/schemas/WorkflowConfiguration' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: getFlowConfiguration delete: x-internal: true tags: - Payments - Flows description: >- Delete a configuration using the specified "configId".
Endpoint Permission: Admin, Non-Signing Admin. summary: Delete workflow configuration parameters: - name: configId in: path schema: type: string description: The created configuration unique identifier example: 98822424-15ad-498c-9ef4-19c7430b4b6e required: true responses: '200': description: The specified configuration has been deleted successfully. content: application/json: schema: $ref: '#/components/schemas/WorkflowConfigurationId' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: deleteFlowConfiguration /payments/workflow_execution: post: x-internal: true tags: - Payments - Flows description: >- Validate the "workflow-config" previously created by utilizing the unique "configId". This step requires the mandatory field amount, and allows for modifications to other fields defined via the "workflow-config" endpoint, including pre-screening preferences. A response containing the "workflowExecutionId" and detailing the validation status will be provided. Execution is ready when the "workflow-execution" status is READY_FOR_LAUNCH, at which point it can be initiated with "POST /workflow-execution/{workflowExecutionId}/actions/execute". Learn more about Fireblocks Payments - Flows in the following [guide](https://developers.fireblocks.com/docs/payment-flows-copy).
Endpoint Permission: Admin, Non-Signing Admin. summary: Create workflow execution parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWorkflowExecutionRequest' responses: '200': description: Workflow execution entity has been created successfully. content: application/json: schema: $ref: '#/components/schemas/WorkflowExecution' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: createFlowExecution /payments/workflow_execution/{workflowExecutionId}: get: x-internal: true tags: - Payments - Flows description: >- Retrieve details of a previously initiated workflow execution by specifying the "workflowExecutionId"
Endpoint Permission: Admin, Non-Signing Admin. summary: Get workflow execution details parameters: - name: workflowExecutionId in: path schema: type: string required: true responses: '200': description: Returns workflow execution by id with preview info content: application/json: schema: $ref: '#/components/schemas/WorkflowExecution' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: getFlowExecution /payments/workflow_execution/{workflowExecutionId}/actions/execute: post: x-internal: true tags: - Payments - Flows description: >- Launch the execution of a pre-configured workflow, identified by "workflowExecutionId", once it reaches the READY_FOR_LAUNCH state. The workflow undergoes several phases during execution - EXECUTION_IN_PROGRESS - Marks the start of the workflow execution. EXECUTION_COMPLETED or EXECUTION_FAILED - Indicates the execution has reached a final state.
Endpoint Permission: Admin, Non-Signing Admin. summary: Execute the payments workflow parameters: - name: workflowExecutionId in: path schema: type: string required: true - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Workflow execution has been executed content: application/json: schema: $ref: '#/components/schemas/WorkflowExecution' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: launchFlowExecution /gas_station: get: summary: Get gas station settings description: >- Returns gas station settings and ETH balance.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Gas Station x-readme: code-samples: # - language: python # code: gas_station_info = fireblocks.get_gas_station_info() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const gasStationInfo = await fireblocks.gasStationInfo(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.gasStations.getGasStationInfo(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.gasStations().getGasStationInfo(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.gas_stations.get_gas_station_info(); name: Fireblocks SDK Python example responses: '200': description: Gas Station properties headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GasStationPropertiesResponse' default: $ref: '#/components/responses/Error' operationId: getGasStationInfo x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.gasStations.getGasStationInfo(); - lang: Java source: >- CompletableFuture> response = fireblocks.gasStations().getGasStationInfo(); - lang: Python source: response = fireblocks.gas_stations.get_gas_station_info(); /gas_station/{assetId}: get: summary: Get gas station settings by asset description: >- Returns gas station settings and balances for a requested asset.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Gas Station x-readme: code-samples: # - language: python # code: gas_station_info = fireblocks.get_gas_station_info(asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const gasStationInfo = await fireblocks.gasStationInfo(assetId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.gasStations.getGasStationByAssetId(gasStationsApiGetGasStationByAssetIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.gasStations().getGasStationByAssetId(assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.gas_stations.get_gas_station_by_asset_id(asset_id); name: Fireblocks SDK Python example parameters: - in: path required: true name: assetId description: The ID of the asset schema: type: string x-fb-entity: asset example: ETH responses: '200': description: Gas Station properties headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GasStationPropertiesResponse' default: $ref: '#/components/responses/Error' operationId: getGasStationByAssetId x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.gasStations.getGasStationByAssetId(gasStationsApiGetGasStationByAssetIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.gasStations().getGasStationByAssetId(assetId); - lang: Python source: >- response = fireblocks.gas_stations.get_gas_station_by_asset_id(asset_id); /gas_station/configuration: put: summary: Edit gas station settings description: >- Configures gas station settings for ETH. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Gas Station x-readme: code-samples: # - language: python # code: >- # gas_station = # fireblocks.set_gas_station_configuration(gas_threshold, gas_cap, # max_gas_price, asset_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const gasStation = await fireblocks.setGasStationConfiguration(gasThreshold, gasCap, maxGasPrice) name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.gasStations.updateGasStationConfiguration(gasStationsApiUpdateGasStationConfigurationRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.gasStations().updateGasStationConfiguration(gasStationConfiguration, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.gas_stations.update_gas_station_configuration(gas_station_configuration, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GasStationConfiguration' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/EditGasStationConfigurationResponse' default: $ref: '#/components/responses/Error' operationId: updateGasStationConfiguration x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.gasStations.updateGasStationConfiguration(gasStationsApiUpdateGasStationConfigurationRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.gasStations().updateGasStationConfiguration(gasStationConfiguration, idempotencyKey); - lang: Python source: >- response = fireblocks.gas_stations.update_gas_station_configuration(gas_station_configuration, idempotency_key); /gas_station/configuration/{assetId}: put: operationId: updateGasStationConfigurationByAssetId summary: Edit gas station settings for an asset description: >- Configures gas station settings for a requested asset. Learn more about the Fireblocks Gas Station in the following [guide](https://developers.fireblocks.com/docs/work-with-gas-station).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Gas Station parameters: - in: path required: true name: assetId description: The ID of the asset schema: type: string x-fb-entity: asset example: ETH - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GasStationConfiguration' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/EditGasStationConfigurationResponse' default: $ref: '#/components/responses/Error' x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.gasStations.updateGasStationConfigurationByAssetId(gasStationsApiUpdateGasStationConfigurationByAssetIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.gasStations().updateGasStationConfigurationByAssetId(gasStationConfiguration, assetId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.gas_stations.update_gas_station_configuration_by_asset_id(gas_station_configuration, asset_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.gasStations.updateGasStationConfigurationByAssetId(gasStationsApiUpdateGasStationConfigurationByAssetIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.gasStations().updateGasStationConfigurationByAssetId(gasStationConfiguration, assetId, idempotencyKey); - lang: Python source: >- response = fireblocks.gas_stations.update_gas_station_configuration_by_asset_id(gas_station_configuration, asset_id, idempotency_key); /management/user_groups: get: operationId: getUserGroups summary: List user groups description: >- Get all user groups in your workspace - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.userGroupsBeta.getUserGroups(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.userGroupsBeta().getUserGroups(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.user_groups_beta.get_user_groups(); name: Fireblocks SDK Python example tags: - Workspace Management responses: '200': description: List of the user groups in your workspace headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UserGroupsResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.userGroupsBeta.getUserGroups(); - lang: Java source: >- CompletableFuture>> response = fireblocks.userGroupsBeta().getUserGroups(); - lang: Python source: response = fireblocks.user_groups_beta.get_user_groups(); post: operationId: createUserGroup summary: Create user group description: >- Create a new user group. Users with the Viewer role cannot be added to groups.
Endpoint Permission: Admin, Non-Signing Admin. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.userGroupsBeta.createUserGroup(userGroupsBetaApiCreateUserGroupRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.userGroupsBeta().createUserGroup(userGroupCreateRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.user_groups_beta.create_user_group(user_group_create_request, idempotency_key); name: Fireblocks SDK Python example tags: - Workspace Management parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserGroupCreateRequest' responses: '201': description: User group created and pending approval headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateUserGroupResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.userGroupsBeta.createUserGroup(userGroupsBetaApiCreateUserGroupRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.userGroupsBeta().createUserGroup(userGroupCreateRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.user_groups_beta.create_user_group(user_group_create_request, idempotency_key); /management/user_groups/{groupId}: get: operationId: getUserGroup summary: Get user group description: >- Get a user group by ID - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management parameters: - in: path required: true name: groupId description: The ID of the user group schema: type: string example: 777d084b-e1d5-4040-8d73-38c8f8a321b2 responses: '200': description: User group headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UserGroupResponse' default: $ref: '#/components/responses/Error' x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.userGroupsBeta.getUserGroup(userGroupsBetaApiGetUserGroupRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.userGroupsBeta().getUserGroup(groupId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.user_groups_beta.get_user_group(group_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.userGroupsBeta.getUserGroup(userGroupsBetaApiGetUserGroupRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.userGroupsBeta().getUserGroup(groupId); - lang: Python source: response = fireblocks.user_groups_beta.get_user_group(group_id); put: operationId: updateUserGroup summary: Update user group description: >- Update a user group by ID - Please note that this endpoint is available only for API keys with Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management parameters: - in: path required: true name: groupId description: The ID of the user group schema: type: string example: 777d084b-e1d5-4040-8d73-38c8f8a321b2 - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserGroupUpdateRequest' responses: '200': description: User group updated and the changes are pending approval headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/UserGroupCreateResponse' default: $ref: '#/components/responses/Error' x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.userGroupsBeta.updateUserGroup(userGroupsBetaApiUpdateUserGroupRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.userGroupsBeta().updateUserGroup(userGroupUpdateRequest, groupId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.user_groups_beta.update_user_group(user_group_update_request, group_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.userGroupsBeta.updateUserGroup(userGroupsBetaApiUpdateUserGroupRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.userGroupsBeta().updateUserGroup(userGroupUpdateRequest, groupId, idempotencyKey); - lang: Python source: >- response = fireblocks.user_groups_beta.update_user_group(user_group_update_request, group_id, idempotency_key); delete: operationId: deleteUserGroup summary: Delete user group description: >- Delete a user group by ID.
- Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management parameters: - in: path required: true name: groupId description: The ID of the user group schema: type: string example: 777d084b-e1d5-4040-8d73-38c8f8a321b2 responses: '204': description: Request to delete user group submitted for approval headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.userGroupsBeta.deleteUserGroup(userGroupsBetaApiDeleteUserGroupRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.userGroupsBeta().deleteUserGroup(groupId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.user_groups_beta.delete_user_group(group_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.userGroupsBeta.deleteUserGroup(userGroupsBetaApiDeleteUserGroupRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.userGroupsBeta().deleteUserGroup(groupId); - lang: Python source: response = fireblocks.user_groups_beta.delete_user_group(group_id); /users: get: summary: List users deprecated: true description: >- DEPRECATED - please use `GET /management/users` instead
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: # - language: python # code: users = fireblocks.get_users() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const users = await fireblocks.getUsers(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.users.getUsers(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.users().getUsers(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.users.get_users(); name: Fireblocks SDK Python example responses: '200': description: List of users headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetUsersResponse' default: $ref: '#/components/responses/Error' operationId: getUsers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.users.getUsers(); - lang: Java source: >- CompletableFuture>> response = fireblocks.users().getUsers(); - lang: Python source: response = fireblocks.users.get_users(); /audits: get: summary: Get audit logs deprecated: true description: >- Deprecated. Please use the `GET /management/audit_logs` endpoint instead.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: python code: audits = fireblocks.get_audit_logs(TimePeriod.DAY) name: Fireblocks SDK Python example - language: javascript code: const audits = await fireblocks.getAuditsLogs(TimePeriod.DAY); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.workspaceManagement.getAudits(workspaceManagementApiGetAuditsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.workspaceManagement().getAudits(timePeriod); name: Fireblocks SDK Java example parameters: - in: query name: timePeriod required: false description: The last time period to fetch audit logs schema: type: string enum: - DAY - WEEK responses: '200': description: Audit logs from requested time period headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetAuditLogsResponseDTO' default: $ref: '#/components/responses/Error' operationId: getAudits x-codeSamples: - lang: python label: Python source: audits = fireblocks.get_audit_logs(TimePeriod.DAY) - lang: javascript label: Javascript source: const audits = await fireblocks.getAuditsLogs(TimePeriod.DAY); /management/audit_logs: get: summary: Get audit logs description: >- Get Audit logs for the last Day/Week. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.auditLogs.getAuditLogs(auditLogsApiGetAuditLogsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.auditLogs().getAuditLogs(timePeriod, cursor); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.audit_logs.get_audit_logs(time_period, cursor); name: Fireblocks SDK Python example parameters: - in: query name: timePeriod required: false description: The last time period to fetch audit logs schema: type: string enum: - DAY - WEEK - in: query name: cursor required: false description: The next id to start fetch audit logs from schema: type: string example: next_page_cursor responses: '200': description: Audit logs from requested time period headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetAuditLogsResponse' default: $ref: '#/components/responses/Error' operationId: getAuditLogs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.auditLogs.getAuditLogs(auditLogsApiGetAuditLogsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.auditLogs().getAuditLogs(timePeriod, cursor); - lang: Python source: >- response = fireblocks.audit_logs.get_audit_logs(time_period, cursor); /off_exchange/add: post: summary: Add Collateral description: >- Add collateral and create deposit request. Learn more about Fireblocks Off Exchange in the following [guide](https://developers.fireblocks.com/docs/off-exchange).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Off Exchange parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/AddCollateralRequestBody' responses: '200': description: A transaction object content: application/json: schema: $ref: '#/components/schemas/CreateTransactionResponse' default: $ref: '#/components/responses/Error' operationId: addOffExchange x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.offExchanges.addOffExchange(offExchangesApiAddOffExchangeRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.offExchanges().addOffExchange(addCollateralRequestBody, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.off_exchanges.add_off_exchange(add_collateral_request_body, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.offExchanges.addOffExchange(offExchangesApiAddOffExchangeRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.offExchanges().addOffExchange(addCollateralRequestBody, idempotencyKey); - lang: Python source: >- response = fireblocks.off_exchanges.add_off_exchange(add_collateral_request_body, idempotency_key); /off_exchange/remove: post: summary: Remove Collateral description: >- Remove collateral and create withdraw request.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Off Exchange parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/RemoveCollateralRequestBody' responses: '200': description: A transaction object content: application/json: schema: $ref: '#/components/schemas/CreateTransactionResponse' default: $ref: '#/components/responses/Error' operationId: removeOffExchange x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.offExchanges.removeOffExchange(offExchangesApiRemoveOffExchangeRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.offExchanges().removeOffExchange(removeCollateralRequestBody, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.off_exchanges.remove_off_exchange(remove_collateral_request_body, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.offExchanges.removeOffExchange(offExchangesApiRemoveOffExchangeRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.offExchanges().removeOffExchange(removeCollateralRequestBody, idempotencyKey); - lang: Python source: >- response = fireblocks.off_exchanges.remove_off_exchange(remove_collateral_request_body, idempotency_key); /off_exchange/settlements/trader: post: summary: Create Settlement for a Trader description: >- Create settlement for a trader. Learn more about Fireblocks Off Exchange in the following [guide](https://developers.fireblocks.com/docs/off-exchange).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Off Exchange parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/SettlementRequestBody' responses: '201': description: A settlement object content: application/json: schema: $ref: '#/components/schemas/SettlementResponse' default: $ref: '#/components/responses/Error' operationId: settleOffExchangeTrades x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.offExchanges.settleOffExchangeTrades(offExchangesApiSettleOffExchangeTradesRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.offExchanges().settleOffExchangeTrades(settlementRequestBody, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.off_exchanges.settle_off_exchange_trades(settlement_request_body, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.offExchanges.settleOffExchangeTrades(offExchangesApiSettleOffExchangeTradesRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.offExchanges().settleOffExchangeTrades(settlementRequestBody, idempotencyKey); - lang: Python source: >- response = fireblocks.off_exchanges.settle_off_exchange_trades(settlement_request_body, idempotency_key); /off_exchange/settlements/transactions: get: summary: Get Settlements Transactions description: >- Get settlements transactions from exchange.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Off Exchange parameters: - in: query name: mainExchangeAccountId required: true schema: type: string responses: '200': description: A settlement transactions content: application/json: schema: $ref: '#/components/schemas/ExchangeSettlementTransactionsResponse' default: $ref: '#/components/responses/Error' operationId: getOffExchangeSettlementTransactions x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.offExchanges.getOffExchangeSettlementTransactions(offExchangesApiGetOffExchangeSettlementTransactionsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.offExchanges().getOffExchangeSettlementTransactions(mainExchangeAccountId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.off_exchanges.get_off_exchange_settlement_transactions(main_exchange_account_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.offExchanges.getOffExchangeSettlementTransactions(offExchangesApiGetOffExchangeSettlementTransactionsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.offExchanges().getOffExchangeSettlementTransactions(mainExchangeAccountId); - lang: Python source: >- response = fireblocks.off_exchanges.get_off_exchange_settlement_transactions(main_exchange_account_id); /off_exchange/collateral_accounts/{mainExchangeAccountId}: get: summary: Find a specific collateral exchange account description: >- Returns a collateral account by mainExchangeAccountId.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Off Exchange parameters: - in: path name: mainExchangeAccountId required: true description: >- The id of the main exchange account for which the requested collateral account is associated with schema: type: string example: c2896695-4263-40af-a15c-4348b294b5c4 responses: '200': description: An ExchangeAccount object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ExchangeAccount' default: $ref: '#/components/responses/Error' operationId: getOffExchangeCollateralAccounts x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.offExchanges.getOffExchangeCollateralAccounts(offExchangesApiGetOffExchangeCollateralAccountsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.offExchanges().getOffExchangeCollateralAccounts(mainExchangeAccountId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.off_exchanges.get_off_exchange_collateral_accounts(main_exchange_account_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.offExchanges.getOffExchangeCollateralAccounts(offExchangesApiGetOffExchangeCollateralAccountsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.offExchanges().getOffExchangeCollateralAccounts(mainExchangeAccountId); - lang: Python source: >- response = fireblocks.off_exchanges.get_off_exchange_collateral_accounts(main_exchange_account_id); /webhooks/resend: post: summary: Resend failed webhooks description: | **Deprecation notice:** Webhooks v1 will be deprecated in March 2026. Please use the Developer Center in the Fireblocks Console to upgrade to Webhooks v2, which offers improved reliability, performance, and observability. Resends all failed webhook notifications.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Webhooks x-readme: code-samples: # - language: python # code: result = fireblocks.resend_webhooks() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const result = await fireblocks.resendWebhooks(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.webhooks.resendWebhooks(webhooksApiResendWebhooksRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooks().resendWebhooks(idempotencyKey); name: Fireblocks SDK Java example - language: python code: response = fireblocks.webhooks.resend_webhooks(idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ResendWebhooksResponse' default: $ref: '#/components/responses/Error' operationId: resendWebhooks x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooks.resendWebhooks(webhooksApiResendWebhooksRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooks().resendWebhooks(idempotencyKey); - lang: Python source: response = fireblocks.webhooks.resend_webhooks(idempotency_key); /webhooks/resend/{txId}: post: summary: Resend webhooks for a transaction by ID description: | **Deprecation notice:** Webhooks v1 will be deprecated in March 2026. Please use the Developer Center in the Fireblocks Console to upgrade to Webhooks v2, which offers improved reliability, performance, and observability. Resends webhook notifications for a transaction by its unique identifier. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor. tags: - Webhooks x-readme: code-samples: # - language: python # code: >- # result = fireblocks.resend_transaction_webhooks_by_id(txId, # resend_created, resend_status_updated) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const result = await fireblocks.resendTransactionWebhooksById(txId, resendCreated, resendStatusUpdated); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.webhooks.resendTransactionWebhooks(webhooksApiResendTransactionWebhooksRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooks().resendTransactionWebhooks(resendTransactionWebhooksRequest, txId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.webhooks.resend_transaction_webhooks(resend_transaction_webhooks_request, tx_id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: txId required: true description: The ID of the transaction for webhooks schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResendTransactionWebhooksRequest' responses: '200': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ResendWebhooksByTransactionIdResponse' default: $ref: '#/components/responses/Error' operationId: resendTransactionWebhooks x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooks.resendTransactionWebhooks(webhooksApiResendTransactionWebhooksRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooks().resendTransactionWebhooks(resendTransactionWebhooksRequest, txId, idempotencyKey); - lang: Python source: >- response = fireblocks.webhooks.resend_transaction_webhooks(resend_transaction_webhooks_request, tx_id, idempotency_key); /webhooks: post: operationId: createWebhook summary: Create a new webhook description: | Creates a new webhook, which will be triggered on the specified events **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateWebhookRequest' responses: '201': description: created new webhook successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Webhook' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.webhooksV2.createWebhook(webhooksV2ApiCreateWebhookRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooksV2().createWebhook(createWebhookRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.webhooks_v2.create_webhook(create_webhook_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooksV2.createWebhook(webhooksV2ApiCreateWebhookRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooksV2().createWebhook(createWebhookRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.webhooks_v2.create_webhook(create_webhook_request, idempotency_key); get: operationId: getWebhooks summary: Get all webhooks description: | Get all webhooks (paginated). **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. parameters: - name: order required: false in: query description: ASC / DESC ordering (default DESC) schema: default: DESC example: ASC enum: - ASC - DESC type: string - name: pageCursor required: false in: query description: Cursor of the required page schema: type: string - name: pageSize required: false in: query description: Maximum number of items on the page schema: minimum: 1 maximum: 100 default: 10 example: 10 type: number responses: '200': description: A paginated response containing WebhookDto objects headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/WebhookPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.webhooksV2.getWebhooks(webhooksV2ApiGetWebhooksRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooksV2().getWebhooks(order, pageCursor, pageSize); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.webhooks_v2.get_webhooks(order, page_cursor, page_size); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooksV2.getWebhooks(webhooksV2ApiGetWebhooksRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooksV2().getWebhooks(order, pageCursor, pageSize); - lang: Python source: >- response = fireblocks.webhooks_v2.get_webhooks(order, page_cursor, page_size); /webhooks/{webhookId}: get: operationId: getWebhook summary: Get webhook by id description: | Retrieve a webhook by its ID. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. parameters: - name: webhookId required: true in: path description: The unique identifier of the webhook schema: format: uuid example: 44fcead0-7053-4831-a53a-df7fb90d440f type: string responses: '200': description: A webhook object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Webhook' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.webhooksV2.getWebhook(webhooksV2ApiGetWebhookRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooksV2().getWebhook(webhookId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.webhooks_v2.get_webhook(webhook_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooksV2.getWebhook(webhooksV2ApiGetWebhookRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooksV2().getWebhook(webhookId); - lang: Python source: response = fireblocks.webhooks_v2.get_webhook(webhook_id); patch: operationId: updateWebhook summary: Update webhook description: | Update a webhook by its ID. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. parameters: - name: webhookId required: true in: path description: The unique identifier of the webhook schema: format: uuid example: 44fcead0-7053-4831-a53a-df7fb90d440f type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateWebhookRequest' responses: '200': description: Updated webhook object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Webhook' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.webhooksV2.updateWebhook(webhooksV2ApiUpdateWebhookRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooksV2().updateWebhook(updateWebhookRequest, webhookId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.webhooks_v2.update_webhook(update_webhook_request, webhook_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooksV2.updateWebhook(webhooksV2ApiUpdateWebhookRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooksV2().updateWebhook(updateWebhookRequest, webhookId); - lang: Python source: >- response = fireblocks.webhooks_v2.update_webhook(update_webhook_request, webhook_id); delete: operationId: deleteWebhook summary: Delete a webhook description: | Delete a webhook by its ID. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. parameters: - name: webhookId required: true in: path description: The unique identifier of the webhook schema: format: uuid example: 44fcead0-7053-4831-a53a-df7fb90d440f type: string responses: '200': description: Deleted webhook object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Webhook' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.webhooksV2.deleteWebhook(webhooksV2ApiDeleteWebhookRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooksV2().deleteWebhook(webhookId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.webhooks_v2.delete_webhook(webhook_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooksV2.deleteWebhook(webhooksV2ApiDeleteWebhookRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooksV2().deleteWebhook(webhookId); - lang: Python source: response = fireblocks.webhooks_v2.delete_webhook(webhook_id); /webhooks/{webhookId}/notifications: get: operationId: getNotifications summary: Get all notifications by webhook ID description: | Get all notifications by webhook ID (paginated). **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. parameters: - name: webhookId required: true in: path schema: format: uuid example: 44fcead0-7053-4831-a53a-df7fb90d440f type: string - name: order required: false in: query description: ASC / DESC ordering (default DESC) schema: default: DESC example: ASC enum: - ASC - DESC type: string - name: sortBy required: false in: query description: Sort by field (id, createdAt, updatedAt, status, eventType, resourceId) schema: default: id example: id enum: - id - createdAt - updatedAt - status - eventType - resourceId type: string - name: pageCursor required: false in: query description: Cursor of the required page schema: type: string - name: pageSize required: false in: query description: Maximum number of items on the page schema: minimum: 1 maximum: 100 default: 100 example: 10 type: number - name: startTime required: false in: query description: Start time in milliseconds since epoch to filter by notifications created after this time (default 31 days ago) schema: example: '1625097600000' type: string - name: endTime required: false in: query description: End time in milliseconds since epoch to filter by notifications created before this time (default current time) schema: example: '1625017600000' type: string - name: statuses required: false in: query description: List of notification statuses to filter by schema: example: COMPLETED type: array items: $ref: '#/components/schemas/NotificationStatus' - name: events required: false in: query description: List of webhook event types to filter by schema: example: - transaction.created - transaction.status.updated type: array items: $ref: '#/components/schemas/WebhookEvent' - name: resourceId required: false in: query description: Resource ID to filter by schema: type: string responses: '200': description: A paginated response containing NotificationExternalDTO objects headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/NotificationPaginatedResponse' tags: - Webhooks V2 x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.webhooksV2.getNotifications(webhooksV2ApiGetNotificationsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooksV2().getNotifications(webhookId, order, pageCursor, pageSize, createdStartDate, createdEndDate, statuses, eventTypes, resourceId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.webhooks_v2.get_notifications(webhook_id, order, page_cursor, page_size, created_start_date, created_end_date, statuses, event_types, resource_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooksV2.getNotifications(webhooksV2ApiGetNotificationsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooksV2().getNotifications(webhookId, order, pageCursor, pageSize, createdStartDate, createdEndDate, statuses, eventTypes, resourceId); - lang: Python source: >- response = fireblocks.webhooks_v2.get_notifications(webhook_id, order, page_cursor, page_size, created_start_date, created_end_date, statuses, event_types, resource_id); /webhooks/{webhookId}/notifications/{notificationId}/resend: post: operationId: resendNotificationById summary: Resend notification by ID description: | Resend a notification by its ID. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor. parameters: - name: webhookId description: The ID of the webhook required: true in: path schema: type: string - name: notificationId description: The ID of the notification required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: "202": description: Resend notification request was accepted and is being processed headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 /webhooks/{webhookId}/notifications/resend_by_resource: post: operationId: resendNotificationsByResourceId summary: Resend notifications by resource ID description: | Resend notifications by their resource ID. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' - name: webhookId description: The ID of the webhook required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResendNotificationsByResourceIdRequest' responses: "202": description: Resend notifications by resource request was accepted and is being processed headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 /webhooks/{webhookId}/notifications/{notificationId}: get: operationId: getNotification summary: Get notification by ID description: | Get a notification by its notification ID. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. parameters: - name: includeData description: Include the data of the notification required: false in: query schema: type: boolean - name: webhookId description: The ID of the webhook to fetch required: true in: path schema: type: string - name: notificationId description: The ID of the notification to fetch required: true in: path schema: type: string responses: '200': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/NotificationWithData' tags: - Webhooks V2 x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.webhooksV2.getNotification(webhooksV2ApiGetNotificationRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.webhooksV2().getNotification(webhookId, notificationId, includeData); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.webhooks_v2.get_notification(webhook_id, notification_id, include_data); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.webhooksV2.getNotification(webhooksV2ApiGetNotificationRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.webhooksV2().getNotification(webhookId, notificationId, includeData); - lang: Python source: >- response = fireblocks.webhooks_v2.get_notification(webhook_id, notification_id, include_data); /webhooks/{webhookId}/notifications/{notificationId}/attempts: get: operationId: getNotificationAttempts summary: Get notification attempts description: Get notification attempts by notification ID. parameters: - name: webhookId description: The ID of the webhook to fetch required: true in: path schema: type: string - name: notificationId description: The ID of the notification to fetch required: true in: path schema: type: string - name: pageCursor required: false in: query description: Cursor of the required page schema: type: string - name: pageSize required: false in: query description: Maximum number of items in the page schema: minimum: 1 maximum: 100 default: 10 example: 10 type: number responses: "200": description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/NotificationAttemptsPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-rate-limit-category: query /webhooks/{webhookId}/notifications/resend_failed: post: operationId: resendFailedNotifications summary: Resend failed notifications description: | Resend all failed notifications for a webhook in the last 24 hours. **Endpoint Permission:** Owner, Admin, Non-Signing Admin, Signer, Editor. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' - name: webhookId description: The ID of the webhook required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResendFailedNotificationsRequest' responses: "200": description: No failed notifications to resend headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ResendFailedNotificationsResponse' "202": description: Resend failed notifications request was accepted and is being processed headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' Location: $ref: '#/components/headers/Location' content: application/json: schema: $ref: '#/components/schemas/ResendFailedNotificationsResponse' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-rate-limit-category: high_compute /webhooks/{webhookId}/notifications/resend_failed/jobs/{jobId}: get: operationId: getResendJobStatus summary: Get resend job status description: Get the status of a resend job. parameters: - name: webhookId description: The ID of the webhook required: true in: path schema: type: string - name: jobId description: The ID of the resend job required: true in: path schema: type: string responses: "200": description: Job status headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ResendFailedNotificationsJobStatusResponse' default: $ref: '#/components/responses/Error' tags: - Webhooks V2 x-rate-limit-category: read /tokenization/templates: get: operationId: getContractTemplates summary: List all contract templates description: >- Return minimal representation of all the contract templates available for the workspace.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: limit required: false in: query description: Items per page (max 100) schema: minimum: 1 maximum: 100 default: 100 type: number - name: offset required: false in: query description: Paging offset schema: minimum: 0 default: 0 type: number - 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: type required: false in: query description: >- The type of the contract templates you wish to retrieve. Can accept one type, more or none example: FUNGIBLE_TOKEN schema: type: string enum: - FUNGIBLE_TOKEN - NON_FUNGIBLE_TOKEN - TOKEN_UTILITY - name: initializationPhase required: false description: >- For standalone contracts use ON_DEPLOYMENT and for contracts that are behind proxies use POST_DEPLOYMENT in: query schema: enum: - ON_DEPLOYMENT - POST_DEPLOYMENT type: string x-readme: code-samples: # - language: python # code: contract_templates = fireblocks.get_contract_templates() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const contractTemplates = await fireblocks.getContractTemplates(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractTemplates.getContractTemplates(contractTemplatesApiGetContractTemplatesRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractTemplates().getContractTemplates(limit, offset, pageCursor, pageSize, type, initializationPhase); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_templates.get_contract_templates(limit, offset, page_cursor, page_size, type, initialization_phase); name: Fireblocks SDK Python example responses: '200': description: List of contract templates was returned successfully content: application/json: schema: $ref: '#/components/schemas/TemplatesPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Contract Templates x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractTemplates.getContractTemplates(contractTemplatesApiGetContractTemplatesRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractTemplates().getContractTemplates(limit, offset, pageCursor, pageSize, type, initializationPhase); - lang: Python source: >- response = fireblocks.contract_templates.get_contract_templates(limit, offset, page_cursor, page_size, type, initialization_phase); post: operationId: uploadContractTemplate summary: Upload contract template description: >- Upload a new contract template. This contract template will be available for the workspace.
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/ContractUploadRequest' x-readme: code-samples: # - language: python # code: template = fireblocks.upload_contract_template(upload_request) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const contractTemplate = await fireblocks.uploadContractTemplate(uploadRequest); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractTemplates.uploadContractTemplate(contractTemplatesApiUploadContractTemplateRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractTemplates().uploadContractTemplate(contractUploadRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_templates.upload_contract_template(contract_upload_request, idempotency_key); name: Fireblocks SDK Python example responses: '201': description: Contract was uploaded successfully content: application/json: schema: $ref: '#/components/schemas/ContractTemplateDto' default: $ref: '#/components/responses/Error' tags: - Contract Templates x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractTemplates.uploadContractTemplate(contractTemplatesApiUploadContractTemplateRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractTemplates().uploadContractTemplate(contractUploadRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.contract_templates.upload_contract_template(contract_upload_request, idempotency_key); /tokenization/templates/{contractTemplateId}: get: operationId: getContractTemplateById summary: Return contract template by id description: >- Return detailed information about the contract template.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: contractTemplateId required: true in: path description: The Contract Template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d schema: type: string x-readme: code-samples: # - language: python # code: contract_template = fireblocks.get_contract_template(contract_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const contractTemplate = await fireblocks.getContractTemplate(contractId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractTemplates.getContractTemplateById(contractTemplatesApiGetContractTemplateByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractTemplates().getContractTemplateById(contractTemplateId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_templates.get_contract_template_by_id(contract_template_id); name: Fireblocks SDK Python example responses: '200': description: Contract template was returned successfully content: application/json: schema: $ref: '#/components/schemas/ContractTemplateDto' '404': description: Could not find contract. content: application/json: schema: $ref: '#/components/schemas/HttpContractDoesNotExistError' default: $ref: '#/components/responses/Error' tags: - Contract Templates x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractTemplates.getContractTemplateById(contractTemplatesApiGetContractTemplateByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractTemplates().getContractTemplateById(contractTemplateId); - lang: Python source: >- response = fireblocks.contract_templates.get_contract_template_by_id(contract_template_id); delete: operationId: deleteContractTemplateById summary: Delete a contract template by id description: >- Delete a contract by id. allowed only for private contract templates. Notice: it is irreversible!
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor parameters: - name: contractTemplateId required: true in: path description: The Contract Template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d schema: type: string x-readme: code-samples: # - language: python # code: fireblocks.deleteContractTemplate(contract_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: await fireblocks.getContractTemplate(contractId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractTemplates.deleteContractTemplateById(contractTemplatesApiDeleteContractTemplateByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractTemplates().deleteContractTemplateById(contractTemplateId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_templates.delete_contract_template_by_id(contract_template_id); name: Fireblocks SDK Python example responses: '204': description: Contract was deleted successfully '404': description: Could not find contract. content: application/json: schema: $ref: '#/components/schemas/HttpContractDoesNotExistError' default: $ref: '#/components/responses/Error' tags: - Contract Templates x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractTemplates.deleteContractTemplateById(contractTemplatesApiDeleteContractTemplateByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractTemplates().deleteContractTemplateById(contractTemplateId); - lang: Python source: >- response = fireblocks.contract_templates.delete_contract_template_by_id(contract_template_id); /tokenization/templates/{contractTemplateId}/constructor: get: operationId: getConstructorByContractTemplateId summary: Return contract template's constructor description: >- Return contract template's constructor ABI.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: contractTemplateId required: true in: path description: The Contract Template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d schema: type: string - name: withDocs required: false in: query description: true if you want to get the abi with its docs schema: default: false type: boolean x-readme: code-samples: # - language: python # code: >- # contract_constructor_abi = # fireblocks.get_contract_template_constructor(contract_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const contractConstructorAbi = await fireblocks.getContractTemplateConstructor(contractId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractTemplates.getConstructorByContractTemplateId(contractTemplatesApiGetConstructorByContractTemplateIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractTemplates().getConstructorByContractTemplateId(contractTemplateId, withDocs); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_templates.get_constructor_by_contract_template_id(contract_template_id, with_docs); name: Fireblocks SDK Python example responses: '200': description: Contract template's constructor ABI was returned successfully content: application/json: schema: $ref: '#/components/schemas/AbiFunction' '404': description: Could not find contract. content: application/json: schema: $ref: '#/components/schemas/HttpContractDoesNotExistError' default: $ref: '#/components/responses/Error' tags: - Contract Templates x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractTemplates.getConstructorByContractTemplateId(contractTemplatesApiGetConstructorByContractTemplateIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractTemplates().getConstructorByContractTemplateId(contractTemplateId, withDocs); - lang: Python source: >- response = fireblocks.contract_templates.get_constructor_by_contract_template_id(contract_template_id, with_docs); /tokenization/templates/{contractTemplateId}/function: get: operationId: getFunctionAbiByContractTemplateId summary: Return contract template's function description: >- Return contract template`s function ABI by signature.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: contractTemplateId required: true in: path description: The Contract Template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d schema: type: string - name: functionSignature description: The contract's function signature required: true example: initialize(string,string,address) in: query schema: type: string responses: '200': description: Contract template`s function ABI was returned successfully content: application/json: schema: $ref: '#/components/schemas/AbiFunction' '404': description: Could not find contract. content: application/json: schema: $ref: '#/components/schemas/HttpContractDoesNotExistError' default: $ref: '#/components/responses/Error' tags: - Contract Templates x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.contractTemplates.getFunctionAbiByContractTemplateId(contractTemplatesApiGetFunctionAbiByContractTemplateIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractTemplates().getFunctionAbiByContractTemplateId(contractTemplateId, functionSignature); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_templates.get_function_abi_by_contract_template_id(contract_template_id, function_signature); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractTemplates.getFunctionAbiByContractTemplateId(contractTemplatesApiGetFunctionAbiByContractTemplateIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractTemplates().getFunctionAbiByContractTemplateId(contractTemplateId, functionSignature); - lang: Python source: >- response = fireblocks.contract_templates.get_function_abi_by_contract_template_id(contract_template_id, function_signature); /tokenization/templates/{contractTemplateId}/deploy: post: operationId: deployContract summary: Deploy contract description: >- Deploy a new contract by contract template id. If you wish to deploy a token (ERC20, ERC721 etc), and create asset please use `POST /tokenization`.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, and Editor, Viewer. parameters: - name: contractTemplateId required: true in: path description: The Contract Template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ContractDeployRequest' x-readme: code-samples: # - language: python # code: >- # response = fireblocks.deploy_contract(contract_id, # contract_deploy_request) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const { txId } = await fireblocks.deployContract(contractId, contractDeployRequest); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractTemplates.deployContract(contractTemplatesApiDeployContractRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractTemplates().deployContract(contractDeployRequest, contractTemplateId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_templates.deploy_contract(contract_deploy_request, contract_template_id, idempotency_key); name: Fireblocks SDK Python example responses: '202': description: Contract was deployed successfully content: application/json: schema: $ref: '#/components/schemas/ContractDeployResponse' '404': description: Could not find contract. content: application/json: schema: $ref: '#/components/schemas/HttpContractDoesNotExistError' default: $ref: '#/components/responses/Error' tags: - Contract Templates x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractTemplates.deployContract(contractTemplatesApiDeployContractRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractTemplates().deployContract(contractDeployRequest, contractTemplateId, idempotencyKey); - lang: Python source: >- response = fireblocks.contract_templates.deploy_contract(contract_deploy_request, contract_template_id, idempotency_key); /tokenization/contracts: get: operationId: getDeployedContracts summary: List deployed contracts data description: >- Return a filtered lean representation of the deployed contracts data on all blockchains (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 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: contractAddress required: false in: query description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' schema: type: string - name: baseAssetId description: The blockchain asset ID example: ETH required: false in: query schema: type: string - name: contractTemplateId required: false description: The contract template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d in: query schema: type: string x-readme: code-samples: # - language: python # code: >- # deployed_contracts = # fireblocks.get_contracts_by_filter(template_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const deployedContracts = await fireblocks.getContractsByFilter(templateId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.deployedContracts.getDeployedContracts(deployedContractsApiGetDeployedContractsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.deployedContracts().getDeployedContracts(pageCursor, pageSize, contractAddress, baseAssetId, contractTemplateId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.deployed_contracts.get_deployed_contracts(page_cursor, page_size, contract_address, base_asset_id, contract_template_id); name: Fireblocks SDK Python example responses: '200': description: Deployed contracts fetched successfully content: application/json: schema: $ref: '#/components/schemas/DeployedContractsPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Deployed Contracts x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.deployedContracts.getDeployedContracts(deployedContractsApiGetDeployedContractsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.deployedContracts().getDeployedContracts(pageCursor, pageSize, contractAddress, baseAssetId, contractTemplateId); - lang: Python source: >- response = fireblocks.deployed_contracts.get_deployed_contracts(page_cursor, page_size, contract_address, base_asset_id, contract_template_id); /tokenization/contracts/{id}: get: operationId: getDeployedContractById summary: Return deployed contract data by id description: >- Return deployed contract data by id.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: id required: true in: path description: The deployed contract data identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d schema: type: string x-readme: code-samples: # - language: python # code: deployed_contracts = fireblocks.get_contract_by_id(contract_id) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const deployedContracts = await fireblocks.getContractById(contractId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.deployedContracts.getDeployedContractById(deployedContractsApiGetDeployedContractByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.deployedContracts().getDeployedContractById(id); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.deployed_contracts.get_deployed_contract_by_id(id); name: Fireblocks SDK Python example responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeployedContractResponseDto' default: $ref: '#/components/responses/Error' tags: - Deployed Contracts x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.deployedContracts.getDeployedContractById(deployedContractsApiGetDeployedContractByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.deployedContracts().getDeployedContractById(id); - lang: Python source: >- response = fireblocks.deployed_contracts.get_deployed_contract_by_id(id); /tokenization/contracts/{assetId}/{contractAddress}: get: operationId: getDeployedContractByAddress summary: Return deployed contract data description: >- Return deployed contract data by blockchain native asset id and contract address.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: contractAddress required: true in: path description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' schema: type: string - name: assetId description: The blockchain base asset ID example: ETH required: true in: path schema: type: string x-readme: code-samples: # - language: python # code: >- # deployed_contract = # fireblocks.get_contract_by_address(base_asset_id, # contract_address) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const deployedContract = await fireblocks.getContractByAddress(baseAssetId, contractAddress); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.deployedContracts.getDeployedContractByAddress(deployedContractsApiGetDeployedContractByAddressRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.deployedContracts().getDeployedContractByAddress(contractAddress, assetId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.deployed_contracts.get_deployed_contract_by_address(contract_address, asset_id); name: Fireblocks SDK Python example responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeployedContractResponseDto' default: $ref: '#/components/responses/Error' tags: - Deployed Contracts x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.deployedContracts.getDeployedContractByAddress(deployedContractsApiGetDeployedContractByAddressRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.deployedContracts().getDeployedContractByAddress(contractAddress, assetId); - lang: Python source: >- response = fireblocks.deployed_contracts.get_deployed_contract_by_address(contract_address, asset_id); /tokenization/contracts/fetch_abi: post: operationId: fetchContractAbi summary: Fetch the contract ABI description: >- Fetch the ABI. If not found fetch the ABI from the block explorer.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FetchAbiRequestDto' responses: '200': description: Contract ABI found. content: application/json: schema: $ref: '#/components/schemas/ContractWithAbiDto' '404': description: Contract ABI not found default: $ref: '#/components/responses/Error' tags: - Deployed Contracts x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.deployedContracts.fetchContractAbi(deployedContractsApiFetchContractAbiRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.deployedContracts().fetchContractAbi(fetchAbiRequestDto, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.deployed_contracts.fetch_contract_abi(fetch_abi_request_dto, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.deployedContracts.fetchContractAbi(deployedContractsApiFetchContractAbiRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.deployedContracts().fetchContractAbi(fetchAbiRequestDto, idempotencyKey); - lang: Python source: >- response = fireblocks.deployed_contracts.fetch_contract_abi(fetch_abi_request_dto, idempotency_key); /tokenization/contracts/abi: post: operationId: addContractABI summary: Save contract ABI description: >- Save contract ABI for the tenant.
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/AddAbiRequestDto' responses: '200': description: Contract ABI created (or updated) for the tenant content: application/json: schema: $ref: '#/components/schemas/ContractWithAbiDto' '409': description: Contract ABI already exists. default: $ref: '#/components/responses/Error' tags: - Deployed Contracts x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.deployedContracts.addContractABI(deployedContractsApiAddContractABIRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.deployedContracts().addContractABI(addAbiRequestDto, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.deployed_contracts.add_contract_a_b_i(add_abi_request_dto, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.deployedContracts.addContractABI(deployedContractsApiAddContractABIRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.deployedContracts().addContractABI(addAbiRequestDto, idempotencyKey); - lang: Python source: >- response = fireblocks.deployed_contracts.add_contract_a_b_i(add_abi_request_dto, idempotency_key); /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: python # code: token = fireblocks.issue_new_token(payload) # name: Fireblocks SDK Python example (Legacy) - 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: python # code: linked_tokens = fireblocks.get_linked_tokens(payload) # name: Fireblocks SDK Python example (Legacy) - 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: python # code: token = fireblocks.unlink_token(token_id) # name: Fireblocks SDK Python example (Legacy) - 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: python # code: token = fireblocks.get_linked_token(token_id) # name: Fireblocks SDK Python example (Legacy) - 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); /tags: post: summary: Create a tag description: | Create a new tag. **Endpoint Permissions:** - For protected tags: Owner, Admin, Non-Signing Admin. - For non-protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver. tags: - Tags x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTagRequest' responses: "200": description: A tag object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Tag' operationId: createTag get: summary: Get list of tags description: Retrieve a paged list of all tags according to filters. tags: - Tags x-rate-limit-category: query parameters: - in: query name: pageCursor description: Page cursor to get the next page. example: "MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==" required: false schema: type: string - in: query name: pageSize required: false description: Maximum number of items in the page schema: type: number minimum: 1 maximum: 100 default: 100 - in: query name: label required: false description: Label prefix to filter by. example: VIP schema: type: string - in: query name: tagIds required: false description: List of tag IDs to filter by. schema: type: array items: type: string format: uuid maxItems: 100 - in: query name: includePendingApprovalsInfo required: false description: Include pending approval information for each tag schema: type: boolean default: false responses: "200": description: A TagsPagedResponse object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/TagsPagedResponse' operationId: getTags /tags/approval_requests/{id}: get: summary: Get an approval request by id description: Get an approval request by id tags: - Approval Requests x-rate-limit-category: read parameters: - in: path name: id required: true schema: type: string format: numeric example: "12345" responses: "200": description: Approval request fetched successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ApprovalRequest' "401": description: Unauthorized headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' "404": description: Approval request not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: getApprovalRequest /tags/approval_requests/{id}/cancel: post: summary: Cancel an approval request by ID description: | Cancel an approval request by id. - Can only cancel requests in the `PENDING` status. - Returns `202 Accepted` when the cancellation is processed. tags: - Approval Requests x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' - in: path name: id required: true schema: type: string format: numeric example: "12345" responses: "202": description: Approval request cancellation processed headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' "401": description: Unauthorized headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' "404": description: Approval request not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' "409": description: Invalid approval request state - cannot cancel request that is not in PENDING status headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' operationId: cancelApprovalRequest /tags/{tagId}: get: summary: Get a tag description: Retrieve an existing tag by ID. tags: - Tags x-rate-limit-category: read parameters: - in: path name: tagId required: true description: The ID of the tag to retrieve schema: type: string format: uuid responses: "200": description: A tag object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Tag' operationId: getTag patch: summary: Update a tag description: | Update an existing specified tag. **Endpoint Permissions:** - For protected tags: Owner, Admin, Non-Signing Admin. - For non-protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver. tags: - Tags x-rate-limit-category: write parameters: - in: path name: tagId required: true description: The ID of the tag to update schema: type: string format: uuid - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateTagRequest' responses: "200": description: A tag object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Tag' operationId: updateTag delete: summary: Delete a tag description: | Delete the specified tag. **Endpoint Permissions:** - For protected tags: Owner, Admin, Non-Signing Admin. - For non-protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver. tags: - Tags x-rate-limit-category: write parameters: - in: path name: tagId required: true description: The ID of the tag to retrieve schema: type: string format: uuid responses: "204": description: Tag was deleted successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' operationId: deleteTag /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions: get: operationId: getDeployedContractAbi summary: Return deployed contract's ABI description: >- Return deployed contract's ABI by blockchain native asset id and contract address.
Endpoint Permission: Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, and Viewer. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' - name: contractAddress required: true in: path description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' schema: type: string - name: baseAssetId description: The blockchain base assetId required: true in: path example: ETH schema: type: string x-readme: code-samples: # - language: python # code: >- # deployed_contract_abi = # fireblocks.get_contracts_abi(base_asset_id, contract_address) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const deployedContractAbi = await fireblocks.getContractAbi(baseAssetId, contractAddress); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractInteractions.getDeployedContractAbi(contractInteractionsApiGetDeployedContractAbiRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractInteractions().getDeployedContractAbi(contractAddress, baseAssetId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_interactions.get_deployed_contract_abi(contract_address, base_asset_id, idempotency_key); name: Fireblocks SDK Python example responses: '200': description: Contract ABI response content: application/json: schema: $ref: '#/components/schemas/ContractAbiResponseDto' default: $ref: '#/components/responses/Error' tags: - Contract Interactions x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractInteractions.getDeployedContractAbi(contractInteractionsApiGetDeployedContractAbiRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractInteractions().getDeployedContractAbi(contractAddress, baseAssetId, idempotencyKey); - lang: Python source: >- response = fireblocks.contract_interactions.get_deployed_contract_abi(contract_address, base_asset_id, idempotency_key); /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/read: post: operationId: readCallFunction summary: Call a read function description: >- Call a read function on a deployed contract by blockchain native asset id and contract address.
Endpoint Permission: Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' - name: contractAddress required: true in: path description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' schema: type: string - name: baseAssetId description: The blockchain base assetId required: true in: path example: ETH schema: type: string x-readme: code-samples: # - language: python # code: >- # read_response = # fireblocks.read_contract_call_function(base_asset_id, # contract_address, payload) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const readResponse= await fireblocks.readContractCallFunction(baseAssetId, contractAddress, payload); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractInteractions.readCallFunction(contractInteractionsApiReadCallFunctionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.contractInteractions().readCallFunction(readCallFunctionDto, contractAddress, baseAssetId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_interactions.read_call_function(read_call_function_dto, contract_address, base_asset_id, idempotency_key); name: Fireblocks SDK Python example requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReadCallFunctionDto' responses: '200': description: Read Call Retrieved Successfully content: application/json: schema: $ref: '#/components/schemas/ParameterWithValueList' default: $ref: '#/components/responses/Error' tags: - Contract Interactions x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractInteractions.readCallFunction(contractInteractionsApiReadCallFunctionRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.contractInteractions().readCallFunction(readCallFunctionDto, contractAddress, baseAssetId, idempotencyKey); - lang: Python source: >- response = fireblocks.contract_interactions.read_call_function(read_call_function_dto, contract_address, base_asset_id, idempotency_key); /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/write: post: operationId: writeCallFunction summary: Call a write function description: >- Call a write function on a deployed contract by blockchain native asset id and contract address. This creates an onchain transaction, thus it is an async operation. It returns a transaction id that can be polled for status check.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' - name: contractAddress required: true in: path description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' schema: type: string - name: baseAssetId description: The blockchain base assetId required: true in: path example: ETH schema: type: string x-readme: code-samples: # - language: python # code: >- # write_function_response = # fireblocks.write_contract_call_function(base_asset_id, # contract_address, payload) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const writeFunctionResponse = await fireblocks.writeContractCallFunction(baseAssetId, contractAddress, payload); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractInteractions.writeCallFunction(contractInteractionsApiWriteCallFunctionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractInteractions().writeCallFunction(writeCallFunctionDto, contractAddress, baseAssetId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_interactions.write_call_function(write_call_function_dto, contract_address, base_asset_id, idempotency_key); name: Fireblocks SDK Python example requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WriteCallFunctionDto' responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/WriteCallFunctionResponseDto' default: $ref: '#/components/responses/Error' tags: - Contract Interactions x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractInteractions.writeCallFunction(contractInteractionsApiWriteCallFunctionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractInteractions().writeCallFunction(writeCallFunctionDto, contractAddress, baseAssetId, idempotencyKey); - lang: Python source: >- response = fireblocks.contract_interactions.write_call_function(write_call_function_dto, contract_address, base_asset_id, idempotency_key); /contract_interactions/base_asset_id/{baseAssetId}/tx_hash/{txHash}/receipt: get: operationId: getTransactionReceipt summary: Get transaction receipt description: >- Retrieve the transaction receipt by blockchain native asset ID and transaction hash
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, and Viewer. parameters: - name: baseAssetId required: true in: path description: The blockchain base assetId example: ETH_TEST6 schema: type: string - name: txHash required: true in: path description: The transaction hash example: '0x3b015ca0518c55d7bff4e3f5aa5d0431705771553ba8a95cf20e34cb597f57f6' schema: type: string x-readme: code-samples: # - language: python # code: >- # transaction_receipt = # fireblocks.get_transaction_receipt(base_asset_id, tx_hash) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const transactionReceipt = await fireblocks.getTransactionReceipt(baseAssetId, txHash); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.contractInteractions.getTransactionReceipt(contractInteractionsApiGetTransactionReceiptRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.contractInteractions().getTransactionReceipt(baseAssetId, txHash); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.contract_interactions.get_transaction_receipt(base_asset_id, tx_hash); name: Fireblocks SDK Python example responses: '200': description: Retrieved The Transaction Receipt Successfully content: application/json: schema: $ref: '#/components/schemas/TransactionReceiptResponse' default: $ref: '#/components/responses/Error' tags: - Contract Interactions x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.contractInteractions.getTransactionReceipt(contractInteractionsApiGetTransactionReceiptRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.contractInteractions().getTransactionReceipt(baseAssetId, txHash); - lang: Python source: >- response = fireblocks.contract_interactions.get_transaction_receipt(base_asset_id, tx_hash); /staking/chains: get: operationId: getChains summary: List supported chains for Fireblocks Staking description: >- Return an alphabetical list of supported chains.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.getChains(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.staking().getChains(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.staking.get_chains(); name: Fireblocks SDK Python example responses: '200': description: An array of supported chains was returned successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/StakingGetChainsResponse' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.getChains(); - lang: Java source: >- CompletableFuture>> response = fireblocks.staking().getChains(); - lang: Python source: response = fireblocks.staking.get_chains(); /staking/chains/{chainDescriptor}/merge: post: operationId: mergeStakeAccounts summary: Merge operation on Solana stake accounts description: >- Perform a Solana Merge of two active stake accounts into one. Endpoint permissions: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "SOL"/"SOL_TEST") to use example: SOL schema: enum: - SOL - SOL_TEST type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MergeStakeAccountsRequest' responses: "201": description: >- Merge action has been executed successfully on vault and is associated with 201 status code. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/MergeStakeAccountsResponse' default: $ref: '#/components/responses/Error' tags: - Staking /staking/chains/{chainDescriptor}/chainInfo: get: operationId: getChainInfo summary: Get chain-specific staking summary description: >- Return chain-specific, staking-related information summary (e.g. epoch details, lockup durations, estimated rewards, etc.).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.getChainInfo(stakingApiGetChainInfoRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().getChainInfo(chainDescriptor); name: Fireblocks SDK Java example - language: python code: response = fireblocks.staking.get_chain_info(chain_descriptor); name: Fireblocks SDK Python example parameters: - name: chainDescriptor required: true in: path description: >- The protocol identifier (e.g. "ETH"/"SOL"/"MATIC"/"STETH_ETH") to use example: SOL schema: $ref: '#/components/schemas/ChainDescriptor' responses: '200': description: Chain specific info summary was returned successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ChainInfoResponse' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.getChainInfo(stakingApiGetChainInfoRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().getChainInfo(chainDescriptor); - lang: Python source: response = fireblocks.staking.get_chain_info(chain_descriptor); /staking/chains/{chainDescriptor}/stake: post: operationId: stake summary: Initiate Stake Operation description: Perform a chain-specific Stake. parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use example: SOL schema: $ref: '#/components/schemas/ChainDescriptor' - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StakeRequest' responses: '201': description: >- Stake action has been executed successfully on vault and is associated with 201 status code. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/StakeResponse' default: $ref: '#/components/responses/Error' tags: - Staking x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.stake(stakingApiStakeRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().stake(stakeRequest, chainDescriptor, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.staking.stake(stake_request, chain_descriptor, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.stake(stakingApiStakeRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().stake(stakeRequest, chainDescriptor, idempotencyKey); - lang: Python source: >- response = fireblocks.staking.stake(stake_request, chain_descriptor, idempotency_key); /staking/chains/{chainDescriptor}/unstake: post: operationId: unstake summary: Execute an Unstake operation description: Execute an Unstake operation parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use example: SOL schema: $ref: '#/components/schemas/ChainDescriptor' - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UnstakeRequest' responses: '201': description: >- Unstake action has been executed successfully on vault and is associated with 201 status code. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Staking x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.unstake(stakingApiUnstakeRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().unstake(unstakeRequest, chainDescriptor, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.staking.unstake(unstake_request, chain_descriptor, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.unstake(stakingApiUnstakeRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().unstake(unstakeRequest, chainDescriptor, idempotencyKey); - lang: Python source: >- response = fireblocks.staking.unstake(unstake_request, chain_descriptor, idempotency_key); /staking/chains/{chainDescriptor}/withdraw: post: operationId: withdraw summary: Execute a Withdraw operation description: Perform a chain-specific Withdraw. parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use example: SOL schema: $ref: '#/components/schemas/ChainDescriptor' - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WithdrawRequest' responses: '201': description: >- Withdraw action has been executed successfully on vault and is associated with 201 status code. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Staking x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.withdraw(stakingApiWithdrawRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().withdraw(withdrawRequest, chainDescriptor, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.staking.withdraw(withdraw_request, chain_descriptor, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.withdraw(stakingApiWithdrawRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().withdraw(withdrawRequest, chainDescriptor, idempotencyKey); - lang: Python source: >- response = fireblocks.staking.withdraw(withdraw_request, chain_descriptor, idempotency_key); /staking/chains/{chainDescriptor}/claim_rewards: post: operationId: claimRewards summary: Execute a Claim Rewards operation description: Perform a chain-specific Claim Rewards. parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "MATIC"/"SOL") to use example: MATIC schema: enum: - MATIC - SOL - SOL_TEST type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ClaimRewardsRequest' responses: '201': description: >- Claim Rewards action has been executed successfully on vault and is associated with 201 status code. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Staking x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.claimRewards(stakingApiClaimRewardsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().claimRewards(claimRewardsRequest, chainDescriptor, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.staking.claim_rewards(claim_rewards_request, chain_descriptor, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.claimRewards(stakingApiClaimRewardsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().claimRewards(claimRewardsRequest, chainDescriptor, idempotencyKey); - lang: Python source: >- response = fireblocks.staking.claim_rewards(claim_rewards_request, chain_descriptor, idempotency_key); /staking/chains/{chainDescriptor}/split: post: operationId: split summary: Execute a Split operation description: Perform a SOL/SOL_TEST Split on a stake account. parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "SOL"/"SOL_TEST") to use example: SOL schema: enum: - SOL - SOL_TEST type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SplitRequest' responses: '201': description: >- Split action has been executed successfully on vault and is associated with 201 status code. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SplitResponse' default: $ref: '#/components/responses/Error' tags: - Staking x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.split(stakingApiSplitRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().split(splitRequest, chainDescriptor, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.staking.split(split_request, chain_descriptor, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.split(stakingApiSplitRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().split(splitRequest, chainDescriptor, idempotencyKey); - lang: Python source: >- response = fireblocks.staking.split(split_request, chain_descriptor, idempotency_key); /staking/positions: get: operationId: getAllDelegations summary: List staking positions details description: >- Return detailed information on all staking positions, including the staked amount, rewards, status and more.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.getAllDelegations(stakingApiGetAllDelegationsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.staking().getAllDelegations(chainDescriptor); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.staking.get_all_delegations(chain_descriptor); name: Fireblocks SDK Python example parameters: - name: chainDescriptor required: false in: query example: SOL description: >- Use "ETH" / "SOL" / "MATIC" / "STETH_ETH" in order to obtain information related to the specific blockchain network or retrieve information about all chains that have data available by providing no argument. schema: $ref: '#/components/schemas/ChainDescriptor' responses: '200': description: An array of position data was returned successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/StakingGetAllDelegationsResponse' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.getAllDelegations(stakingApiGetAllDelegationsRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.staking().getAllDelegations(chainDescriptor); - lang: Python source: response = fireblocks.staking.get_all_delegations(chain_descriptor); /staking/positions/summary: get: operationId: getSummary summary: Get staking summary details x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.getSummary(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().getSummary(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.staking.get_summary(); name: Fireblocks SDK Python example description: >- Return a summary of all vaults, categorized by their status (active, inactive), the total amounts staked and total rewards per-chain.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. responses: '200': description: A summary for all vaults were returned successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DelegationSummary' example: active: - chainDescriptor: ETH amount: '64.036604667' - chainDescriptor: SOL amount: '0.077345939' inactive: - chainDescriptor: ETH amount: '0' - chainDescriptor: SOL amount: '0' rewardsAmount: - chainDescriptor: ETH amount: '0.036604667' - chainDescriptor: SOL amount: '0.001345939' totalStaked: - chainDescriptor: ETH amount: '64.036604667' - chainDescriptor: SOL amount: '0.077345939' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.getSummary(); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().getSummary(); - lang: Python source: response = fireblocks.staking.get_summary(); /staking/positions/summary/vaults: get: operationId: getSummaryByVault summary: Get staking summary details by vault description: >- Return a summary for each vault, categorized by their status (active, inactive), the total amounts staked and total rewards per-chain.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.getSummaryByVault(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().getSummaryByVault(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.staking.get_summary_by_vault(); name: Fireblocks SDK Python example responses: '200': description: A summary for each vault were returned successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/StakingGetSummaryByVaultResponse' example: '0': active: - chainDescriptor: SOL amount: '0.015202376' inactive: - chainDescriptor: SOL amount: '0' rewardsAmount: - chainDescriptor: SOL amount: '0.000202376' totalStaked: - chainDescriptor: SOL amount: '0.015202376' '1': active: - chainDescriptor: ETH amount: '64.036604667' - chainDescriptor: SOL amount: '0.011191566' inactive: - chainDescriptor: ETH amount: '0' - chainDescriptor: SOL amount: '0' rewardsAmount: - chainDescriptor: ETH amount: '0.036604667' - chainDescriptor: SOL amount: '0.000191566' totalStaked: - chainDescriptor: ETH amount: '64.036604667' - chainDescriptor: SOL amount: '0.011191566' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.getSummaryByVault(); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().getSummaryByVault(); - lang: Python source: response = fireblocks.staking.get_summary_by_vault(); /staking/positions/{id}: get: operationId: getDelegationById summary: Get staking position details description: >- Return detailed information on a staking position, including the staked amount, rewards, status and more.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.getDelegationById(stakingApiGetDelegationByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().getDelegationById(id); name: Fireblocks SDK Java example - language: python code: response = fireblocks.staking.get_delegation_by_id(id); name: Fireblocks SDK Python example parameters: - name: id required: true in: path description: The unique identifier of the staking position schema: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d responses: '200': description: Position data was returned successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Delegation' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.getDelegationById(stakingApiGetDelegationByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().getDelegationById(id); - lang: Python source: response = fireblocks.staking.get_delegation_by_id(id); /staking/providers: get: operationId: getProviders summary: List staking providers details description: >- Return information on all the available staking providers.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.getProviders(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.staking().getProviders(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.staking.get_providers(); name: Fireblocks SDK Python example responses: '200': description: An array of supported providers was returned successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/StakingGetProvidersResponse' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.getProviders(); - lang: Java source: >- CompletableFuture>> response = fireblocks.staking().getProviders(); - lang: Python source: response = fireblocks.staking.get_providers(); /staking/providers/{providerId}/approveTermsOfService: post: operationId: approveTermsOfServiceByProviderId summary: Approve staking terms of service description: >- Approve the terms of service of the staking provider. This must be called before performing a staking action for the first time with this provider.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.staking.approveTermsOfServiceByProviderId(stakingApiApproveTermsOfServiceByProviderIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.staking().approveTermsOfServiceByProviderId(providerId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.staking.approve_terms_of_service_by_provider_id(provider_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: providerId required: true in: path description: The unique identifier of the staking provider example: kiln schema: $ref: '#/components/schemas/StakingProvider' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: >- The terms of service have been successfully approved and is associated with 201 status code. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Staking x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.staking.approveTermsOfServiceByProviderId(stakingApiApproveTermsOfServiceByProviderIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.staking().approveTermsOfServiceByProviderId(providerId, idempotencyKey); - lang: Python source: >- response = fireblocks.staking.approve_terms_of_service_by_provider_id(provider_id, idempotency_key); /trading/providers: get: operationId: getTradingProviders summary: Get providers x-rate-limit-category: query tags: - Trading (Beta) parameters: - name: pageSize in: query required: false description: Page size for pagination. schema: type: integer minimum: 1 maximum: 100 default: 20 - name: pageCursor in: query required: false description: Page cursor for pagination. schema: type: string description: | Retrieve a list of all available external providers supporting trading activities through the platform. **Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. **Endpoint Permission:** Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. responses: 200: description: Providers response content: application/json: schema: $ref: '#/components/schemas/ProvidersListResponse' 401: description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' /trading/quotes: post: operationId: createQuote summary: Create a quote x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' tags: - Trading (Beta) description: | Generate a time-limited quote for asset conversion, providing exchange rate and amount calculations. **Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateQuote' responses: 201: description: Quote created content: application/json: schema: $ref: '#/components/schemas/QuotesResponse' 404: description: Not found content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 401: description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' /trading/orders: post: operationId: createOrder summary: Create an order x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' tags: - Trading (Beta) description: | Create an order to buy or sell an asset. If no source is given, an external source will be use. **Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateOrderRequest' responses: 202: description: Order creation response content: application/json: schema: $ref: '#/components/schemas/OrderDetails' 404: description: Not found content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 401: description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' get: operationId: getOrders summary: Get orders x-rate-limit-category: read tags: - Trading (Beta) description: | Retrieve a paginated list of orders with optional filtering by account, provider, status, and time range. **Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: pageSize in: query required: true description: pageSize for pagination. schema: type: integer minimum: 1 maximum: 100 - name: pageCursor in: query required: false schema: type: string minLength: 1 - name: order in: query required: false description: ASC / DESC ordering (default DESC) schema: type: string default: DESC enum: - ASC - DESC - name: accountId in: query required: false explode: true style: form description: Filter by accountId. schema: type: array items: type: string minLength: 1 - name: providerId in: query required: false explode: true style: form description: Filter by providerId. schema: type: array items: type: string minLength: 1 - name: statuses in: query required: false explode: true style: form description: Filter by order status. schema: type: array items: $ref: '#/components/schemas/OrderStatus' - name: startTime in: query schema: type: integer minimum: 0 - name: endTime in: query schema: type: integer minimum: 0 - name: assetConversionType in: query schema: type: string enum: [DIGITAL_ONLY, FIAT] description: Filter by asset conversion type. responses: 200: description: Orders response content: application/json: schema: $ref: '#/components/schemas/GetOrdersResponse' 404: description: Not found content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 401: description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' /trading/orders/{orderId}: get: operationId: getOrder summary: Get order details x-rate-limit-category: read tags: - Trading (Beta) description: | Retrieve detailed information about a specific order by its ID. **Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: orderId in: path required: true description: The ID of the order to fetch. schema: type: string minLength: 1 responses: 200: description: Order response content: application/json: schema: $ref: '#/components/schemas/OrderDetails' 404: description: Not found content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 401: description: Unauthorized. Missing / invalid JWT token in Authorization header. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' 5XX: description: Internal error. content: application/json: schema: $ref: '#/components/schemas/TradingErrorResponse' /admin_quorum: put: x-internal: true operationId: setAdminQuorumThreshold summary: Update admin quorum threshold description: |- Update admin quorum threshold.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: # - language: python # code: >- # result = # fireblocks.set_admin_quorum_threshold(adminQuorumThreshold) # name: Fireblocks SDK Python example (Legacy) - language: javascript code: >- const result = await fireblocks.setAdminQuorumThreshold(adminQuorumThreshold) name: Fireblocks SDK Javascript example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetAdminQuorumThresholdRequest' responses: '202': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetAdminQuorumThresholdResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: python label: Python source: result = fireblocks.set_admin_quorum_threshold(adminQuorumThreshold) - lang: javascript label: Javascript source: > const result = await fireblocks.setAdminQuorumThreshold(adminQuorumThreshold) /nfts/ownership/tokens: put: operationId: updateOwnershipTokens summary: Refresh vault account tokens description: >- Updates all tokens and balances per blockchain and vault account. Learn more about Fireblocks NFT management in the following [guide](https://developers.fireblocks.com/reference/deploy-an-nft-collection).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.updateOwnershipTokens(nFTsApiUpdateOwnershipTokensRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().updateOwnershipTokens(blockchainDescriptor, vaultAccountId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.update_ownership_tokens(blockchain_descriptor, vault_account_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: blockchainDescriptor required: true in: query description: Blockchain descriptor filter schema: enum: - ETH - ETH_TEST5 - ETH_TEST6 - POLYGON - POLYGON_TEST_MUMBAI - AMOY_POLYGON_TEST - BASECHAIN_ETH - BASECHAIN_ETH_TEST5 - ETHERLINK - ETHERLINK_TEST - MANTLE - MANTLE_TEST - GUN_GUNZILLA_TEST - ETH_SONEIUM - SONEIUM_MINATO_TEST - IOTX_IOTEX type: string - name: vaultAccountId required: true in: query description: Vault account filter schema: type: string example: '0' - $ref: '#/components/parameters/X-Idempotency-Key' responses: '202': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.updateOwnershipTokens(nFTsApiUpdateOwnershipTokensRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().updateOwnershipTokens(blockchainDescriptor, vaultAccountId, idempotencyKey); - lang: Python source: >- response = fireblocks.n_f_ts.update_ownership_tokens(blockchain_descriptor, vault_account_id, idempotency_key); get: operationId: getOwnershipTokens summary: List all owned tokens (paginated) description: >- Returns all tokens and their data in your workspace.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - name: blockchainDescriptor required: false in: query description: Blockchain descriptor filter schema: enum: - ETH - ETH_TEST3 - ETH_TEST5 - ETH_TEST6 - POLYGON - POLYGON_TEST_MUMBAI - AMOY_POLYGON_TEST - XTZ - XTZ_TEST - BASECHAIN_ETH - BASECHAIN_ETH_TEST3 - BASECHAIN_ETH_TEST5 - ETHERLINK - ETHERLINK_TEST - MANTLE - MANTLE_TEST - GUN_GUNZILLA_TEST - ETH_SONEIUM - SONEIUM_MINATO_TEST - IOTX_IOTEX type: string - name: vaultAccountIds required: false in: query description: >- A comma separated list of Vault Account IDs. Up to 100 are allowed in a single request. This field will be ignored when walletType=END_USER_WALLET or ncwId is provided. schema: type: string example: '0' - name: ncwId required: false in: query description: Non-Custodial Wallet ID schema: type: string example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539 - name: ncwAccountIds required: false in: query description: >- A comma separated list of Non-Custodial account IDs. Up to 100 are allowed in a single request. This field will be ignored when walletType=VAULT_ACCOUNT or ncwId is not provided. schema: type: string example: 0,1,2 - name: walletType required: false in: query description: Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET` schema: default: VAULT_ACCOUNT enum: - VAULT_ACCOUNT - END_USER_WALLET type: string - name: ids required: false in: query description: >- A comma separated list of NFT IDs. Up to 100 are allowed in a single request. schema: type: string example: >- NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f, NFT-aaabdababb0ecb3495beb17d8540a513c966bbb - name: collectionIds required: false in: query description: >- A comma separated list of collection IDs. Up to 100 are allowed in a single request. schema: type: string example: >- 0x2953399124F0cBB46d2CbACD8A89cF0599974963, 0xababab9124F0cBB46d2CbACD8A89cF0599ababab - name: pageCursor required: false in: query description: Page cursor to fetch schema: type: string example: MjAyNC0wNS0yNiAxMDowNTowMy4zNjggKzAwOjAw:NjkxNDI3Mw== - name: pageSize required: false in: query description: Items per page (max 100) schema: minimum: 1 maximum: 100 type: number example: 20 - name: sort required: false in: query description: >- Sort by param, it can be one param or a list of params separated by comma schema: type: array items: type: string enum: - ownershipLastUpdateTime - name - collection.name - blockchainDescriptor - name: order required: false in: query description: >- Order direction, it can be `ASC` for ascending or `DESC` for descending schema: default: ASC enum: - DESC - ASC type: string - name: status required: false in: query description: Token ownership status schema: default: LISTED enum: - LISTED - ARCHIVED type: string - name: search required: false in: query description: >- Search owned tokens and their collections. Possible criteria for search: token name and id within the contract/collection, collection name, blockchain descriptor and name. schema: maximum: 100 type: string example: MyNFTName - name: spam required: false in: query description: Token ownership spam status. schema: enum: - 'true' - 'false' - all type: string responses: '200': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetOwnershipTokensResponse' tags: - NFTs x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.getOwnershipTokens(nFTsApiGetOwnershipTokensRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().getOwnershipTokens(blockchainDescriptor, vaultAccountIds, ncwId, ncwAccountIds, walletType, ids, collectionIds, pageCursor, pageSize, sort, order, status, search, spam); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.get_ownership_tokens(blockchain_descriptor, vault_account_ids, ncw_id, ncw_account_ids, wallet_type, ids, collection_ids, page_cursor, page_size, sort, order, status, search, spam); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.getOwnershipTokens(nFTsApiGetOwnershipTokensRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().getOwnershipTokens(blockchainDescriptor, vaultAccountIds, ncwId, ncwAccountIds, walletType, ids, collectionIds, pageCursor, pageSize, sort, order, status, search, spam); - lang: Python source: >- response = fireblocks.n_f_ts.get_ownership_tokens(blockchain_descriptor, vault_account_ids, ncw_id, ncw_account_ids, wallet_type, ids, collection_ids, page_cursor, page_size, sort, order, status, search, spam); /nfts/ownership/assets: get: operationId: listOwnedTokens summary: List all distinct owned tokens (paginated) description: >- Returns all owned distinct tokens (for your workspace) and their data in your workspace.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.listOwnedTokens(nFTsApiListOwnedTokensRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().listOwnedTokens(ncwId, walletType, pageCursor, pageSize, sort, order, status, search, spam); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.list_owned_tokens(ncw_id, wallet_type, page_cursor, page_size, sort, order, status, search, spam); name: Fireblocks SDK Python example parameters: - name: ncwId required: false in: query description: Non-Custodial Wallet ID schema: type: string example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539 - name: walletType required: false in: query description: Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET` schema: default: VAULT_ACCOUNT enum: - VAULT_ACCOUNT - END_USER_WALLET type: string - name: pageCursor required: false in: query description: Page cursor to fetch schema: type: string example: MTcyNzg3Nw== - name: pageSize required: false in: query description: Items per page (max 100) schema: minimum: 1 maximum: 100 type: number - name: sort required: false in: query description: >- Sort by param, it can be one param or a list of params separated by comma schema: type: array items: type: string enum: - name - name: order required: false in: query description: >- Order direction, it can be `ASC` for ascending or `DESC` for descending schema: default: ASC enum: - DESC - ASC type: string - name: status required: false in: query description: Token ownership status schema: default: LISTED enum: - LISTED - ARCHIVED type: string - name: search required: false in: query description: Search owned tokens by token name schema: maximum: 100 type: string example: MyTokenName - name: spam required: false in: query description: Token ownership spam status. schema: enum: - 'true' - 'false' - all type: string responses: '200': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ListOwnedTokensResponse' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.listOwnedTokens(nFTsApiListOwnedTokensRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().listOwnedTokens(ncwId, walletType, pageCursor, pageSize, sort, order, status, search, spam); - lang: Python source: >- response = fireblocks.n_f_ts.list_owned_tokens(ncw_id, wallet_type, page_cursor, page_size, sort, order, status, search, spam); /nfts/ownership/collections: get: operationId: listOwnedCollections summary: List owned collections (paginated) description: >- Returns all collections in your workspace.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.listOwnedCollections(nFTsApiListOwnedCollectionsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().listOwnedCollections(ncwId, walletType, search, pageCursor, pageSize, sort, order, status); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.list_owned_collections(ncw_id, wallet_type, search, page_cursor, page_size, sort, order, status); name: Fireblocks SDK Python example parameters: - name: ncwId required: false in: query description: Tenant's Non-Custodial Wallet ID schema: type: string example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539 - name: walletType required: false in: query description: Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET` schema: default: VAULT_ACCOUNT enum: - VAULT_ACCOUNT - END_USER_WALLET type: string - name: search required: false in: query description: >- Search owned collections. Possible criteria for search: collection name, collection contract address. schema: maximum: 100 type: string example: MyTokenName - name: pageCursor required: false in: query description: Page cursor to fetch schema: type: string example: MTcyNzg3Nw== - name: pageSize required: false in: query description: Items per page (max 100) schema: minimum: 1 maximum: 100 type: number example: 10 - name: sort required: false in: query description: >- Sort by param, it can be one param or a list of params separated by comma schema: type: array items: type: string enum: - name - name: order required: false in: query description: >- Order direction, it can be `ASC` for ascending or `DESC` for descending schema: default: ASC enum: - DESC - ASC type: string - name: status required: false in: query description: Token ownership status schema: default: LISTED enum: - LISTED - ARCHIVED type: string responses: '200': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ListOwnedCollectionsResponse' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.listOwnedCollections(nFTsApiListOwnedCollectionsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().listOwnedCollections(ncwId, walletType, search, pageCursor, pageSize, sort, order, status); - lang: Python source: >- response = fireblocks.n_f_ts.list_owned_collections(ncw_id, wallet_type, search, page_cursor, page_size, sort, order, status); /nfts/tokens/{id}: put: operationId: refreshNFTMetadata summary: Refresh token metadata description: >- Updates the latest token metadata. Learn more about Fireblocks NFT management in the following [guide](https://developers.fireblocks.com/reference/deploy-an-nft-collection).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.refreshNFTMetadata(nFTsApiRefreshNFTMetadataRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().refreshNFTMetadata(id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.refresh_n_f_t_metadata(id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: id required: true in: path description: NFT ID schema: type: string example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd - $ref: '#/components/parameters/X-Idempotency-Key' responses: '202': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.refreshNFTMetadata(nFTsApiRefreshNFTMetadataRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().refreshNFTMetadata(id, idempotencyKey); - lang: Python source: >- response = fireblocks.n_f_ts.refresh_n_f_t_metadata(id, idempotency_key); get: operationId: getNFT summary: List token data by ID description: >- Returns the requested token data.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.getNFT(nFTsApiGetNFTRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().getNFT(id); name: Fireblocks SDK Java example - language: python code: response = fireblocks.n_f_ts.get_n_f_t(id); name: Fireblocks SDK Python example parameters: - name: id required: true in: path description: NFT ID schema: type: string example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd responses: '200': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/TokenResponse' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.getNFT(nFTsApiGetNFTRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().getNFT(id); - lang: Python source: response = fireblocks.n_f_ts.get_n_f_t(id); /nfts/tokens: get: operationId: getNFTs summary: List tokens by IDs description: >- Returns the requested tokens data.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.getNFTs(nFTsApiGetNFTsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().getNFTs(ids, pageCursor, pageSize, sort, order); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.get_n_f_ts(ids, page_cursor, page_size, sort, order); name: Fireblocks SDK Python example parameters: - name: ids required: true in: query description: >- A comma separated list of NFT IDs. Up to 100 are allowed in a single request. schema: type: string example: >- NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd, NFT-cbcbcbcbcbcbabcdefabcdefabcdefabcdefabab - name: pageCursor required: false in: query description: Page cursor to fetch schema: type: string example: MjAyNC0wNS0yNiAxMDowNTowMy4zNjggKzAwOjAw:NjkxNDI3Mw== - name: pageSize required: false in: query description: Items per page (max 100) schema: minimum: 1 maximum: 100 type: number example: 20 - name: sort required: false in: query description: >- Sort by param, it can be one param or a list of params separated by comma schema: type: array items: type: string enum: - collection.name - name - blockchainDescriptor - name: order required: false in: query description: >- Order direction, it can be `ASC` for ascending or `DESC` for descending schema: default: ASC enum: - DESC - ASC type: string responses: '200': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetNFTsResponse' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.getNFTs(nFTsApiGetNFTsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().getNFTs(ids, pageCursor, pageSize, sort, order); - lang: Python source: >- response = fireblocks.n_f_ts.get_n_f_ts(ids, page_cursor, page_size, sort, order); /nfts/ownership/tokens/{id}/status: put: operationId: updateTokenOwnershipStatus summary: Update token ownership status description: >- Updates token status for a workspace, in all workspace vaults.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.updateTokenOwnershipStatus(nFTsApiUpdateTokenOwnershipStatusRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().updateTokenOwnershipStatus(updateTokenOwnershipStatusDto, id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.update_token_ownership_status(update_token_ownership_status_dto, id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: id required: true in: path description: NFT ID schema: type: string example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateTokenOwnershipStatusDto' responses: '200': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.updateTokenOwnershipStatus(nFTsApiUpdateTokenOwnershipStatusRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().updateTokenOwnershipStatus(updateTokenOwnershipStatusDto, id, idempotencyKey); - lang: Python source: >- response = fireblocks.n_f_ts.update_token_ownership_status(update_token_ownership_status_dto, id, idempotency_key); /nfts/ownership/tokens/status: put: operationId: updateTokensOwnershipStatus summary: Update tokens ownership status description: >- Updates tokens status for a workspace, in all vault accounts.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.updateTokensOwnershipStatus(nFTsApiUpdateTokensOwnershipStatusRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipStatus(tokenOwnershipStatusUpdatePayload, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.update_tokens_ownership_status(token_ownership_status_update_payload, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateTokensOwnershipStatusRequest' responses: '200': description: All token statuses have been updated headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '400': description: Invalid data sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '404': description: Ownership for token ID is not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.updateTokensOwnershipStatus(nFTsApiUpdateTokensOwnershipStatusRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipStatus(tokenOwnershipStatusUpdatePayload, idempotencyKey); - lang: Python source: >- response = fireblocks.n_f_ts.update_tokens_ownership_status(token_ownership_status_update_payload, idempotency_key); /nfts/ownership/tokens/spam: put: operationId: updateTokensOwnershipSpam summary: Update tokens ownership spam property description: >- Updates tokens spam property for a workspace's token ownerships, in all vault accounts.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.nFTs.updateTokensOwnershipSpam(nFTsApiUpdateTokensOwnershipSpamRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipSpam(tokenOwnershipSpamUpdatePayload, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.n_f_ts.update_tokens_ownership_spam(token_ownership_spam_update_payload, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateTokensOwnershipSpamRequest' responses: '200': description: All token spam properties have been updated headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '400': description: Invalid data sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '404': description: Ownership for token ID is not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - NFTs x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.nFTs.updateTokensOwnershipSpam(nFTsApiUpdateTokensOwnershipSpamRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.nFTs().updateTokensOwnershipSpam(tokenOwnershipSpamUpdatePayload, idempotencyKey); - lang: Python source: >- response = fireblocks.n_f_ts.update_tokens_ownership_spam(token_ownership_spam_update_payload, idempotency_key); /connections: get: operationId: get summary: List all open Web3 connections description: >- List all open Web3 connections.
Endpoint Permission: Admin, Non-Signing Admin. parameters: - name: order required: false in: query description: List order (ascending or descending) schema: type: string enum: - ASC - DESC default: ASC - name: filter required: false in: query description: Parsed filter object examples: object: summary: The filter object description: '' value: id: string userId: string vaultAccountId: number connectionMethod: string feeLevel: string appUrl: string appName: string stringified: summary: The stringified parsed object description: >- About stringified parsed objects: * Each key-value pair is separated by '=', and each pair is separated by ',' (you can use [`qs`](https://www.npmjs.com/package/qs) package for this) value: >- id=string,userId=string,vaultAccountId=number,connectionMethod=string,feeLevel=string,appUrl=string,appName=string schema: type: object properties: id: type: string description: Unique connection ID example: 44075fd3-6fc5-4855-bd7b-510e35f9e671 userId: type: string description: User ID that established the connection example: 5e7889fc-b5d6-5c6d-89cd-627ae94f1efd vaultAccountId: type: number description: >- Unique vault account identifier that the connection was established with example: 0 connectionMethod: description: > The method that the connection was established with. - MOBILE: for connections that were established by scanning a WalletConnect QR code - DESKTOP: for connection that were established by WalletConnect desktop connections type: string enum: - MOBILE - DESKTOP feeLevel: type: string description: The fee level for the transactions over the connection enum: - MEDIUM - HIGH appUrl: type: string description: The dApp URL example: https://app.uniswap.org appName: type: string description: dApps name example: Uniswap - name: sort required: false in: query description: Property to sort Web3 connections by. schema: type: string enum: - id - userId - vaultAccountId - createdAt - feeLevel - appUrl - appName default: createdAt example: userId=5e7889fc-b5d6-5c6d-89cd-627ae94f1efd,appName=Uniswap - name: pageSize required: false in: query description: Amount of results to return in the next page. schema: type: number default: 10 maximum: 50 example: 20 - name: next required: false in: query description: Cursor to the next page schema: type: string example: >- MjAyNC0wNC0xMSAyMDozOToxOC40Nzc=:ODZhOGI2M2M3MjVkYTY1OWNmNDAyMzNiYjc0NTViMTJlMDhiNjZiZmM4MjU3NGNhN2I2OWYxZjQ2N2E2ZjI3OA== responses: '200': description: '' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetConnectionsResponse' '400': description: Query parameters were invalid headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '500': description: Something went wrong headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - dApp Connections x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.web3Connections.get(web3ConnectionsApiGetRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.web3Connections().get(order, filter, sort, pageSize, next); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.web3_connections.get(order, filter, sort, page_size, next); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.web3Connections.get(web3ConnectionsApiGetRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.web3Connections().get(order, filter, sort, pageSize, next); - lang: Python source: >- response = fireblocks.web3_connections.get(order, filter, sort, page_size, next); /connections/wc: post: operationId: create summary: Create a new Web3 connection. description: >- Initiate a new Web3 connection. * Note: After this succeeds, make a request to `PUT /v1/connections/wc/{id}` (below) to approve or reject the new Web3 connection. Learn more about Fireblocks Wallet Link in the following [guide](https://developers.fireblocks.com/docs/web3-wallet-link).
Endpoint Permission: Admin, Non-Signing Admin. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateConnectionRequest' responses: '201': description: dApp connection initiated successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateConnectionResponse' '400': description: Invalid data sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '500': description: Something went wrong headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - dApp Connections x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.web3Connections().create(createConnectionRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.web3_connections.create(create_connection_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.web3Connections().create(createConnectionRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.web3_connections.create(create_connection_request, idempotency_key); /connections/wc/{id}: put: operationId: submit summary: Respond to a pending connection description: >- Submit a response to *approve* or *reject* an initiated Web3 connection. * Note: This call is used to complete your `POST /v1/connections/wc/` request. After this succeeds, your new Web3 connection is created and functioning.
Endpoint Permission: Admin, Non-Signing Admin. parameters: - name: id description: The ID of the initiated Web3 connection to approve. required: true in: path schema: type: string example: 44075fd3-6fc5-4855-bd7b-510e35f9e671 - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RespondToConnectionRequest' responses: '200': description: Connection submitted successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '400': description: Invalid data sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '404': description: Connection not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '500': description: Something went wrong headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - dApp Connections x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.web3Connections().submit(respondToConnectionRequest, id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.web3_connections.submit(respond_to_connection_request, id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.web3Connections().submit(respondToConnectionRequest, id, idempotencyKey); - lang: Python source: >- response = fireblocks.web3_connections.submit(respond_to_connection_request, id, idempotency_key); delete: operationId: remove summary: Remove an existing Web3 connection description: >- Remove an existing Web3 connection.
Endpoint Permission: Admin, Non-Signing Admin. parameters: - name: id description: The ID of the existing Web3 connection to remove. required: true in: path schema: type: string example: 44075fd3-6fc5-4855-bd7b-510e35f9e671 responses: '200': description: Connection removed successfully headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '404': description: Connection not found headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '500': description: Something went wrong headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' tags: - dApp Connections x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.web3Connections().remove(id); name: Fireblocks SDK Java example - language: python code: response = fireblocks.web3_connections.remove(id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.web3Connections().remove(id); - lang: Python source: response = fireblocks.web3_connections.remove(id); /screening/travel_rule/transaction/validate: post: operationId: validateTravelRuleTransaction summary: Validate Travel Rule Transaction description: >- Validate Travel Rule transactions. Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction. **Deprecation Notice** This endpoint will be deprecated soon in favor of the [validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint. Please update your integrations to use the [validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint to ensure compatibility with future releases. Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction. Learn more about Fireblocks Travel Rule management in the following [guide](https://developers.fireblocks.com/docs/define-travel-rule-policies).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: notation in: query description: >- Specifies the notation of the transaction. Possible values are: - `notabene`: Uses Notabene notation (default behavior). - `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts. - ``: Defaults to `notabene` for backward compatibility. **Note:** The default value for the `notation` parameter will change from `notabene` to `fireblocks` Update your integrations accordingly. required: false schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TravelRuleValidateTransactionRequest' responses: '200': description: Transaction validated successfully content: application/json: schema: $ref: '#/components/schemas/TravelRuleValidateTransactionResponse' '400': description: Invalid request body '500': description: Internal server error tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.travelRuleBeta.validateTravelRuleTransaction(travelRuleBetaApiValidateTravelRuleTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.travelRuleBeta().validateTravelRuleTransaction(travelRuleValidateTransactionRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.travel_rule_beta.validate_travel_rule_transaction(travel_rule_validate_transaction_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.travelRuleBeta.validateTravelRuleTransaction(travelRuleBetaApiValidateTravelRuleTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.travelRuleBeta().validateTravelRuleTransaction(travelRuleValidateTransactionRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.travel_rule_beta.validate_travel_rule_transaction(travel_rule_validate_transaction_request, idempotency_key); /screening/travel_rule/transaction/validate/full: post: operationId: validateFullTravelRuleTransaction summary: Validate Full Travel Rule Transaction description: >- Validate Full Travel Rule transaction. Checks for all required information on the originator and beneficiary VASPs. Learn more about Fireblocks Travel Rule management in the following [guide](https://developers.fireblocks.com/docs/define-travel-rule-policies).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: notation in: query description: | Specifies the notation of the transaction. Possible values are - `notabene`: Uses Notabene notation (default behavior). - `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts. - ``: Defaults to `notabene` for backward compatibility. **Note:** The default value for the `notation` parameter will change from `notabene` to `fireblocks` Update your integrations accordingly. required: false schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TravelRuleValidateFullTransactionRequest' responses: '200': description: Transaction validated successfully content: application/json: schema: $ref: '#/components/schemas/TravelRuleValidateTransactionResponse' '400': description: Invalid request body '500': description: Internal server error tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.travelRuleBeta.validateFullTravelRuleTransaction(travelRuleBetaApiValidateFullTravelRuleTransactionRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.travelRuleBeta().validateFullTravelRuleTransaction(travelRuleValidateFullTransactionRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.travel_rule_beta.validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.travelRuleBeta.validateFullTravelRuleTransaction(travelRuleBetaApiValidateFullTravelRuleTransactionRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.travelRuleBeta().validateFullTravelRuleTransaction(travelRuleValidateFullTransactionRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.travel_rule_beta.validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request, idempotency_key); /screening/travel_rule/vasp/{did}: get: operationId: getVASPByDID summary: Get VASP details description: >- Get VASP Details. Returns information about a VASP that has the specified DID.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: did required: true in: path schema: type: string - name: fields required: false in: query description: >- CSV of fields to return (all, "blank" or see list of all field names below) schema: type: string responses: '200': description: Transaction validated successfully content: application/json: schema: $ref: '#/components/schemas/TravelRuleVASP' '400': description: Invalid request body '500': description: Internal server error tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.travelRuleBeta.getVASPByDID(travelRuleBetaApiGetVASPByDIDRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.travelRuleBeta().getVASPByDID(did, fields); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.travel_rule_beta.get_v_a_s_p_by_d_i_d(did, fields); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.travelRuleBeta.getVASPByDID(travelRuleBetaApiGetVASPByDIDRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.travelRuleBeta().getVASPByDID(did, fields); - lang: Python source: >- response = fireblocks.travel_rule_beta.get_v_a_s_p_by_d_i_d(did, fields); /screening/travel_rule/vasp: get: operationId: getVASPs summary: Get All VASPs description: >- Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted and results are paginated.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - name: order required: false in: query description: Field to order by schema: type: string - name: per_page required: false in: query description: Records per page schema: type: number - name: page required: false in: query description: Page number schema: type: number - name: fields required: false in: query description: >- CSV of fields to return (all, "blank" or see list of all field names below) schema: type: string - name: q required: false in: query description: Search query schema: type: string - name: reviewValue required: false in: query description: >- Filter by the VASP's review status. Possible values include: "TRUSTED", "BLOCKED", "MANUAL", or "NULL". When provided, only VASPs that match the specified reviewValue will be returned (i.e., VASPs that have already been reviewed to this status). schema: type: string responses: '200': description: Get all VASPs content: application/json: schema: $ref: '#/components/schemas/TravelRuleGetAllVASPsResponse' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.travelRuleBeta.getVASPs(travelRuleBetaApiGetVASPsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.travelRuleBeta().getVASPs(order, perPage, page, fields); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.travel_rule_beta.get_v_a_s_ps(order, per_page, page, fields); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.travelRuleBeta.getVASPs(travelRuleBetaApiGetVASPsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.travelRuleBeta().getVASPs(order, perPage, page, fields); - lang: Python source: >- response = fireblocks.travel_rule_beta.get_v_a_s_ps(order, per_page, page, fields); /screening/travel_rule/vasp/update: put: operationId: updateVasp summary: Update VASP Details description: >- Updates a VASP with the provided parameters. Use this endpoint to add your public jsonDIDkey generated by Notabene.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TravelRuleUpdateVASPDetails' responses: '200': description: VASP updated successfully content: application/json: schema: $ref: '#/components/schemas/TravelRuleUpdateVASPDetails' '400': description: Invalid request body '500': description: Internal server error tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.travelRuleBeta.updateVasp(travelRuleBetaApiUpdateVaspRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.travelRuleBeta().updateVasp(travelRuleUpdateVASPDetails, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.travel_rule_beta.update_vasp(travel_rule_update_v_a_s_p_details, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.travelRuleBeta.updateVasp(travelRuleBetaApiUpdateVaspRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.travelRuleBeta().updateVasp(travelRuleUpdateVASPDetails, idempotencyKey); - lang: Python source: >- response = fireblocks.travel_rule_beta.update_vasp(travel_rule_update_v_a_s_p_details, idempotency_key); /screening/travel_rule/post_screening_policy: get: operationId: getPostScreeningPolicy summary: Travel Rule - View Post-Screening Policy description: >- Get the post-screening policy for Travel Rule.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: [] responses: '200': description: Post-screening policy retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningPolicyResponse' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.getPostScreeningPolicy(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().getPostScreeningPolicy(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.compliance.get_post_screening_policy(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.getPostScreeningPolicy(); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().getPostScreeningPolicy(); - lang: Python source: response = fireblocks.compliance.get_post_screening_policy(); /screening/travel_rule/screening_policy: get: operationId: getScreeningPolicy summary: Travel Rule - View Screening Policy description: >- Get the screening policy for Travel Rule.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: [] responses: '200': description: Screening policy retrieved successfully. content: application/json: schema: $ref: >- #/components/schemas/ScreeningProviderRulesConfigurationResponse tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.getScreeningPolicy(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().getScreeningPolicy(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.compliance.get_screening_policy(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.getScreeningPolicy(); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().getScreeningPolicy(); - lang: Python source: response = fireblocks.compliance.get_screening_policy(); /screening/travel_rule/vault/{vaultAccountId}/vasp: get: summary: Get assigned VASP to vault description: | Get assigned VASP DID for a specific vault. Returns empty `vaspDid` string value in response if none assigned. tags: - Compliance x-readme: code-samples: - language: javascript code: >- const vaultAsset = await fireblocks.getVaspForVault(vaultAccountId); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.travelRuleBeta.getVaspForVault(travelRuleBetaApiGetVaspForVaultRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.travelRuleBeta().getVaspForVault(vaultAccountId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.travel_rule_beta.get_vasp_for_vault(vault_account_id); name: Fireblocks SDK Python example parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account example: 1 schema: type: string format: numeric x-fb-entity: vault_account responses: '200': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/TravelRuleVaspForVault' default: $ref: '#/components/responses/Error' operationId: getVaspForVault x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.travelRuleBeta.getVaspForVault(travelRuleBetaApiGetVaspForVaultRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.travelRuleBeta().getVaspForVault(vaultAccountId); - lang: Python source: >- response = fireblocks.travel_rule_beta.get_vasp_for_vault(vault_account_id); post: summary: Assign VASP to vault description: | Sets the VASP DID for a specific vault. Pass empty string to remove an existing one. tags: - Compliance x-readme: code-samples: - language: javascript code: >- const vaultAsset = await fireblocks.setVaspForVault(vaultAccountId, vaspDid); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.travelRuleBeta.setVaspForVault(travelRuleBetaApiSetVaspForVaultRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.travelRuleBeta().setVaspForVault(travelRuleVaspForVault, vaultAccountId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.travel_rule_beta.set_vasp_for_vault(travel_rule_vasp_for_vault, vault_account_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.travelRuleBeta.setVaspForVault(travelRuleBetaApiSetVaspForVaultRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.travelRuleBeta().setVaspForVault(travelRuleVaspForVault, vaultAccountId, idempotencyKey); - lang: Python source: >- response = fireblocks.travel_rule_beta.set_vasp_for_vault(travel_rule_vasp_for_vault, vault_account_id, idempotency_key); parameters: - in: path name: vaultAccountId required: true description: The ID of the vault account schema: type: string format: numeric x-fb-entity: vault_account - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TravelRuleVaspForVault' responses: '201': description: OK headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/TravelRuleVaspForVault' default: $ref: '#/components/responses/Error' operationId: setVaspForVault /screening/travel_rule/policy_configuration: get: operationId: getScreeningConfiguration summary: Get Travel Rule Screening Policy Configuration description: >- Retrieves the configuration for Travel Rule screening policy.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: [] responses: '200': description: Screening policy configuration retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningConfigurationsRequest' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.complianceScreeningConfiguration.getScreeningConfiguration(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.complianceScreeningConfiguration().getScreeningConfiguration(); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.compliance_screening_configuration.get_screening_configuration(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.complianceScreeningConfiguration.getScreeningConfiguration(); - lang: Java source: >- CompletableFuture> response = fireblocks.complianceScreeningConfiguration().getScreeningConfiguration(); - lang: Python source: >- response = fireblocks.compliance_screening_configuration.get_screening_configuration(); put: operationId: updateTravelRuleConfig summary: Update Travel Rule Configuration description: >- Updates bypass screening, inbound delay, or outbound delay configurations for Travel Rule.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Configuration updated successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningConfigurationsRequest' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.updateTravelRuleConfig(complianceApiUpdateTravelRuleConfigRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().updateTravelRuleConfig(idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.compliance.update_travel_rule_config(idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.updateTravelRuleConfig(complianceApiUpdateTravelRuleConfigRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().updateTravelRuleConfig(idempotencyKey); - lang: Python source: >- response = fireblocks.compliance.update_travel_rule_config(idempotency_key); /screening/aml/policy_configuration: get: operationId: getAmlScreeningConfiguration summary: Get AML Screening Policy Configuration description: >- Retrieves the configuration for Travel Rule screening policy.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: [] responses: '200': description: Screening policy configuration retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningConfigurationsRequest' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.complianceScreeningConfiguration.getAmlScreeningConfiguration(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.complianceScreeningConfiguration().getAmlScreeningConfiguration(); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.compliance_screening_configuration.get_aml_screening_configuration(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.complianceScreeningConfiguration.getAmlScreeningConfiguration(); - lang: Java source: >- CompletableFuture> response = fireblocks.complianceScreeningConfiguration().getAmlScreeningConfiguration(); - lang: Python source: >- response = fireblocks.compliance_screening_configuration.get_aml_screening_configuration(); put: operationId: updateAmlScreeningConfiguration summary: Update AML Configuration description: >- Updates bypass screening, inbound delay, or outbound delay configurations for AML.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Configuration updated successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningConfigurationsRequest' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.updateAmlScreeningConfiguration(complianceApiUpdateAmlScreeningConfigurationRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().updateAmlScreeningConfiguration(idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.compliance.update_aml_screening_configuration(idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.updateAmlScreeningConfiguration(complianceApiUpdateAmlScreeningConfigurationRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().updateAmlScreeningConfiguration(idempotencyKey); - lang: Python source: >- response = fireblocks.compliance.update_aml_screening_configuration(idempotency_key); /screening/aml/screening_policy: get: operationId: getAmlScreeningPolicy summary: AML - View Screening Policy description: >- Get the screening policy for AML.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: [] responses: '200': description: Screening policy retrieved successfully. content: application/json: schema: $ref: >- #/components/schemas/ScreeningProviderRulesConfigurationResponse tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.getAmlScreeningPolicy(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().getAmlScreeningPolicy(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.compliance.get_aml_screening_policy(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.getAmlScreeningPolicy(); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().getAmlScreeningPolicy(); - lang: Python source: response = fireblocks.compliance.get_aml_screening_policy(); /screening/aml/post_screening_policy: get: operationId: getAmlPostScreeningPolicy summary: AML - View Post-Screening Policy description: >- Get the post-screening policy for AML.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: [] responses: '200': description: Post-screening policy retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningPolicyResponse' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.getAmlPostScreeningPolicy(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().getAmlPostScreeningPolicy(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.compliance.get_aml_post_screening_policy(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.getAmlPostScreeningPolicy(); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().getAmlPostScreeningPolicy(); - lang: Python source: response = fireblocks.compliance.get_aml_post_screening_policy(); /screening/configurations: put: operationId: updateScreeningConfiguration summary: Screening Configuration Update description: >- Update Tenant screening configuration. Learn more about Fireblocks AML management in the following [guide](https://developers.fireblocks.com/docs/define-aml-policies).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ScreeningUpdateConfigurations' responses: '200': description: Tenant Screening configuration updated successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningUpdateConfigurations' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.updateScreeningConfiguration(complianceApiUpdateScreeningConfigurationRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().updateScreeningConfiguration(screeningUpdateConfigurations, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.compliance.update_screening_configuration(screening_update_configurations, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.updateScreeningConfiguration(complianceApiUpdateScreeningConfigurationRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().updateScreeningConfiguration(screeningUpdateConfigurations, idempotencyKey); - lang: Python source: >- response = fireblocks.compliance.update_screening_configuration(screening_update_configurations, idempotency_key); /screening/transaction/{txId}/bypass_screening_policy: post: operationId: retryRejectedTransactionBypassScreeningChecks summary: Bypass Screening Policy description: >- This endpoint is restricted to Admin API users and is only applicable to outgoing transactions. Calling the "Bypass Screening Policy" API endpoint triggers a new transaction, with the API user as the initiator, bypassing the screening policy check
Endpoint Permission: Admin and Non-Signing Admin. parameters: - in: path name: txId required: true description: The transaction id that was rejected by screening checks example: 550e8400-e29b-41d4-a716-446655440000 schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: A transaction object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CreateTransactionResponse' default: $ref: '#/components/responses/Error' tags: - Compliance x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.compliance.retryRejectedTransactionBypassScreeningChecks(complianceApiRetryRejectedTransactionBypassScreeningChecksRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.compliance().retryRejectedTransactionBypassScreeningChecks(txId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.compliance.retry_rejected_transaction_bypass_screening_checks(tx_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.compliance.retryRejectedTransactionBypassScreeningChecks(complianceApiRetryRejectedTransactionBypassScreeningChecksRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.compliance().retryRejectedTransactionBypassScreeningChecks(txId, idempotencyKey); - lang: Python source: >- response = fireblocks.compliance.retry_rejected_transaction_bypass_screening_checks(tx_id, idempotency_key); /screening/transaction/{txId}: get: operationId: getScreeningFullDetails summary: Get Screening Full Details description: >- Provides all the compliance details for the given screened transaction.
Endpoint Permission: All users. parameters: - in: path name: txId required: true description: Fireblocks transaction ID of the screened transaction example: 550e8400-e29b-41d4-a716-446655440000 schema: type: string responses: '200': description: A compliance object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ComplianceResultFullPayload' default: $ref: '#/components/responses/Error' tags: - Compliance x-readme: code-samples: - language: typescript code: 'const response: Promise> = fireblocks.compliance.getScreeningFullDetails(complianceApiGetScreeningFullDetailsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().getScreeningFullDetails(txId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.compliance.get_screening_full_details(tx_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: 'const response: Promise> = fireblocks.compliance.getScreeningFullDetails(complianceApiGetScreeningFullDetailsRequest);' - lang: Java source: CompletableFuture> response = fireblocks.compliance().getScreeningFullDetails(txId); - lang: Python source: response = fireblocks.compliance.get_screening_full_details(tx_id); /screening/aml/verdict/manual: post: operationId: setAmlVerdict summary: Set AML verdict for Manual Screening Verdict description: Set AML verdict for incoming transactions when the Manual Screening Verdict feature is enabled. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AmlVerdictManualRequest' responses: "200": description: AML verdict set successfully. content: application/json: schema: $ref: '#/components/schemas/AmlVerdictManualResponse' "400": description: Feature not enabled for tenant. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema' "425": description: Too Early - transaction not yet in pending screening. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema' "500": description: Internal server error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema' default: $ref: '#/components/responses/Error' tags: - Compliance x-rate-limit-category: write /management/ota: put: operationId: setOtaStatus summary: Enable or disable transactions to OTA description: >- Enable or disable transactions to One Time Addresses (Non Whitelisted addresses). Learn more about [One Time Addresses](https://support.fireblocks.io/hc/en-us/articles/4409104568338-One-Time-Address-OTA-feature) - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.oTABeta.setOtaStatus(oTABetaApiSetOtaStatusRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.oTABeta().setOtaStatus(setOtaStatusRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.o_t_a_beta.set_ota_status(set_ota_status_request, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SetOtaStatusRequest' responses: '202': description: Successfully updated OTA status headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/SetOtaStatusResponse' '400': description: Bad request '409': description: Similar request already pending '500': description: Internal server error tags: - Workspace Management x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.oTABeta.setOtaStatus(oTABetaApiSetOtaStatusRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.oTABeta().setOtaStatus(setOtaStatusRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.o_t_a_beta.set_ota_status(set_ota_status_request, idempotency_key); get: operationId: getOtaStatus summary: Returns current OTA status description: >- Returns current One Time Address status. Learn more about [One Time Addresses](https://support.fireblocks.io/hc/en-us/articles/4409104568338-One-Time-Address-OTA-feature) - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.oTABeta.getOtaStatus(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.oTABeta().getOtaStatus(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.o_t_a_beta.get_ota_status(); name: Fireblocks SDK Python example responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetOtaStatusResponse' description: Current OTA status '404': description: Configuration not found for the workspace tags: - Workspace Management x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.oTABeta.getOtaStatus(); - lang: Java source: >- CompletableFuture> response = fireblocks.oTABeta().getOtaStatus(); - lang: Python source: response = fireblocks.o_t_a_beta.get_ota_status(); /management/workspace_status: get: operationId: getWorkspaceStatus summary: Returns current workspace status description: >- Returns current workspace status (Beta). **Note**: - This endpoint is now in Beta, disabled for general availability at this time. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetWorkspaceStatusResponse' description: Current workspace status '404': description: Workspace not found tags: - Workspace Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.workspaceStatusBeta.getWorkspaceStatus(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.workspaceStatusBeta().getWorkspaceStatus(); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.workspace_status_beta.get_workspace_status(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.workspaceStatusBeta.getWorkspaceStatus(); - lang: Java source: >- CompletableFuture> response = fireblocks.workspaceStatusBeta().getWorkspaceStatus(); - lang: Python source: response = fireblocks.workspace_status_beta.get_workspace_status(); /tap/active_policy: get: operationId: getActivePolicy summary: Get the active policy and its validation description: >- Returns the active policy and its validation.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Policy Editor (Beta) x-readme: code-samples: # - language: python # code: policy = fireblocks.get_active_policy() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const policy = await fireblocks.getActivePolicy(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.policyEditorBeta.getActivePolicy(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.policyEditorBeta().getActivePolicy(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.policy_editor_beta.get_active_policy(); name: Fireblocks SDK Python example responses: '200': description: A policy object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PolicyAndValidationResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.policyEditorBeta.getActivePolicy(); - lang: Java source: >- CompletableFuture> response = fireblocks.policyEditorBeta().getActivePolicy(); - lang: Python source: response = fireblocks.policy_editor_beta.get_active_policy(); /tap/draft: get: operationId: getDraft summary: Get the active draft description: >- Returns the active draft and its validation.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Policy Editor (Beta) x-readme: code-samples: # - language: python # code: policy = fireblocks.get_draft() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const policy = await fireblocks.getDraft(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.policyEditorBeta.getDraft(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.policyEditorBeta().getDraft(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.policy_editor_beta.get_draft(); name: Fireblocks SDK Python example responses: '200': description: A draft validation response object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DraftReviewAndValidationResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.policyEditorBeta.getDraft(); - lang: Java source: >- CompletableFuture> response = fireblocks.policyEditorBeta().getDraft(); - lang: Python source: response = fireblocks.policy_editor_beta.get_draft(); put: operationId: updateDraft summary: Update the draft with a new set of rules description: >- Update the draft and return its validation.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. Learn more about Fireblocks Transaction Authorization Policy in the following [guide](https://developers.fireblocks.com/docs/set-transaction-authorization-policy).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Policy Editor (Beta) parameters: - $ref: '#/components/parameters/X-Idempotency-Key' x-readme: code-samples: # - language: python # code: policy = fireblocks.update_draft() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const policy = await fireblocks.updateDraft(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.policyEditorBeta.updateDraft(policyEditorBetaApiUpdateDraftRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.policyEditorBeta().updateDraft(policyRules, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.policy_editor_beta.update_draft(policy_rules, idempotency_key); name: Fireblocks SDK Python example requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PolicyRules' responses: '200': description: A draft validation response object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DraftReviewAndValidationResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.policyEditorBeta.updateDraft(policyEditorBetaApiUpdateDraftRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.policyEditorBeta().updateDraft(policyRules, idempotencyKey); - lang: Python source: >- response = fireblocks.policy_editor_beta.update_draft(policy_rules, idempotency_key); post: operationId: publishDraft summary: Send publish request for a certain draft id description: >- Send publish request of certain draft id and returns the response.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Policy Editor (Beta) x-readme: code-samples: # - language: python # code: policy = fireblocks.publish_draft() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const policy = await fireblocks.publishDraft(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.policyEditorBeta.publishDraft(policyEditorBetaApiPublishDraftRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.policyEditorBeta().publishDraft(publishDraftRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.policy_editor_beta.publish_draft(publish_draft_request, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PublishDraftRequestV2' responses: '201': description: A policy publish result object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PublishResult' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.policyEditorBeta.publishDraft(policyEditorBetaApiPublishDraftRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.policyEditorBeta().publishDraft(publishDraftRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.policy_editor_beta.publish_draft(publish_draft_request, idempotency_key); /tap/publish: post: operationId: publishPolicyRules summary: Send publish request for a set of policy rules description: >- Send publish request of set of policy rules and returns the response.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks TAP, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Policy Editor (Beta) x-readme: code-samples: # - language: python # code: policy = fireblocks.publish_rules() # name: Fireblocks SDK Python example (Legacy) - language: javascript code: const policy = await fireblocks.publishRules(); name: Fireblocks SDK Javascript example - language: typescript code: >- const response: Promise> = fireblocks.policyEditorBeta.publishPolicyRules(policyEditorBetaApiPublishPolicyRulesRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.policyEditorBeta().publishPolicyRules(policyRules, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.policy_editor_beta.publish_policy_rules(policy_rules, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PolicyRules' responses: '201': description: A policy publish result object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PublishResult' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.policyEditorBeta.publishPolicyRules(policyEditorBetaApiPublishPolicyRulesRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.policyEditorBeta().publishPolicyRules(policyRules, idempotencyKey); - lang: Python source: >- response = fireblocks.policy_editor_beta.publish_policy_rules(policy_rules, idempotency_key); /policy/active_policy: get: operationId: getActiveV2Policy summary: Get the active policy and its validation by policy type description: | **Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com. Returns the active policy and its validation for a specific policy type. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. tags: - Policy Editor V2 (Beta) x-rate-limit-category: query parameters: - name: policyType in: query required: true description: The policy type(s) to retrieve. Can be a single type or multiple types by repeating the parameter (e.g., ?policyType=TRANSFER&policyType=MINT). schema: $ref: '#/components/schemas/PolicyTypeV2' x-readme: code-samples: - language: python code: | # Single policy type policy = fireblocks.get_active_policy(policyType="TRANSFER") # Multiple policy types policy = fireblocks.get_active_policy(policyType=["TRANSFER", "MINT"]) name: Fireblocks SDK Python example - language: javascript code: | // Single policy type const policy = await fireblocks.getActivePolicy({policyType: "TRANSFER"}); // Multiple policy types const policy = await fireblocks.getActivePolicy({policyType: ["TRANSFER", "MINT"]}); name: Fireblocks SDK Javascript example responses: '200': description: A policy object with validation headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PolicyAndValidationResponseV2' default: $ref: '#/components/responses/Error' /policy/draft: get: operationId: getV2Draft summary: Get the active draft by policy type description: | **Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com. Returns the active draft and its validation for a specific policy type. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. tags: - Policy Editor V2 (Beta) x-rate-limit-category: read parameters: - name: policyType in: query required: true description: The policy type(s) to retrieve. Can be a single type or multiple types by repeating the parameter (e.g., ?policyType=TRANSFER&policyType=MINT). schema: $ref: '#/components/schemas/PolicyTypeV2' x-readme: code-samples: - language: python code: | # Single policy type draft = fireblocks.get_draft(policyType="TRANSFER") # Multiple policy types draft = fireblocks.get_draft(policyType=["TRANSFER", "MINT"]) name: Fireblocks SDK Python example - language: javascript code: | // Single policy type const draft = await fireblocks.getDraft({policyType: "TRANSFER"}); // Multiple policy types const draft = await fireblocks.getDraft({policyType: ["TRANSFER", "MINT"]}); name: Fireblocks SDK Javascript example responses: '200': description: A draft validation response object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DraftReviewAndValidationResponseV2' default: $ref: '#/components/responses/Error' put: operationId: updateV2Draft summary: Update the draft with a new set of rules by policy types description: | **Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com. Updates the draft and returns its validation for specific policy types. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. tags: - Policy Editor V2 (Beta) x-rate-limit-category: write parameters: - $ref: '#/components/parameters/X-Idempotency-Key' x-readme: code-samples: - language: python code: | draft = fireblocks.update_draft({"policyTypes": ["TRANSFER"], "rules": rules}) name: Fireblocks SDK Python example - language: javascript code: | const draft = await fireblocks.updateDraft({policyTypes: ["TRANSFER"], rules: rules}); name: Fireblocks SDK Javascript example requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDraftRequestV2' responses: '200': description: A draft validation response object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/DraftReviewAndValidationResponseV2' default: $ref: '#/components/responses/Error' post: operationId: publishV2Draft summary: Send publish request for a certain draft ID description: | **Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com. Publishes a draft policy by request, and returns the response. **Endpoint Permissions:** Owner, Admin, Non-Signing Admin. tags: - Policy Editor V2 (Beta) x-rate-limit-category: write x-readme: code-samples: - language: python code: | policy = fireblocks.publish_draft({"policyTypes": ["TRANSFER"], "draftId": "draft-123"}) name: Fireblocks SDK Python example - language: javascript code: | const policy = await fireblocks.publishDraft({policyTypes: ["TRANSFER"], draftId: "draft-123"}); name: Fireblocks SDK Javascript example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PublishDraftRequestV2' responses: '201': description: A policy publish result object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/PublishResultV2' default: $ref: '#/components/responses/Error' /management/users: get: operationId: getConsoleUsers summary: Get console users description: >- Get console users for your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: javascript code: const consoleUsers = await fireblocks.getConsoleUsers(); name: Fireblocks SDK Javascript example # - language: python # code: consoleUsers = fireblocks.get_console_users() # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.consoleUser.getConsoleUsers(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.consoleUser().getConsoleUsers(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.console_user.get_console_users(); name: Fireblocks SDK Python example responses: '200': description: got console users headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetConsoleUsersResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.consoleUser.getConsoleUsers(); - lang: Java source: >- CompletableFuture> response = fireblocks.consoleUser().getConsoleUsers(); - lang: Python source: response = fireblocks.console_user.get_console_users(); post: operationId: createConsoleUser summary: Create console user description: >- Create console users in your workspace - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. Learn more about Fireblocks Users management in the following [guide](https://developers.fireblocks.com/docs/manage-users).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: javascript code: >- const res = await fireblocks.createConsoleUser(firstName, lastName, email, role); name: Fireblocks SDK Javascript example # - language: python # code: >- # res = fireblocks.create_console_user(first_name, last_name, email, # role) # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.consoleUser.createConsoleUser(consoleUserApiCreateConsoleUserRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.consoleUser().createConsoleUser(createConsoleUser, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.console_user.create_console_user(create_console_user, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateConsoleUser' responses: '200': description: User creation approval request has been sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '400': description: bad request headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.consoleUser.createConsoleUser(consoleUserApiCreateConsoleUserRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.consoleUser().createConsoleUser(createConsoleUser, idempotencyKey); - lang: Python source: >- response = fireblocks.console_user.create_console_user(create_console_user, idempotency_key); /management/api_users: get: operationId: getApiUsers summary: Get API Keys description: >- List all API keys in your workspace. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: javascript code: const apiUsers = await fireblocks.getApiUsers(); name: Fireblocks SDK Javascript example # - language: python # code: apiUsers = fireblocks.get_api_users() # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.apiUser.getApiUsers(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.apiUser().getApiUsers(); name: Fireblocks SDK Java example - language: python code: response = fireblocks.api_user.get_api_users(); name: Fireblocks SDK Python example responses: '200': description: Successfully returned all API Keys headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetAPIUsersResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.apiUser.getApiUsers(); - lang: Java source: >- CompletableFuture> response = fireblocks.apiUser().getApiUsers(); - lang: Python source: response = fireblocks.api_user.get_api_users(); post: operationId: createApiUser summary: Create API Key description: >- Create a new API key in your workspace. Learn more about Fireblocks API Keys management in the following [guide](https://developers.fireblocks.com/docs/manage-api-keys).
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: javascript code: >- const res = await fireblocks.createApiUser(name, role, csrForNewUser, coSignerType, isFirstUser); name: Fireblocks SDK Javascript example # - language: python # code: >- # res = fireblocks.create_api_user(name, role, csr_pem, # co_signer_setup, co_signer_setup_is_first_user) # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.apiUser.createApiUser(apiUserApiCreateApiUserRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.apiUser().createApiUser(createAPIUser, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.api_user.create_api_user(create_a_p_i_user, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAPIUser' responses: '200': description: User creation approval request has been sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '400': description: bad request headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.apiUser.createApiUser(apiUserApiCreateApiUserRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.apiUser().createApiUser(createAPIUser, idempotencyKey); - lang: Python source: >- response = fireblocks.api_user.create_api_user(create_a_p_i_user, idempotency_key); /management/users/{id}/reset_device: post: operationId: resetDevice summary: Resets device description: >- Resets mobile device for given console user, that user will need to do mobile onboarding again. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: javascript code: const res = await fireblocks.resetDeviceRequest(consoleUserId); name: Fireblocks SDK Javascript example # - language: python # code: res = fireblocks.reset_device_request(console_user_id) # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.resetDevice.resetDevice(resetDeviceApiResetDeviceRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.resetDevice().resetDevice(id, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.reset_device.reset_device(id, idempotency_key); name: Fireblocks SDK Python example parameters: - in: path name: id required: true description: The ID of the console user schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Reset device approval request has been sent headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.resetDevice.resetDevice(resetDeviceApiResetDeviceRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.resetDevice().resetDevice(id, idempotencyKey); - lang: Python source: >- response = fireblocks.reset_device.reset_device(id, idempotency_key); /management/api_users/{userId}/whitelist_ip_addresses: get: operationId: getWhitelistIpAddresses summary: Get whitelisted ip addresses for an API Key description: >- Get a list of the whitelisted IP addresses for a specific API Key - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions.
Endpoint Permission: Admin, Non-Signing Admin. tags: - Workspace Management x-readme: code-samples: - language: javascript code: >- const whitelistedAddresses = await fireblocks.getWhitelistedAddresses(apiUserId); name: Fireblocks SDK Javascript example # - language: python # code: >- # whitelisted_addresses = # fireblocks.get_whitelisted_ip_addresses(api_user_id) # name: Fireblocks SDK Python example (Legacy) - language: typescript code: >- const response: Promise> = fireblocks.whitelistIpAddresses.getWhitelistIpAddresses(whitelistIpAddressesApiGetWhitelistIpAddressesRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.whitelistIpAddresses().getWhitelistIpAddresses(userId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.whitelist_ip_addresses.get_whitelist_ip_addresses(user_id); name: Fireblocks SDK Python example parameters: - in: path name: userId required: true description: The ID of the api user schema: type: string example: ceb990eb-838d-4de0-accf-924e8132dd67 responses: '200': description: successfully got whitelisted ip addresses headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/GetWhitelistIpAddressesResponse' '401': description: Unauthorized. Missing / invalid JWT token in Authorization header. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Lacking permissions. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 5XX: description: Internal error. headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' default: $ref: '#/components/responses/Error' x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.whitelistIpAddresses.getWhitelistIpAddresses(whitelistIpAddressesApiGetWhitelistIpAddressesRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.whitelistIpAddresses().getWhitelistIpAddresses(userId); - lang: Python source: >- response = fireblocks.whitelist_ip_addresses.get_whitelist_ip_addresses(user_id); /smart-transfers: post: operationId: createTicket summary: Create Ticket description: | Creates a new Smart Transfer ticket. Learn more about Fireblocks Smart Transfers [here](https://developers.fireblocks.com/docs/execute-smart-transfers). **Note:** The `DVP` value is in Early Access and should only be used if Fireblocks has enabled it in your workspace. Contact your Customer Success Manager for more information. **Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.createTicket(smartTransferApiCreateTicketRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().createTicket(smartTransferCreateTicket, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.create_ticket(smart_transfer_create_ticket, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferCreateTicket' responses: '201': description: Smart Transfer ticket was created successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.createTicket(smartTransferApiCreateTicketRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().createTicket(smartTransferCreateTicket, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.create_ticket(smart_transfer_create_ticket, idempotency_key); get: operationId: searchTickets summary: Find Ticket description: >- Finds Smart Transfer tickets that match the submitted criteria.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.searchTickets(smartTransferApiSearchTicketsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().searchTickets(q, statuses, networkId, createdByMe, expiresAfter, expiresBefore, type, externalRefId, after, limit); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.search_tickets(q, statuses, network_id, created_by_me, expires_after, expires_before, type, external_ref_id, after, limit); name: Fireblocks SDK Python example parameters: - name: q required: false in: query description: Search string - counterparty name or asset or ticketId. Optional schema: minLength: 1 type: string example: BTC - name: statuses required: false in: query description: Ticket statuses for Smart Transfer tickets. Optional example: - DRAFT - OPEN schema: default: [] type: array items: type: string enum: - DRAFT - PENDING_APPROVAL - OPEN - IN_SETTLEMENT - FULFILLED - EXPIRED - CANCELED - name: networkId required: false in: query description: "NetworkId that is used in the ticket\t. Optional" schema: type: string example: cf6c9e4b-916a-4dae-9421-8782b20a44ea - name: createdByMe required: false in: query description: Filter created tickets by created by self or by others. Optional schema: type: boolean - name: expiresAfter required: false in: query description: Lower bound of search range. Optional schema: format: date-time type: string example: '2017-07-21T17:32:28Z' - name: expiresBefore required: false in: query description: Upper bound of search range. Optional schema: format: date-time type: string example: '2017-07-21T17:32:28Z' - name: type required: false in: query description: >- Type of transfer. ASYNC executes transfers as they are funded, ATOMIC executes all terms (legs) as one atomic transfer schema: enum: - ASYNC - DVP type: string - name: externalRefId required: false in: query description: >- External ref. ID that workspace can use to identify ticket outside of Fireblocks system. schema: minLength: 1 maxLength: 64 type: string example: some-external-reference - name: after required: false in: query description: ID of the record after which to fetch $limit records schema: type: string example: aeda4201-7ec5-4276-a198-f0c62a5a8619 - name: limit required: false in: query description: Number of records to fetch. By default, it is 100 schema: minimum: 1 type: number example: 20 responses: '200': description: Smart Transfer tickets were returned successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketFilteredResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.searchTickets(smartTransferApiSearchTicketsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().searchTickets(q, statuses, networkId, createdByMe, expiresAfter, expiresBefore, type, externalRefId, after, limit); - lang: Python source: >- response = fireblocks.smart_transfer.search_tickets(q, statuses, network_id, created_by_me, expires_after, expires_before, type, external_ref_id, after, limit); /smart-transfers/{ticketId}: get: operationId: findTicketById summary: Search Ticket by ID description: >- Find Smart Transfer ticket by id.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.findTicketById(smartTransferApiFindTicketByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().findTicketById(ticketId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.smart_transfer.find_ticket_by_id(ticket_id); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string example: 118320d2-761f-46c7-96cf-65e71a370b36 responses: '200': description: Smart Transfer ticket returned successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.findTicketById(smartTransferApiFindTicketByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().findTicketById(ticketId); - lang: Python source: response = fireblocks.smart_transfer.find_ticket_by_id(ticket_id); /smart-transfers/{ticketId}/expires-in: put: operationId: setTicketExpiration summary: Set expiration description: >- Set expiration date on Smart Transfer ticket.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.setTicketExpiration(smartTransferApiSetTicketExpirationRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().setTicketExpiration(smartTransferSetTicketExpiration, ticketId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.set_ticket_expiration(smart_transfer_set_ticket_expiration, ticket_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferSetTicketExpiration' responses: '200': description: Successfully set expiration date on Smart Transfer ticket content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.setTicketExpiration(smartTransferApiSetTicketExpirationRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().setTicketExpiration(smartTransferSetTicketExpiration, ticketId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.set_ticket_expiration(smart_transfer_set_ticket_expiration, ticket_id, idempotency_key); /smart-transfers/{ticketId}/external-id: put: operationId: setExternalRefId summary: Add external ref. ID description: >- Set external id Smart Transfer ticket.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.setExternalRefId(smartTransferApiSetExternalRefIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().setExternalRefId(smartTransferSetTicketExternalId, ticketId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.set_external_ref_id(smart_transfer_set_ticket_external_id, ticket_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferSetTicketExternalId' responses: '200': description: Successfully set external id on Smart Transfer ticket content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.setExternalRefId(smartTransferApiSetExternalRefIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().setExternalRefId(smartTransferSetTicketExternalId, ticketId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.set_external_ref_id(smart_transfer_set_ticket_external_id, ticket_id, idempotency_key); /smart-transfers/{ticketId}/submit: put: operationId: submitTicket summary: Submit ticket description: >- Submit Smart Transfer ticket - change status into ready for approval if auto approval is not turned on, or OPEN if auto approval is on.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.submitTicket(smartTransferApiSubmitTicketRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().submitTicket(smartTransferSubmitTicket, ticketId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.submit_ticket(smart_transfer_submit_ticket, ticket_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferSubmitTicket' responses: '200': description: Successfully submitted Smart Transfer ticket content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.submitTicket(smartTransferApiSubmitTicketRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().submitTicket(smartTransferSubmitTicket, ticketId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.submit_ticket(smart_transfer_submit_ticket, ticket_id, idempotency_key); /smart-transfers/{ticketId}/fulfill: put: operationId: fulfillTicket summary: Fund ticket manually description: >- Manually fulfill ticket, in case when all terms (legs) are funded manually.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.fulfillTicket(smartTransferApiFulfillTicketRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().fulfillTicket(ticketId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.fulfill_ticket(ticket_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Successfully fulfilled on Smart Transfer ticket content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.fulfillTicket(smartTransferApiFulfillTicketRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().fulfillTicket(ticketId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.fulfill_ticket(ticket_id, idempotency_key); /smart_transfers/{ticketId}/dvp/fund: put: operationId: fundDvpTicket summary: Fund dvp ticket description: Create or fulfill DvP ticket order parameters: - name: ticketId required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferFundDvpTicket' responses: '200': description: >- Successfully started creating or fulfilling order on dvp Smart Transfer ticket content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.fundDvpTicket(smartTransferApiFundDvpTicketRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().fundDvpTicket(smartTransferFundDvpTicket, ticketId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.fund_dvp_ticket(smart_transfer_fund_dvp_ticket, ticket_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.fundDvpTicket(smartTransferApiFundDvpTicketRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().fundDvpTicket(smartTransferFundDvpTicket, ticketId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.fund_dvp_ticket(smart_transfer_fund_dvp_ticket, ticket_id, idempotency_key); /smart-transfers/{ticketId}/cancel: put: operationId: cancelTicket summary: Cancel Ticket description: >- Cancel Smart Transfer ticket.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.cancelTicket(smartTransferApiCancelTicketRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().cancelTicket(ticketId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.cancel_ticket(ticket_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string example: deea0e4a-c64d-41b5-b3c5-f7112369a7d4 - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Smart Transfer ticket successfully canceled content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.cancelTicket(smartTransferApiCancelTicketRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().cancelTicket(ticketId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.cancel_ticket(ticket_id, idempotency_key); /smart-transfers/{ticketId}/terms: post: operationId: createTicketTerm summary: Create leg (term) description: >- Creates new smart transfer ticket term (when the ticket status is DRAFT). Learn more about Fireblocks Smart Transfers in the following [guide](https://developers.fireblocks.com/docs/execute-smart-transfers).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.createTicketTerm(smartTransferApiCreateTicketTermRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().createTicketTerm(smartTransferCreateTicketTerm, ticketId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.create_ticket_term(smart_transfer_create_ticket_term, ticket_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string example: 900f04c3-83bc-428d-b681-aef682059637 - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferCreateTicketTerm' responses: '201': description: Smart Transfer ticket term was created successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketTermResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.createTicketTerm(smartTransferApiCreateTicketTermRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().createTicketTerm(smartTransferCreateTicketTerm, ticketId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.create_ticket_term(smart_transfer_create_ticket_term, ticket_id, idempotency_key); /smart-transfers/{ticketId}/terms/{termId}: get: operationId: findTicketTermById summary: Get Smart Transfer ticket term description: >- Find a specific term of a specific Smart Transfer ticket.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.findTicketTermById(smartTransferApiFindTicketTermByIdRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().findTicketTermById(ticketId, termId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.find_ticket_term_by_id(ticket_id, term_id); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string example: 118320d2-761f-46c7-96cf-65e71a370b36 - name: termId required: true in: path schema: type: string example: 88587a11-5a3e-4d90-8a63-5008d7a40fb4 responses: '200': description: Smart Transfer ticket term returned successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketTermResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.findTicketTermById(smartTransferApiFindTicketTermByIdRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().findTicketTermById(ticketId, termId); - lang: Python source: >- response = fireblocks.smart_transfer.find_ticket_term_by_id(ticket_id, term_id); put: operationId: updateTicketTerm summary: Update ticket leg (term) description: >- Update ticket term (when ticket status is DRAFT).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - name: ticketId required: true in: path schema: type: string - name: termId required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferUpdateTicketTerm' responses: '200': description: Smart Transfer ticket term updated successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketTermResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' tags: - Smart Transfers x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.updateTicketTerm(smartTransferApiUpdateTicketTermRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().updateTicketTerm(smartTransferUpdateTicketTerm, ticketId, termId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.update_ticket_term(smart_transfer_update_ticket_term, ticket_id, term_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.updateTicketTerm(smartTransferApiUpdateTicketTermRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().updateTicketTerm(smartTransferUpdateTicketTerm, ticketId, termId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.update_ticket_term(smart_transfer_update_ticket_term, ticket_id, term_id, idempotency_key); delete: operationId: removeTicketTerm summary: Delete ticket leg (term) description: >- Delete ticket term when ticket is in DRAFT status.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. parameters: - name: ticketId required: true in: path schema: type: string - name: termId required: true in: path schema: type: string responses: '204': description: Smart Transfer ticket term successfully removed '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' tags: - Smart Transfers x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.removeTicketTerm(smartTransferApiRemoveTicketTermRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().removeTicketTerm(ticketId, termId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.remove_ticket_term(ticket_id, term_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.removeTicketTerm(smartTransferApiRemoveTicketTermRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().removeTicketTerm(ticketId, termId); - lang: Python source: >- response = fireblocks.smart_transfer.remove_ticket_term(ticket_id, term_id); /smart-transfers/{ticketId}/terms/{termId}/fund: put: operationId: fundTicketTerm summary: Define funding source description: >- Set funding source for ticket term (in case of ASYNC tickets, this will execute transfer immediately).
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.fundTicketTerm(smartTransferApiFundTicketTermRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().fundTicketTerm(smartTransferFundTerm, ticketId, termId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.fund_ticket_term(smart_transfer_fund_term, ticket_id, term_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string example: 118320d2-761f-46c7-96cf-65e71a370b36 - name: termId required: true in: path schema: type: string example: 88587a11-5a3e-4d90-8a63-5008d7a40fb4 - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferFundTerm' responses: '201': description: Funding source for ticket term successfully done content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketTermResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.fundTicketTerm(smartTransferApiFundTicketTermRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().fundTicketTerm(smartTransferFundTerm, ticketId, termId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.fund_ticket_term(smart_transfer_fund_term, ticket_id, term_id, idempotency_key); /smart_transfers/{ticketId}/terms/{termId}/dvp/approve: put: operationId: approveDvPTicketTerm summary: Set funding source and approval description: >- Set funding source for ticket term and creating approving transaction for contract to transfer asset parameters: - name: ticketId required: true in: path schema: type: string - name: termId required: true in: path schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferApproveTerm' responses: '201': description: Creating approval transaction started content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketTermResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.approveDvPTicketTerm(smartTransferApiApproveDvPTicketTermRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().approveDvPTicketTerm(smartTransferApproveTerm, ticketId, termId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.approve_dv_p_ticket_term(smart_transfer_approve_term, ticket_id, term_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.approveDvPTicketTerm(smartTransferApiApproveDvPTicketTermRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().approveDvPTicketTerm(smartTransferApproveTerm, ticketId, termId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.approve_dv_p_ticket_term(smart_transfer_approve_term, ticket_id, term_id, idempotency_key); /smart-transfers/{ticketId}/terms/{termId}/manually-fund: put: operationId: manuallyFundTicketTerm summary: Manually add term transaction description: >- Manually set ticket term transaction.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.manuallyFundTicketTerm(smartTransferApiManuallyFundTicketTermRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().manuallyFundTicketTerm(smartTransferManuallyFundTerm, ticketId, termId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.manually_fund_ticket_term(smart_transfer_manually_fund_term, ticket_id, term_id, idempotency_key); name: Fireblocks SDK Python example parameters: - name: ticketId required: true in: path schema: type: string example: 118320d2-761f-46c7-96cf-65e71a370b36 - name: termId required: true in: path schema: type: string example: 88587a11-5a3e-4d90-8a63-5008d7a40fb4 - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferManuallyFundTerm' responses: '201': description: Successfully manually set ticket term transaction content: application/json: schema: $ref: '#/components/schemas/SmartTransferTicketTermResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/SmartTransferNotFoundResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.manuallyFundTicketTerm(smartTransferApiManuallyFundTicketTermRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().manuallyFundTicketTerm(smartTransferManuallyFundTerm, ticketId, termId, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.manually_fund_ticket_term(smart_transfer_manually_fund_term, ticket_id, term_id, idempotency_key); /smart-transfers/settings/user-groups: post: operationId: setUserGroups summary: Set user group description: >- Set Smart Transfers user group to receive email notifications for Smart Transfers.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.setUserGroups(smartTransferApiSetUserGroupsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().setUserGroups(smartTransferSetUserGroups, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.set_user_groups(smart_transfer_set_user_groups, idempotency_key); name: Fireblocks SDK Python example parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SmartTransferSetUserGroups' responses: '201': description: User group settings were set successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferUserGroupsResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.setUserGroups(smartTransferApiSetUserGroupsRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().setUserGroups(smartTransferSetUserGroups, idempotencyKey); - lang: Python source: >- response = fireblocks.smart_transfer.set_user_groups(smart_transfer_set_user_groups, idempotency_key); get: operationId: getSmartTransferUserGroups summary: Get user group description: >- Get Smart Transfer user groups.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer. x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.getSmartTransferUserGroups(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().getSmartTransferUserGroups(); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.get_smart_transfer_user_groups(); name: Fireblocks SDK Python example responses: '200': description: User group settings were returned successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferUserGroupsResponse' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' '422': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/SmartTransferBadRequestResponse' tags: - Smart Transfers x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.getSmartTransferUserGroups(); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().getSmartTransferUserGroups(); - lang: Python source: >- response = fireblocks.smart_transfer.get_smart_transfer_user_groups(); /smart_transfers/statistic: get: operationId: getSmartTransferStatistic summary: Get smart transfers statistic description: Get smart transfer statistic responses: '200': description: Smart Transfer ticket statistic returned successfully content: application/json: schema: $ref: '#/components/schemas/SmartTransferStatistic' '403': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/SmartTransferForbiddenResponse' default: $ref: '#/components/responses/Error' tags: - Smart Transfers x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.smartTransfer.getSmartTransferStatistic(); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.smartTransfer().getSmartTransferStatistic(); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.smart_transfer.get_smart_transfer_statistic(); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.smartTransfer.getSmartTransferStatistic(); - lang: Java source: >- CompletableFuture> response = fireblocks.smartTransfer().getSmartTransferStatistic(); - lang: Python source: response = fireblocks.smart_transfer.get_smart_transfer_statistic(); /batch/jobs: get: operationId: getJobs summary: Return a list of jobs belonging to tenant description: >- Get an array of objects including all active, paused, canceled, and complete jobs in a workspace. parameters: - name: fromTime description: Start of time range in ms since 1970 in: query required: false schema: type: integer - name: toTime description: End of time range in ms since 1970 in: query required: false schema: type: integer responses: '200': description: An array of jobs headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Jobs' default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.jobManagement.getJobs(jobManagementApiGetJobsRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.jobManagement().getJobs(fromTime, toTime); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.get_jobs(from_time, to_time); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.jobManagement.getJobs(jobManagementApiGetJobsRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.jobManagement().getJobs(fromTime, toTime); - lang: Python source: response = fireblocks.job_management.get_jobs(from_time, to_time); /batch/{jobId}: get: operationId: getJob summary: Get job details description: Get an object describing the given job parameters: - in: path required: true name: jobId description: The requested job id schema: type: string responses: '200': description: A JSON object that describes the job headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Job' default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.jobManagement.getJob(jobManagementApiGetJobRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.jobManagement().getJob(jobId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.get_job(job_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.jobManagement.getJob(jobManagementApiGetJobRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.jobManagement().getJob(jobId); - lang: Python source: response = fireblocks.job_management.get_job(job_id); /batch/{jobId}/pause: post: summary: Pause a job description: >- Pause the given job, after the current task is done. A paused job can later be resumed by calling ‘continue’, or canceled. operationId: pauseJob parameters: - in: path required: true name: jobId description: The requested job id schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: paused successfully default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.jobManagement.pauseJob(jobManagementApiPauseJobRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.jobManagement().pauseJob(jobId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.job_management.pause_job(job_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.jobManagement.pauseJob(jobManagementApiPauseJobRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.jobManagement().pauseJob(jobId, idempotencyKey); - lang: Python source: >- response = fireblocks.job_management.pause_job(job_id, idempotency_key); /batch/{jobId}/continue: post: operationId: continueJob summary: Continue a paused job description: Continue the given paused job. parameters: - in: path required: true name: jobId description: The requested job id schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: continued successfully default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.jobManagement.continueJob(jobManagementApiContinueJobRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.jobManagement().continueJob(jobId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.job_management.continue_job(job_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.jobManagement.continueJob(jobManagementApiContinueJobRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.jobManagement().continueJob(jobId, idempotencyKey); - lang: Python source: >- response = fireblocks.job_management.continue_job(job_id, idempotency_key); /batch/{jobId}/cancel: post: operationId: cancelJob summary: Cancel a running job description: >- Stop the given job immediately. If the job is in the ‘Active’ state, the job will be canceled after completing the current task. Vault accounts and Wallets that are already created will not be affected. parameters: - in: path required: true name: jobId description: The requested job id schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: canceled successfully default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.jobManagement.cancelJob(jobManagementApiCancelJobRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.jobManagement().cancelJob(jobId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.job_management.cancel_job(job_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.jobManagement.cancelJob(jobManagementApiCancelJobRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.jobManagement().cancelJob(jobId, idempotencyKey); - lang: Python source: >- response = fireblocks.job_management.cancel_job(job_id, idempotency_key); /batch/{jobId}/tasks: get: operationId: getJobTasks summary: Return a list of tasks for given job description: Return a list of tasks for given job parameters: - in: path required: true name: jobId description: The requested job id schema: type: string responses: '200': description: An array of tasks headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Tasks' default: $ref: '#/components/responses/Error' tags: - Job Management x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.jobManagement.getJobTasks(jobManagementApiGetJobTasksRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture>> response = fireblocks.jobManagement().getJobTasks(jobId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.job_management.get_job_tasks(job_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.jobManagement.getJobTasks(jobManagementApiGetJobTasksRequest); - lang: Java source: >- CompletableFuture>> response = fireblocks.jobManagement().getJobTasks(jobId); - lang: Python source: response = fireblocks.job_management.get_job_tasks(job_id); /cosigners: get: operationId: getCosigners summary: Get all cosigners description: >- Get all workspace cosigners (paginated). **Note:** These endpoints are currently in beta and might be subject to changes.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: order required: false in: query description: ASC / DESC ordering (default DESC) example: ASC schema: default: DESC enum: - ASC - DESC type: string - name: pageCursor required: false in: query description: Cursor of the required page schema: type: string - name: pageSize required: false in: query description: Maximum number of items in the page example: 10 schema: minimum: 1 maximum: 100 default: 10 type: number responses: '200': description: A paginated response containing Cosigner objects headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/CosignersPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.getCosigners(cosignersBetaApiGetCosignersRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().getCosigners(order, pageCursor, pageSize); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.get_cosigners(order, page_cursor, page_size); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.getCosigners(cosignersBetaApiGetCosignersRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().getCosigners(order, pageCursor, pageSize); - lang: Python source: >- response = fireblocks.cosigners_beta.get_cosigners(order, page_cursor, page_size); post: operationId: addCosigner summary: Add cosigner description: >- Add a new cosigner. The cosigner will be pending pairing until the API key is manually paired
Endpoint Permission: Admin and Non-Signing Admin. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddCosignerRequest' responses: '201': headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' description: Pending cosigner added content: application/json: schema: $ref: '#/components/schemas/AddCosignerResponse' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.addCosigner(cosignersBetaApiAddCosignerRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().addCosigner(addCosignerRequest, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.add_cosigner(add_cosigner_request, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.addCosigner(cosignersBetaApiAddCosignerRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().addCosigner(addCosignerRequest, idempotencyKey); - lang: Python source: >- response = fireblocks.cosigners_beta.add_cosigner(add_cosigner_request, idempotency_key); /cosigners/{cosignerId}: get: operationId: getCosigner summary: Get cosigner description: >- Get a cosigner by ID. **Note:** These endpoints are currently in beta and might be subject to changes.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string responses: '200': description: A cosigner object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Cosigner' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.getCosigner(cosignersBetaApiGetCosignerRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().getCosigner(cosignerId); name: Fireblocks SDK Java example - language: python code: response = fireblocks.cosigners_beta.get_cosigner(cosigner_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.getCosigner(cosignersBetaApiGetCosignerRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().getCosigner(cosignerId); - lang: Python source: response = fireblocks.cosigners_beta.get_cosigner(cosigner_id); patch: operationId: renameCosigner summary: Rename cosigner description: >- Rename a cosigner by ID. **Note:** These endpoints are currently in beta and might be subject to changes.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RenameCosigner' responses: '200': description: A cosigner object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/Cosigner' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.renameCosigner(cosignersBetaApiRenameCosignerRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().renameCosigner(renameCosigner, cosignerId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.rename_cosigner(rename_cosigner, cosigner_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.renameCosigner(cosignersBetaApiRenameCosignerRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().renameCosigner(renameCosigner, cosignerId); - lang: Python source: >- response = fireblocks.cosigners_beta.rename_cosigner(rename_cosigner, cosigner_id); /cosigners/{cosignerId}/api_keys: get: operationId: getApiKeys summary: Get all API keys description: >- Get all cosigner paired API keys (paginated). **Note:** These endpoints are currently in beta and might be subject to changes.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string - name: order required: false in: query description: ASC / DESC ordering (default DESC) example: ASC schema: default: DESC enum: - ASC - DESC type: string - name: pageCursor required: false in: query description: Cursor of the required page schema: type: string - name: pageSize required: false in: query description: Maximum number of items in the page example: 10 schema: minimum: 1 maximum: 100 default: 10 type: number responses: '200': description: A paginated response containing ApiKey objects headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ApiKeysPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.getApiKeys(cosignersBetaApiGetApiKeysRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().getApiKeys(cosignerId, order, pageCursor, pageSize); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.get_api_keys(cosigner_id, order, page_cursor, page_size); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.getApiKeys(cosignersBetaApiGetApiKeysRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().getApiKeys(cosignerId, order, pageCursor, pageSize); - lang: Python source: >- response = fireblocks.cosigners_beta.get_api_keys(cosigner_id, order, page_cursor, page_size); /cosigners/{cosignerId}/api_keys/{apiKeyId}: get: operationId: getApiKey summary: Get API key description: >- Get an API key by ID. **Note:** These endpoints are currently in beta and might be subject to changes.
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string - name: apiKeyId required: true in: path description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: type: string responses: '200': description: An ApiKey object headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ApiKey' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.getApiKey(cosignersBetaApiGetApiKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().getApiKey(cosignerId, apiKeyId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.get_api_key(cosigner_id, api_key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.getApiKey(cosignersBetaApiGetApiKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().getApiKey(cosignerId, apiKeyId); - lang: Python source: >- response = fireblocks.cosigners_beta.get_api_key(cosigner_id, api_key_id); put: operationId: pairApiKey summary: Pair API key description: >- Pair an API key to a cosigner
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string - name: apiKeyId required: true in: path description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: type: string - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PairApiKeyRequest' responses: '202': description: The API key object to be paired headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' Location: $ref: '#/components/headers/Location' content: application/json: schema: $ref: '#/components/schemas/PairApiKeyResponse' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.pairApiKey(cosignersBetaApiPairApiKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().pairApiKey(pairApiKeyRequest, cosignerId, apiKeyId, idempotencyKey); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.pair_api_key(pair_api_key_request, cosigner_id, api_key_id, idempotency_key); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.pairApiKey(cosignersBetaApiPairApiKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().pairApiKey(pairApiKeyRequest, cosignerId, apiKeyId, idempotencyKey); - lang: Python source: >- response = fireblocks.cosigners_beta.pair_api_key(pair_api_key_request, cosigner_id, api_key_id, idempotency_key); delete: operationId: unpairApiKey summary: Unpair API key description: >- Unpair an API key from a cosigner
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string - name: apiKeyId required: true in: path description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: type: string responses: '202': description: The API key object to be unpaired headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' Location: $ref: '#/components/headers/Location' content: application/json: schema: $ref: '#/components/schemas/ApiKey' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.unpairApiKey(cosignersBetaApiUnpairApiKeyRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().unpairApiKey(cosignerId, apiKeyId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.unpair_api_key(cosigner_id, api_key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.unpairApiKey(cosignersBetaApiUnpairApiKeyRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().unpairApiKey(cosignerId, apiKeyId); - lang: Python source: >- response = fireblocks.cosigners_beta.unpair_api_key(cosigner_id, api_key_id); patch: operationId: updateCallbackHandler summary: Update API key callback handler description: >- Update the callback handler of an API key
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string - name: apiKeyId required: true in: path description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateCallbackHandlerRequest' responses: '202': description: The API key object with the new callback handler headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' Location: $ref: '#/components/headers/Location' content: application/json: schema: $ref: '#/components/schemas/UpdateCallbackHandlerResponse' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.updateCallbackHandler(cosignersBetaApiUpdateCallbackHandlerRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().updateCallbackHandler(updateCallbackHandlerRequest, cosignerId, apiKeyId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.update_callback_handler(update_callback_handler_request, cosigner_id, api_key_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.updateCallbackHandler(cosignersBetaApiUpdateCallbackHandlerRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().updateCallbackHandler(updateCallbackHandlerRequest, cosignerId, apiKeyId); - lang: Python source: >- response = fireblocks.cosigners_beta.update_callback_handler(update_callback_handler_request, cosigner_id, api_key_id); /cosigners/{cosignerId}/api_keys/{apiKeyId}/{requestId}: get: operationId: getRequestStatus summary: Get request status description: >- Get the status of an asynchronous request
Endpoint Permission: Admin and Non-Signing Admin. parameters: - name: cosignerId required: true in: path description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: format: uuid type: string - name: apiKeyId required: true in: path description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f schema: type: string - name: requestId required: true in: path schema: type: string responses: '200': description: The status of the request content: application/json: schema: $ref: '#/components/schemas/Status' headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' default: $ref: '#/components/responses/Error' tags: - Cosigners (Beta) x-readme: code-samples: - language: typescript code: >- const response: Promise> = fireblocks.cosignersBeta.getRequestStatus(cosignersBetaApiGetRequestStatusRequest); name: Fireblocks SDK TypeScript example - language: java code: >- CompletableFuture> response = fireblocks.cosignersBeta().getRequestStatus(cosignerId, apiKeyId, requestId); name: Fireblocks SDK Java example - language: python code: >- response = fireblocks.cosigners_beta.get_request_status(cosigner_id, api_key_id, request_id); name: Fireblocks SDK Python example x-codeSamples: - lang: TypeScript source: >- const response: Promise> = fireblocks.cosignersBeta.getRequestStatus(cosignersBetaApiGetRequestStatusRequest); - lang: Java source: >- CompletableFuture> response = fireblocks.cosignersBeta().getRequestStatus(cosignerId, apiKeyId, requestId); - lang: Python source: >- response = fireblocks.cosigners_beta.get_request_status(cosigner_id, api_key_id, request_id); components: securitySchemes: bearerTokenAuth: type: http scheme: bearer bearerFormat: JWT ApiKeyAuth: type: apiKey in: header name: X-API-Key headers: X-Request-ID: schema: type: string example: 8a11a1e2-0d23-408c-b39a-e2a5e201991b description: >- Unique ID correlated to the API request. Please provide it in any support ticket you create or on Github issues related to Fireblocks SDKs next-page: schema: type: string description: >- URL representing a new request to this API endpoint to receive the next page of results. prev-page: schema: type: string description: >- URL representing a new request to this API endpoint to receive the previous page of results. Location: schema: type: string description: The location URL of the request status example: >- /v1/cosigners/7cd3c3d2-611b-43fe-98da-1e0bfe893e2f/api_keys/ec1ca5d4-3824-4c67-9bea-7f3f636b9f40/123456789 schemas: TagAttachmentOperationAction: type: string enum: - ATTACH - DETACH VaultAccountTagAttachmentOperation: type: object properties: vaultAccountId: description: The ID of the Vault account example: "1" type: string format: numeric tagId: description: The tag ID example: "f0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11" type: string format: uuid action: $ref: '#/components/schemas/TagAttachmentOperationAction' required: - vaultAccountId - tagId - action VaultAccountTagAttachmentPendingOperation: type: object properties: vaultAccountId: description: The ID of the vault account example: "1" type: string format: numeric tagId: description: Tag ID example: f0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11 type: string format: uuid action: $ref: '#/components/schemas/TagAttachmentOperationAction' approvalRequestId: description: Pending approval request ID example: "12345" type: string required: - vaultAccountId - tagId - action - approvalRequestId VaultAccountTagAttachmentRejectedOperation: type: object properties: vaultAccountId: description: The ID of the vault account example: "1" type: string format: numeric tagId: description: Tag ID example: "f0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11" type: string format: uuid action: $ref: '#/components/schemas/TagAttachmentOperationAction' reason: description: Reason for rejection type: string enum: - CAPACITY_EXCEEDED - ATTACHMENT_ALREADY_EXISTS - ATTACHMENT_DOES_NOT_EXIST - PENDING_REQUEST_EXISTS required: - vaultAccountId - tagId - action - reason VaultAccountsTagAttachmentOperationsRequest: type: object properties: vaultAccountIds: description: The IDs of the vault accounts to attach tags to example: ["0", "1"] type: array minItems: 1 maxItems: 100 items: type: string format: numeric tagIdsToAttach: description: The IDs of the tags to attach example: ["df4c0987-30da-4976-8dcf-bc2dd41ae331", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"] type: array minItems: 1 maxItems: 20 items: type: string format: uuid tagIdsToDetach: description: The IDs of the tags to detach example: ["df4c0987-30da-4976-8dcf-bc2dd41ae331", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"] type: array minItems: 1 maxItems: 20 items: type: string format: uuid required: - vaultAccountIds VaultAccountsTagAttachmentOperationsResponse: type: object properties: appliedOperations: description: The operations that were applied type: array items: $ref: '#/components/schemas/VaultAccountTagAttachmentOperation' pendingOperations: description: The operations that are pending type: array items: $ref: '#/components/schemas/VaultAccountTagAttachmentPendingOperation' rejectedOperations: description: The operations that were rejected type: array items: $ref: '#/components/schemas/VaultAccountTagAttachmentRejectedOperation' ApprovalRequest: type: object description: Approval request details properties: id: type: string format: numeric description: The approval request identifier example: "12345" type: type: string description: The approval request type enum: - TAG_UPDATE - TAG_DELETE - TAG_ATTACH_DETACH state: type: string description: The approval request state enum: - PENDING - APPROVED - REJECTED - FAILED - CANCELLED - EXPIRED required: - id - type - state AbaPaymentInfo: type: object description: ABA payment information for US bank transfers properties: accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "John" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Doe" accountHolderCity: type: string description: The city where the account holder resides example: "New York" accountHolderCountry: type: string description: The country where the account holder resides (ISO 3166-1 alpha-2 code) example: "US" accountHolderAddress1: type: string description: The primary address line of the account holder example: "123 Wall Street" accountHolderAddress2: type: string description: The secondary address line of the account holder (optional) example: "Suite 100" accountHolderDistrict: type: string description: The district or region where the account holder resides example: "Manhattan" accountHolderPostalCode: type: string description: The postal code of the account holder's address example: "10005" abaRoutingNumber: type: string description: The ABA routing number for the bank example: "021000021" abaAccountNumber: type: string description: The account number at the bank example: "1234567890" abaCountry: type: string description: The country for the ABA transfer (ISO 3166-1 alpha-2 code) example: "US" required: - accountHolderGivenName - accountHolderCity - accountHolderCountry - accountHolderAddress1 - accountHolderPostalCode - abaRoutingNumber - abaAccountNumber - abaCountry SolanaInstructionWithValue: type: object properties: name: type: string description: The name of the instruction example: approve discriminator: type: array items: type: number description: The discriminator for the instruction. Acts as a function selector example: [13] accounts: type: array items: $ref: '#/components/schemas/SOLAccountWithValue' args: type: array description: The arguments of the instruction items: $ref: '#/components/schemas/SolParameterWithValue' required: - name - discriminator - accounts - args SOLAccountWithValue: type: object properties: name: type: string description: The name of the account example: mint signer: type: boolean description: Indicates if the account needs to sign the instruction. If true a signature for this account must be provided example: false writable: type: boolean description: Indicates if the account's data can be changed by the instruction. example: true address: type: string description: The address of the account example: 4PVcDXAkAgQkVx4puiSXdZ5H8BrTqUzstJBKKWFy3XsH required: - name - address SolParameterWithValue: type: object properties: value: type: string description: The value of the parameter example: "1000000" name: type: string description: The name of the parameter example: mint type: $ref: '#/components/schemas/IdlType' required: - name - type - value IdlType: type: string enum: - bool - u8 - i8 - u16 - i16 - u32 - i32 - f32 - u64 - i64 - f64 - u128 - i128 - u256 - i256 - bytes - string - pubkey description: The type of the parameter example: u8 AccessType: discriminator: propertyName: type mapping: PROVIDER_ACCOUNT: '#/components/schemas/AccountAccess' PROVIDER: '#/components/schemas/DirectAccess' oneOf: - $ref: '#/components/schemas/AccountAccess' - $ref: '#/components/schemas/DirectAccess' AccountAccess: type: object properties: type: type: string enum: [PROVIDER_ACCOUNT] description: Indicates this uses account-based access providerId: type: string description: The ID of the provider accountId: type: string description: The ID of the account required: - type - accountId example: type: PROVIDER_ACCOUNT providerId: bridge-provider-001 accountId: acc_9f4e2d8b1c6a5e73 AccountBase: type: object properties: id: type: string description: The ID of the account name: type: string description: The name of the account required: - id - name example: id: acc_9f4e2d8b1c6a5e73 name: Main Trading Account AccountBasedAccessProvider: allOf: - $ref: '#/components/schemas/BaseProvider' - type: object properties: manifest: $ref: '#/components/schemas/Manifest' connected: type: boolean description: Whether the provider is currently connected accounts: type: array items: $ref: '#/components/schemas/AccountBase' required: - accountBased - manifest - connected example: id: "prov_9a2c4e8f7b1d3a6e" name: "Premium Trading Co" logo: "https://example.com/logos/premium-trading-co.png" accountBased: true manifest: assetTypes: ["DIGITAL", "FIAT"] capabilities: ["SPOT_TRADING"] connected: true accounts: [{ "id": "acc_5f8e2d9c1a7b4e36", "name": "Trading Account 1", "description": "Primary trading account" }] AccountHolderDetails: type: object properties: name: description: Full name of the account holder. type: string city: type: string country: description: Country code, as specified in ISO 3166-1 alpha-2. type: string subdivision: description: Country administrative subdivision, as specified in ISO 3166-2. type: string address: description: Account holder street address. type: string postalCode: type: string required: - name example: name: "John Smith" city: "New York" country: "US" subdivision: "NY" address: "123 Wall Street, Apt 4B" postalCode: "10005" AccountProviderID: type: object properties: providerId: type: string description: The ID of the provider associated with the account. accountId: type: string description: The ID of the account associated with the provider. required: - accountId - providerId example: providerId: "prov_8c3f1a4b2d6e9f7c" accountId: "acc_5e9a2d1c4b7f3e8a" AccountReference: discriminator: propertyName: type mapping: VAULT_ACCOUNT: '#/components/schemas/InternalReference' EXCHANGE_ACCOUNT: '#/components/schemas/InternalReference' INTERNAL_WALLET: '#/components/schemas/InternalReference' EXTERNAL_WALLET: '#/components/schemas/InternalReference' FIAT_ACCOUNT: '#/components/schemas/InternalReference' ONE_TIME_ADDRESS: '#/components/schemas/OneTimeAddressReference' oneOf: - $ref: '#/components/schemas/InternalReference' - $ref: '#/components/schemas/OneTimeAddressReference' AchAccountType: type: string description: Type of the bank account. enum: - CHECKING - SAVINGS example: CHECKING AchAddress: type: object properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' bankName: type: string description: Name of the bank. bankAccountNumber: type: string description: The bank account number for the ACH transfer. pattern: '^\d{4,17}$' routingNumber: type: string pattern: '^\d{9}$' description: Routing number identifying the bank account. accountType: $ref: '#/components/schemas/AchAccountType' required: - accountHolder - bankAccountNumber - routingNumber - accountType example: accountHolder: name: "Sarah Johnson" city: "Austin" country: "US" subdivision: "TX" address: "456 Oak Avenue" postalCode: "78701" bankName: "Chase Bank" bankAccountNumber: "1234567890123" routingNumber: "021000021" accountType: "CHECKING" AchDestination: type: object properties: type: type: string enum: [ACH] address: $ref: '#/components/schemas/AchAddress' required: - type - address example: type: "ACH" address: accountHolder: name: "Sarah Johnson" city: "Austin" country: "US" subdivision: "TX" address: "456 Oak Avenue" postalCode: "78701" bankName: "Chase Bank" bankAccountNumber: "1234567890123" routingNumber: "021000021" accountType: "CHECKING" AchPaymentInfo: type: object description: ACH payment information for US Automated Clearing House transfers properties: rail: type: string enum: - ACH description: The payment rail type for ACH transfers example: "ACH" addressingSystem: type: string enum: - ACH description: The addressing system used for ACH transfers example: "ACH" accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "John" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Smith" country: type: string description: The country for the transfer (ISO 3166-1 alpha-2 code) example: "US" accountNumber: type: string description: The bank account number example: "1234567890" routingNumber: type: string description: The bank routing number (ABA routing number) example: "021000021" accountType: type: string enum: - CHECKING - SAVINGS description: The type of bank account example: "CHECKING" required: - rail - addressingSystem - routingNumber - accountType - accountHolderGivenName - accountHolderSurname - country - accountNumber BaseProvider: type: object properties: id: type: string description: Unique identifier for the provider name: type: string description: Display name of the provider logo: type: string description: URL to the logo image of the provider accountBased: type: boolean description: Indicates whether the provider access model is through accounts or directly required: - id - name - accountBased example: id: "prov_7b4e2d9f1c8a5e3b" name: "Global Exchange Partners" logo: "https://example.com/logos/global-exchange-partners.png" accountBased: false BlockchainTransfer: type: object properties: type: type: string enum: [BLOCKCHAIN] txHash: type: string description: The hash of the transaction on the blockchain. amount: type: string description: The amount of the transaction. required: - amount example: type: "BLOCKCHAIN" txHash: "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b" amount: "250.75" BpsFee: allOf: - type: object properties: amountType: type: string enum: [BPS] amount: type: number minimum: 0 maximum: 10000 description: Fee in basis points (1 = 0.01%, 10000 = 100%) example: 50 required: - amountType - amount example: amountType: BPS amount: 50 BusinessIdentification: type: object properties: externalReferenceId: type: string entityType: type: string enum: [BUSINESS] participantRelationshipType: $ref: '#/components/schemas/ParticipantRelationshipType' businessName: type: string registrationNumber: type: string postalAddress: $ref: '#/components/schemas/PostalAddress' required: - externalReferenceId - entityType - participantRelationshipType - businessName - registrationNumber - postalAddress example: externalReferenceId: "bus_ref_9f3e2d1c4b8a7e5f" entityType: "BUSINESS" participantRelationshipType: "COUNTERPARTY" businessName: "TechCorp Solutions LLC" registrationNumber: "TC-2023-001547" postalAddress: streetAddress: "789 Innovation Drive" city: "San Francisco" state: "CA" postalCode: "94105" country: "US" Capability: type: string enum: - WITHDRAWALS - DEPOSITS - TRADING example: TRADING CommittedQuoteType: type: object properties: type: type: string enum: [COMMITTED] description: Indicates this is a committed quote expiresAt: type: string format: date-time description: ISO 8601 timestamp of the expiration time of the quote. required: - type - expiresAt example: type: "COMMITTED" expiresAt: "2024-01-15T14:30:00.000Z" CreateOrderRequest: type: object properties: via: $ref: '#/components/schemas/AccessType' executionRequestDetails: $ref: '#/components/schemas/ExecutionRequestDetails' settlement: $ref: '#/components/schemas/Settlement' participantsIdentification: $ref: '#/components/schemas/ParticipantsIdentification' customerInternalReferenceId: type: string description: Internal reference ID for the customer note: type: string maxLength: 512 description: Optional note for the order required: - via - executionRequestDetails - settlement example: via: type: "PROVIDER_ACCOUNT" providerId: "prov_8c3f1a4b2d6e9f7c" accountId: "acc_5e9a2d1c4b7f3e8a" executionRequestDetails: type: "MARKET" baseAssetId: "USD" quoteAssetId: "BTC" side: "BUY" baseAmount: "1000.00" settlement: type: "DVP" sourceAccount: type: "VAULT_ACCOUNT" id: "vault_acc_3f7e1d9b2c5a8e4f" destinationAccount: type: "VAULT_ACCOUNT" id: "vault_acc_7b2e5d8f1c4a9e3b" customerInternalReferenceId: "order_ref_2024_001" note: "Monthly investment order" CreateQuote: type: object properties: scope: type: array items: oneOf: - $ref: '#/components/schemas/AccountProviderID' - $ref: '#/components/schemas/ProviderID' baseAssetId: type: string baseAssetRail: $ref: '#/components/schemas/TransferRail' quoteAssetId: type: string quoteAssetRail: $ref: '#/components/schemas/TransferRail' baseAmount: type: string pattern: '^\d+(\.\d+)?$' description: The amount to convert from example: "100.00" slippageBps: type: number description: Slippage tolerance in basis points (bps) for defi quotes - 1 is 0.01% and 10000 is 100% default: 50 minimum: 1 maximum: 10000 settlement: $ref: '#/components/schemas/DVPSettlement' side: type: string enum: [BUY, SELL] description: Side of the order required: - quoteAssetId - baseAssetId - baseAmount - side - scope example: scope: [{ "providerId": "prov_8c3f1a4b2d6e9f7c", "accountId": "acc_5e9a2d1c4b7f3e8a" }] baseAssetId: "USD" baseAssetRail: "FIAT_RAILS" quoteAssetId: "BTC" quoteAssetRail: "BLOCKCHAIN_RAILS" baseAmount: "1000.00" side: "BUY" slippageBps: 100 settlement: type: "DVP" sourceAccount: type: "VAULT_ACCOUNT" id: "vault_acc_3f7e1d9b2c5a8e4f" destinationAccount: type: "VAULT_ACCOUNT" id: "vault_acc_7b2e5d8f1c4a9e3b" DVPSettlement: type: object description: Source/Destination accounts for the quote (must have for defi quotes) properties: type: type: string enum: [DVP] sourceAccount: $ref: '#/components/schemas/SettlementSourceAccount' destinationAccount: $ref: '#/components/schemas/AccountReference' required: - type - sourceAccount - destinationAccount example: type: "DVP" sourceAccount: type: "VAULT_ACCOUNT" id: "vault_acc_3f7e1d9b2c5a8e4f" destinationAccount: type: "VAULT_ACCOUNT" id: "vault_acc_7b2e5d8f1c4a9e3b" DirectAccess: type: object properties: type: type: string enum: [PROVIDER] description: Indicates this uses direct provider access providerId: type: string description: The ID of the provider required: - type - providerId example: type: PROVIDER providerId: uniswap-v3-provider DirectAccessProvider: allOf: - $ref: '#/components/schemas/BaseProvider' - type: object properties: approved: type: boolean description: Whether the provider was approved for use hasTermsOfService: type: boolean description: Whether the provider has terms of service termsOfServiceUrl: type: string description: URL to the terms of service document required: - accountBased - hasTermsOfService example: id: "prov_2f8e1d9b4c7a5e3f" name: "DirectTrade Solutions" logo: "https://example.com/logos/directtrade-solutions.png" accountBased: false approved: true hasTermsOfService: true termsOfServiceUrl: "https://directtrade.example.com/terms" ErrorCodes: type: string enum: - INVALID_TOKEN - MISSING_PARAMETER - INVALID_PARAMETER - RESOURCE_NOT_FOUND - INVALID_TIME_RANGE - UNAUTHORIZED - ACCOUNT_NOT_ACTIVE - UNMANAGED_WALLET_NOT_APPROVED example: INVALID_PARAMETER ExecutionRequestBaseDetails: type: object properties: side: type: string enum: [BUY, SELL] description: Side of the order default: BUY baseAmount: type: string description: Amount to convert baseAssetId: type: string description: Source asset identifier baseAssetRail: $ref: '#/components/schemas/TransferRail' quoteAssetId: type: string description: Target asset identifier quoteAssetRail: $ref: '#/components/schemas/TransferRail' required: - baseAmount - baseAssetId - quoteAssetId - side example: side: BUY baseAmount: "1000.00" baseAssetId: USDC baseAssetRail: BLOCKCHAIN quoteAssetId: BTC quoteAssetRail: BLOCKCHAIN ExecutionRequestDetails: description: Order execution details discriminator: propertyName: type mapping: LIMIT: '#/components/schemas/LimitExecutionRequestDetails' MARKET: '#/components/schemas/MarketExecutionRequestDetails' QUOTE: '#/components/schemas/QuoteExecutionWithRequoteRequestDetails' oneOf: - $ref: '#/components/schemas/LimitExecutionRequestDetails' - $ref: '#/components/schemas/MarketExecutionRequestDetails' - $ref: '#/components/schemas/QuoteExecutionWithRequoteRequestDetails' ExecutionResponseBaseDetails: type: object properties: side: type: string enum: [BUY, SELL] description: Side of the order default: BUY baseAmount: type: string description: Amount to convert baseAssetId: type: string description: Source asset identifier baseAssetRail: $ref: '#/components/schemas/TransferRail' quoteAssetId: type: string description: Target asset identifier quoteAssetRail: $ref: '#/components/schemas/TransferRail' required: - baseAmount - baseAssetId - quoteAssetId - side example: side: BUY baseAmount: "1000.00" baseAssetId: USDC baseAssetRail: BLOCKCHAIN quoteAssetId: BTC quoteAssetRail: BLOCKCHAIN ExecutionResponseDetails: discriminator: propertyName: type mapping: LIMIT: '#/components/schemas/LimitExecutionResponseDetails' MARKET: '#/components/schemas/MarketExecutionResponseDetails' QUOTE: '#/components/schemas/QuoteExecutionWithRequoteResponseDetails' oneOf: - $ref: '#/components/schemas/LimitExecutionResponseDetails' - $ref: '#/components/schemas/MarketExecutionResponseDetails' - $ref: '#/components/schemas/QuoteExecutionWithRequoteResponseDetails' ExecutionStep: type: object properties: type: $ref: '#/components/schemas/ExecutionStepType' status: $ref: '#/components/schemas/ExecutionStepStatusEnum' fee: $ref: '#/components/schemas/Fee' txId: type: string txHash: type: string error: $ref: '#/components/schemas/ExecutionStepError' required: - type - status example: type: EXECUTE status: PROCESSING fee: feeType: NETWORK assetId: ETH amountType: FIXED amount: "0.01" txId: tx_abc123def456 ExecutionStepDetails: type: object properties: type: $ref: '#/components/schemas/ExecutionStepType' fee: $ref: '#/components/schemas/Fee' required: - type example: type: "MARKET_EXECUTION" fee: feeType: "ORDER" assetId: "USD" amountType: "FIXED" amount: "2.50" ExecutionStepError: type: string enum: - INTERNAL_ERROR - QUOTE_EXPIRED - INSUFFICIENT_OUTPUT_AMOUNT - INSUFFICIENT_FUNDS - LAST_TRANSACTION_FAILED - SWAP_APPROVAL_FAILED - PROVIDER_EXECUTION_ERROR example: INSUFFICIENT_FUNDS ExecutionStepStatus: type: object properties: type: $ref: '#/components/schemas/ExecutionStepType' status: $ref: '#/components/schemas/ExecutionStepStatusEnum' fee: $ref: '#/components/schemas/Fee' txId: type: string txHash: type: string error: $ref: '#/components/schemas/ExecutionStepError' required: - type - status example: type: "MARKET_EXECUTION" status: "PROCESSING" fee: feeType: "ORDER" assetId: "USD" amountType: "FIXED" amount: "2.50" txId: "tx_9f4e2d8b1c6a5e73" txHash: "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b" ExecutionStepStatusEnum: type: string enum: - WAITING - PROCESSING - COMPLETED - FAILED - CANCELLED example: PROCESSING ExecutionStepType: type: string enum: - APPROVE - PERMIT - CONTRACT_CALL - EXECUTE - SETTLEMENT example: EXECUTE ExternalAccount: type: object properties: type: type: string enum: [EXTERNAL] required: - type example: type: "EXTERNAL" Fee: allOf: - type: object properties: feeType: type: string enum: [ORDER, NETWORK, SPREAD] description: | The type of fee, such as ORDER, NETWORK, or SPREAD. - `ORDER`: Fee for executing the order. - `NETWORK`: Fee for network transactions. - `SPREAD`: Fee for the difference between buy and sell prices. assetId: type: string description: The asset identifier for the fee. amountType: type: string enum: [FIXED, BPS] description: The type of amount for the fee, either FIXED or BPS (basis points). required: - feeType - assetId - amountType - discriminator: propertyName: amountType mapping: FIXED: ./FixedFee.yml BPS: ./BpsFee.yml oneOf: - $ref: '#/components/schemas/FixedFee' - $ref: '#/components/schemas/BpsFee' FiatDestination: type: object discriminator: propertyName: type mapping: IBAN: '#/components/schemas/IbanDestination' SWIFT: '#/components/schemas/SwiftDestination' ACH: '#/components/schemas/AchDestination' US_WIRE: '#/components/schemas/USWireDestination' SPEI: '#/components/schemas/SpeiDestination' SEPA: '#/components/schemas/SEPADestination' PIX: '#/components/schemas/PixDestination' LOCAL_BANK_TRANSFER_AFRICA: '#/components/schemas/LocalBankTransferAfricaDestination' MOBILE_MONEY: '#/components/schemas/MobileMoneyDestination' properties: type: type: string enum: - IBAN - SWIFT - ACH - US_WIRE - SPEI - SEPA - PIX - LOCAL_BANK_TRANSFER_AFRICA - MOBILE_MONEY address: $ref: '#/components/schemas/AccountHolderDetails' required: - type - address oneOf: - $ref: '#/components/schemas/IbanDestination' - $ref: '#/components/schemas/SwiftDestination' - $ref: '#/components/schemas/AchDestination' - $ref: '#/components/schemas/USWireDestination' - $ref: '#/components/schemas/SpeiDestination' - $ref: '#/components/schemas/SEPADestination' - $ref: '#/components/schemas/PixDestination' - $ref: '#/components/schemas/LocalBankTransferAfricaDestination' - $ref: '#/components/schemas/MobileMoneyDestination' FiatTransfer: type: object properties: type: type: string enum: [FIAT] amount: type: string description: The amount of the fiat transfer. referenceId: type: string description: The reference ID for the fiat transfer. required: - amount example: type: "FIAT" amount: "750.25" referenceId: "fiat_ref_2024_003_789" FixedFee: allOf: - type: object properties: amountType: type: string enum: [FIXED] amount: type: string pattern: '^\d+(\.\d+)?$' description: The fixed amount of the fee example: "0.01" required: - amountType - amount example: amountType: FIXED amount: "0.01" GetOrdersResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/OrderSummary' total: type: integer description: Total number of orders matching the query. next: type: string description: A cursor for the next page of results, if available. required: - total - data example: data: - id: "ord_5f8e2d9c1a7b4e36" via: type: "PROVIDER_ACCOUNT" providerId: "prov_8c3f1a4b2d6e9f7c" accountId: "acc_5e9a2d1c4b7f3e8a" baseAmount: "1000.00" quoteAmount: "0.02458" baseAssetId: "USD" quoteAssetId: "BTC" status: "COMPLETED" destination: type: "VAULT_ACCOUNT" accountId: "vault_acc_7b2e5d8f1c4a9e3b" createdAt: "2024-01-15T10:30:00.000Z" total: 1 next: "cursor_next_page_token" Iban: type: string pattern: ^[A-Z]{2}\d{2}[a-zA-Z0-9]{1,30}$ example: "GB82WEST12345698765432" IbanAddress: type: object properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' iban: $ref: '#/components/schemas/Iban' required: - accountHolder - iban example: accountHolder: name: "Maria Gonzalez" city: "Madrid" country: "ES" subdivision: "MD" address: "Calle Gran Via 123, 2°B" postalCode: "28013" iban: "ES9121000418450200051332" IbanDestination: type: object properties: type: type: string enum: [IBAN] address: $ref: '#/components/schemas/IbanAddress' required: - type - address example: type: "IBAN" address: accountHolder: name: "Maria Gonzalez" city: "Madrid" country: "ES" subdivision: "MD" address: "Calle Gran Via 123, 2°B" postalCode: "28013" iban: "ES9121000418450200051332" IbanPaymentInfo: type: object description: IBAN payment information for European bank transfers properties: accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "John" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Doe" accountHolderCity: type: string description: The city where the account holder resides example: "London" accountHolderCountry: type: string description: The country where the account holder resides (ISO 3166-1 alpha-2 code) example: "GB" accountHolderAddress1: type: string description: The primary address line of the account holder example: "123 Main Street" accountHolderAddress2: type: string description: The secondary address line of the account holder (optional) example: "Apartment 4B" accountHolderDistrict: type: string description: The district or region where the account holder resides example: "Westminster" accountHolderPostalCode: type: string description: The postal code of the account holder's address example: "SW1A 1AA" iban: type: string description: The International Bank Account Number (IBAN) example: "GB82WEST12345698765432" ibanCity: type: string description: The city associated with the IBAN example: "London" ibanCountry: type: string description: The country associated with the IBAN (ISO 3166-1 alpha-2 code) example: "GB" required: - accountHolderGivenName - accountHolderCity - accountHolderCountry - accountHolderAddress1 - accountHolderPostalCode - iban - ibanCity - ibanCountry Identification: discriminator: propertyName: entityType mapping: INDIVIDUAL: '#/components/schemas/PersonalIdentification' BUSINESS: '#/components/schemas/BusinessIdentification' oneOf: - $ref: '#/components/schemas/PersonalIdentification' - $ref: '#/components/schemas/BusinessIdentification' IndicativeQuoteType: type: object properties: type: type: string enum: [INDICATIVE] description: Indicates this is an indicative quote required: - type example: type: "INDICATIVE" InternalReference: type: object properties: type: $ref: '#/components/schemas/PeerType' accountId: type: string required: - accountId - type example: type: "VAULT_ACCOUNT" accountId: "vault_acc_9f3e2d1c4b8a7e5f" LbtPaymentInfo: type: object description: LBT (Lebanese Bank Transfer) payment information for Lebanese bank transfers properties: rail: type: string enum: - LBT description: The payment rail type for Lebanese bank transfers example: "LBT" addressingSystem: type: string enum: - BAN description: The addressing system used for Lebanese bank transfers (Bank Account Number) example: "BAN" accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "Ahmad" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Khalil" country: type: string description: The country for the transfer (ISO 3166-1 alpha-2 code) example: "LB" accountNumber: type: string description: The bank account number example: "123456789012" bankName: type: string description: The name of the bank example: "Bank of Beirut" bankCode: type: string description: The bank code or identifier example: "001" required: - rail - addressingSystem - accountHolderGivenName - accountHolderSurname - country - accountNumber - bankName - bankCode LimitExecutionRequestDetails: allOf: - type: object properties: type: type: string enum: [LIMIT] description: Order type for limit orders timeInForce: $ref: '#/components/schemas/TimeInForce' limitPrice: type: string description: Price for limit orders required: - type - timeInForce - limitPrice - $ref: '#/components/schemas/ExecutionRequestBaseDetails' example: type: "LIMIT" timeInForce: "GTC" limitPrice: "41000.00" baseAssetId: "USD" quoteAssetId: "BTC" side: "BUY" baseAmount: "1000.00" LimitExecutionResponseDetails: allOf: - type: object properties: type: type: string enum: [LIMIT] description: Order type for limit orders timeInForce: $ref: '#/components/schemas/TimeInForce' limitPrice: type: string description: Price for limit orders required: - type - timeInForce - limitPrice - $ref: '#/components/schemas/ExecutionResponseBaseDetails' example: type: "LIMIT" timeInForce: "FOK" limitPrice: "41000.00" side: "BUY" baseAmount: "1000.00" baseAssetId: "USD" quoteAssetId: "BTC" baseAssetRail: "BLOCKCHAIN" quoteAssetRail: "BLOCKCHAIN" LocalBankAfricaAccountNumber: type: string pattern: ^\d{4,17}$ example: "1234567890123" LocalBankTransferAfricaAddress: type: object properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' accountNumber: $ref: '#/components/schemas/LocalBankAfricaAccountNumber' bankName: type: string description: Name of the bank bankCode: type: string description: Internal bank identifier required: - accountHolder - accountNumber - bankName - bankCode example: accountHolder: name: Adaora Okafor city: Lagos country: NG subdivision: LA address: 15 Victoria Island Road postalCode: "101001" accountNumber: "1234567890123" bankName: First Bank of Nigeria bankCode: "011" LocalBankTransferAfricaDestination: type: object properties: type: type: string enum: [LOCAL_BANK_TRANSFER_AFRICA] address: $ref: '#/components/schemas/LocalBankTransferAfricaAddress' required: - type - address example: type: LOCAL_BANK_TRANSFER_AFRICA address: accountHolder: name: Adaora Okafor city: Lagos country: NG subdivision: LA address: 15 Victoria Island Road postalCode: "101001" accountNumber: "1234567890123" bankName: First Bank of Nigeria bankCode: "011" Manifest: type: object properties: assetTypes: type: array items: type: string enum: - DIGITAL - FIAT capabilities: type: array items: $ref: '#/components/schemas/Capability' required: - assetTypes - capabilities example: assetTypes: ["DIGITAL", "FIAT"] capabilities: ["SPOT_TRADING", "LIMIT_ORDERS"] MarketExecutionRequestDetails: allOf: - type: object properties: type: type: string enum: [MARKET] description: Order type for market orders required: - type - $ref: '#/components/schemas/ExecutionRequestBaseDetails' example: type: "MARKET" baseAssetId: "USD" quoteAssetId: "BTC" side: "BUY" baseAmount: "1000.00" MarketExecutionResponseDetails: allOf: - type: object properties: type: type: string enum: [MARKET] description: Order type for market orders required: - type - $ref: '#/components/schemas/ExecutionResponseBaseDetails' example: type: MARKET side: BUY baseAmount: "1000.00" baseAssetId: USDC baseAssetRail: BLOCKCHAIN quoteAssetId: BTC quoteAssetRail: BLOCKCHAIN MarketRequoteRequestDetails: type: object properties: type: type: string enum: [MARKET] description: Indicates that the order should be re-quoted if the original quote is expired. This will lead to a market order. required: - type example: type: MARKET MobileMoneyAddress: type: object required: - accountHolder - mobilePhoneNumber - provider properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' mobilePhoneNumber: $ref: '#/components/schemas/MobilePhoneNumber' provider: type: string enum: - m-pesa - airtel - mtn - tigo - orange description: Mobile money provider beneficiaryDocumentId: type: string description: Beneficiary document identification (may be required) beneficiaryRelationship: type: string description: Relationship to beneficiary for AML purposes example: accountHolder: name: Grace Wanjiku Kamau city: Nairobi country: KE subdivision: NRB address: Westlands Avenue 45 postalCode: "00100" mobilePhoneNumber: "+254712345678" provider: m-pesa beneficiaryDocumentId: "12345678" beneficiaryRelationship: self MobileMoneyDestination: type: object properties: type: type: string enum: [MOBILE_MONEY] address: $ref: '#/components/schemas/MobileMoneyAddress' required: - type - address example: type: MOBILE_MONEY address: accountHolder: name: Grace Wanjiku Kamau city: Nairobi country: KE subdivision: NRB address: Westlands Avenue 45 postalCode: "00100" mobilePhoneNumber: "+254712345678" provider: m-pesa beneficiaryDocumentId: "12345678" beneficiaryRelationship: self MobilePhoneNumber: type: string pattern: ^\+[1-9]\d{1,14}$ description: Mobile phone number in E.164 format example: "+14155551234" MomoPaymentInfo: type: object description: Mobile Money (MOMO) payment information for African mobile payment services properties: rail: type: string enum: - MOMO description: The payment rail type for mobile money transfers example: "MOMO" addressingSystem: type: string enum: - MOMO description: The addressing system used for mobile money transfers example: "MOMO" accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "Kwame" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Asante" country: type: string description: The country for the transfer (ISO 3166-1 alpha-2 code) example: "GH" mobilePhoneNumber: type: string description: The mobile phone number associated with the mobile money account example: "+233241234567" provider: type: string enum: - M_PESA - AIRTEL - MTN - TIGO description: The mobile money service provider example: "MTN" beneficiaryDocumentId: type: string description: The document ID of the beneficiary example: "GHA-123456789-0" beneficiaryRelationship: type: string description: The relationship between sender and beneficiary example: "Family" required: - rail - addressingSystem - accountHolderGivenName - accountHolderSurname - country - mobilePhoneNumber - provider OneTimeAddressReference: type: object properties: type: type: string enum: - ONE_TIME_ADDRESS address: type: string tag: type: string required: - type - address example: type: "ONE_TIME_ADDRESS" address: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" tag: "destination-memo-123" OrderDetails: type: object properties: id: type: string via: $ref: '#/components/schemas/AccessType' status: $ref: '#/components/schemas/OrderStatus' createdAt: type: string format: date-time updatedAt: type: string format: date-time receipt: $ref: '#/components/schemas/TransferReceipt' generalFees: type: array items: $ref: '#/components/schemas/Fee' executionSteps: type: array items: $ref: '#/components/schemas/ExecutionStep' executionResponseDetails: $ref: '#/components/schemas/ExecutionResponseDetails' settlement: $ref: '#/components/schemas/Settlement' participantsIdentification: $ref: '#/components/schemas/ParticipantsIdentification' paymentInstructions: type: array description: Payment instructions for the order, the client can use one of these to pay the order. items: $ref: '#/components/schemas/PaymentInstructions' createdBy: type: string description: The ID of the user who created the order customerInternalReferenceId: type: string description: Internal reference ID for the customer note: type: string maxLength: 512 description: Optional note for the Order expiresAt: type: string format: date-time required: - id - via - status - createdAt - createdBy - executionSteps - settlement - executionResponseDetails example: id: order_9f4e2d8b1c6a5e73 via: type: PROVIDER_ACCOUNT providerId: bridge-provider-001 accountId: acc_9f4e2d8b1c6a5e73 status: PROCESSING createdAt: "2024-01-15T10:30:00.000Z" updatedAt: "2024-01-15T10:30:30.000Z" receipt: type: BLOCKCHAIN txHash: "0x1234567890abcdef" amount: "0.02458" generalFees: - feeType: ORDER assetId: USDC amountType: FIXED amount: "5.00" executionSteps: - type: EXECUTE status: PROCESSING fee: feeType: NETWORK assetId: ETH amountType: FIXED amount: "0.01" txId: tx_abc123def456 executionResponseDetails: type: MARKET side: BUY baseAmount: "1000.00" baseAssetId: USDC quoteAssetId: BTC settlement: type: PREFUNDED destinationAccount: type: VAULT_ACCOUNT accountId: vault_acc_9f4e2d8b1c6a5e73 createdBy: user_123abc456def789 customerInternalReferenceId: order_ref_2024_001 note: Monthly investment order OrderStatus: type: string enum: - CREATED - PENDING_USER_ACTION - PROCESSING - CANCELED - COMPLETED - FAILED example: PROCESSING OrderSummary: type: object properties: id: type: string via: $ref: '#/components/schemas/AccessType' side: type: string enum: [BUY, SELL] description: Side of the order baseAmount: type: string quoteAmount: type: string baseAssetId: type: string quoteAssetId: type: string status: $ref: '#/components/schemas/OrderStatus' destination: $ref: '#/components/schemas/AccountReference' source: $ref: '#/components/schemas/SettlementSourceAccount' createdAt: type: string format: date-time required: - id - via - baseAmount - baseAssetId - quoteAssetId - status - destination - createdAt - side example: id: "ord_5f8e2d9c1a7b4e36" via: type: "PROVIDER_ACCOUNT" providerId: "prov_8c3f1a4b2d6e9f7c" accountId: "acc_5e9a2d1c4b7f3e8a" side: "BUY" baseAmount: "1000.00" quoteAmount: "0.02458" baseAssetId: "USD" quoteAssetId: "BTC" status: "COMPLETED" destination: type: "VAULT_ACCOUNT" accountId: "vault_acc_7b2e5d8f1c4a9e3b" source: type: "VAULT_ACCOUNT" accountId: "vault_acc_3f7e1d9b2c5a8e4f" createdAt: "2024-01-15T10:30:00.000Z" ParticipantRelationshipType: type: string enum: [FirstParty, SecondParty, ThirdParty] example: FirstParty ParticipantsIdentification: description: KYC/AML participant identification type: object properties: originator: $ref: '#/components/schemas/Identification' beneficiary: $ref: '#/components/schemas/Identification' example: originator: externalReferenceId: user_123456 entityType: INDIVIDUAL participantRelationshipType: FirstParty fullName: firstName: John lastName: Smith dateOfBirth: "1985-03-15" postalAddress: streetName: Main Street buildingNumber: "123" postalCode: "10001" city: New York subdivision: NY district: Manhattan country: US beneficiary: externalReferenceId: user_789012 entityType: INDIVIDUAL participantRelationshipType: ThirdParty fullName: firstName: Alice lastName: Johnson dateOfBirth: "1990-07-22" postalAddress: streetName: Broadway buildingNumber: "456" postalCode: "10002" city: New York subdivision: NY district: Manhattan country: US PaymentInstructions: type: object properties: type: type: string enum: [IBAN, SWIFT, ACH, US_WIRE, SPEI, SEPA, PIX, LOCAL_BANK_TRANSFER_AFRICA, MOBILE_MONEY] address: $ref: '#/components/schemas/AccountHolderDetails' referenceId: type: string required: - type - address - referenceId example: type: IBAN address: accountHolder: name: John Smith city: London country: GB subdivision: ENG address: 123 King's Road postalCode: SW3 4LX iban: GB82WEST12345698765432 referenceId: PAY_INST_abc123def456 PeerType: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - INTERNAL_WALLET - EXTERNAL_WALLET - FIAT_ACCOUNT example: VAULT_ACCOUNT PersonalIdentification: type: object properties: externalReferenceId: type: string entityType: type: string enum: [INDIVIDUAL] participantRelationshipType: $ref: '#/components/schemas/ParticipantRelationshipType' fullName: type: object properties: firstName: type: string lastName: type: string required: - firstName - lastName dateOfBirth: type: string format: date postalAddress: $ref: '#/components/schemas/PostalAddress' required: - externalReferenceId - entityType - participantRelationshipType - fullName - dateOfBirth - postalAddress example: externalReferenceId: "person_ref_7f3e2d1c4b8a5e9f" entityType: "INDIVIDUAL" participantRelationshipType: "FirstParty" fullName: firstName: "Alexander" lastName: "Johnson" dateOfBirth: "1985-03-15" postalAddress: streetName: "Oak Street" buildingNumber: "742" postalCode: "90210" city: "Beverly Hills" subdivision: "CA" district: "Los Angeles County" country: "US" PixAddress: type: object required: - accountHolder - pixKey - keyType properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' pixKey: type: string keyType: type: string enum: - cpf - cnpj - email - phone - random bankName: type: string bankCode: type: string example: accountHolder: name: Maria Silva Santos city: São Paulo country: BR subdivision: SP address: Rua das Flores, 123 postalCode: "01234-567" pixKey: "11987654321" keyType: phone bankName: Banco do Brasil bankCode: "001" PixDestination: type: object properties: type: type: string enum: [PIX] address: $ref: '#/components/schemas/PixAddress' required: - type - address example: type: PIX address: accountHolder: name: Maria Silva Santos city: São Paulo country: BR subdivision: SP address: Rua das Flores, 123 postalCode: "01234-567" pixKey: "11987654321" keyType: phone bankName: Banco do Brasil bankCode: "001" PixPaymentInfo: type: object description: PIX payment information for Brazilian instant payments properties: rail: type: string enum: - PIX description: The payment rail type for PIX transfers example: "PIX" addressingSystem: type: string enum: - PIX description: The addressing system used for PIX transfers example: "PIX" accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "João" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Silva" country: type: string description: The country for the transfer (ISO 3166-1 alpha-2 code) example: "BR" pixKey: type: string description: The PIX key used for the transfer example: "joao.silva@email.com" bankName: type: string description: The name of the bank example: "Banco do Brasil" bankCode: type: string description: The bank code (ISPB - Identificador do Sistema de Pagamentos Brasileiros) example: "00000000" keyType: type: string enum: - CPF - CNPJ - EMAIL - PHONE - RANDOM description: The type of PIX key being used example: "EMAIL" required: - rail - addressingSystem - accountHolderGivenName - accountHolderSurname - country - pixKey - keyType PlatformAccount: type: object properties: type: type: string enum: [VAULT_ACCOUNT, CONNECTED_ACCOUNT, FIAT_ACCOUNT] accountId: type: string required: - type - accountId example: type: "VAULT_ACCOUNT" accountId: "vault_acc_5e9a2d1c4b7f3e8a" PostOrderSettlement: type: object properties: type: type: string enum: [POST_ORDER] required: - type example: type: POST_ORDER PostalAddress: type: object properties: streetName: type: string buildingNumber: type: string postalCode: type: string city: type: string subdivision: type: string district: type: string country: type: string required: - streetName - buildingNumber - postalCode - city - subdivision - district - country example: streetName: "Fifth Avenue" buildingNumber: "350" postalCode: "10118" city: "New York" subdivision: "NY" district: "Manhattan" country: "US" PrefundedSettlement: type: object properties: type: type: string enum: [PREFUNDED] destinationAccount: $ref: '#/components/schemas/AccountReference' required: - type - destinationAccount example: type: PREFUNDED destinationAccount: type: VAULT_ACCOUNT accountId: vault_acc_9f4e2d8b1c6a5e73 ProviderID: type: object properties: providerId: type: string description: The ID of the provider associated with the account. required: - providerId example: providerId: "prov_8c3f1a4b2d6e9f7c" ProvidersListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/TradingProvider' description: List of available providers total: type: integer description: Total number of providers matching the query. next: type: string description: A cursor for the next page of results, if available. required: - data - total example: data: - id: bridge-provider-001 name: Bridge Provider logo: https://example.com/logos/bridge.png accountBased: true manifest: assetTypes: - DIGITAL - FIAT capabilities: - TRADING - WITHDRAWALS connected: true accounts: - id: acc_9f4e2d8b1c6a5e73 name: Main Trading Account - id: uniswap-v3-provider name: Uniswap V3 logo: https://example.com/logos/uniswap.png accountBased: false approved: true hasTermsOfService: true termsOfServiceUrl: https://uniswap.org/terms total: 2 next: cursor_abc123def456 Quote: allOf: - type: object properties: via: $ref: '#/components/schemas/AccessType' id: type: string type: type: string enum: [COMMITTED, INDICATIVE] quoteAssetId: type: string baseAssetId: type: string baseAmount: type: string quoteAmount: type: string priceImpact: type: number quoteMinAmount: type: string executionSteps: type: array items: $ref: '#/components/schemas/ExecutionStepDetails' generalFees: type: array items: $ref: '#/components/schemas/Fee' side: type: string enum: [BUY, SELL] description: Side of the order required: - via - id - baseAssetId - quoteAssetId - baseAmount - quoteAmount - type - side - discriminator: propertyName: type mapping: COMMITTED: '#/components/schemas/CommittedQuoteType' INDICATIVE: '#/components/schemas/IndicativeQuoteType' oneOf: - $ref: '#/components/schemas/CommittedQuoteType' - $ref: '#/components/schemas/IndicativeQuoteType' QuoteExecutionRequestDetails: type: object properties: type: type: string enum: [QUOTE] description: Order type for quote orders quoteId: type: string description: Quote ID for quote orders required: - type - quoteId example: type: QUOTE quoteId: quote_8f2e4d1a9c5b7e3f QuoteExecutionResponseDetails: allOf: - type: object properties: type: type: string enum: [QUOTE] description: Order type for quote orders quoteId: type: string description: Quote ID for quote orders quoteAmount: type: string description: Quote amount for quote orders required: - type - quoteId - quoteAmount - $ref: '#/components/schemas/ExecutionResponseBaseDetails' example: type: QUOTE quoteId: quote_8f2e4d1a9c5b7e3f quoteAmount: "0.02458" side: BUY baseAmount: "1000.00" baseAssetId: USDC baseAssetRail: BLOCKCHAIN quoteAssetId: BTC quoteAssetRail: BLOCKCHAIN QuoteExecutionWithRequoteRequestDetails: allOf: - $ref: '#/components/schemas/QuoteExecutionRequestDetails' - type: object properties: reQuote: discriminator: propertyName: type mapping: MARKET: '#/components/schemas/MarketRequoteRequestDetails' RETRY: '#/components/schemas/RetryRequoteRequestDetails' oneOf: - $ref: '#/components/schemas/MarketRequoteRequestDetails' - $ref: '#/components/schemas/RetryRequoteRequestDetails' example: type: QUOTE quoteId: quote_8f2e4d1a9c5b7e3f reQuote: type: RETRY count: 1 slippageBps: 50 QuoteExecutionWithRequoteResponseDetails: allOf: - $ref: '#/components/schemas/QuoteExecutionResponseDetails' - type: object properties: reQuote: discriminator: propertyName: type mapping: MARKET: '#/components/schemas/MarketRequoteRequestDetails' RETRY: '#/components/schemas/RetryRequoteRequestDetails' oneOf: - $ref: '#/components/schemas/MarketRequoteRequestDetails' - $ref: '#/components/schemas/RetryRequoteRequestDetails' example: type: QUOTE quoteId: quote_8f2e4d1a9c5b7e3f side: BUY baseAmount: "1000.00" baseAssetId: USDC baseAssetRail: BLOCKCHAIN quoteAssetId: BTC quoteAssetRail: BLOCKCHAIN reQuote: type: RETRY count: 1 slippageBps: 50 QuotesResponse: type: object properties: quotes: type: array items: $ref: '#/components/schemas/Quote' example: quotes: - via: type: PROVIDER_ACCOUNT providerId: bridge-provider-001 accountId: acc_9f4e2d8b1c6a5e73 id: quote_8f2e4d1a9c5b7e3f type: COMMITTED baseAssetId: USDC quoteAssetId: BTC baseAmount: "1000.00" quoteAmount: "0.02458" priceImpact: 0.005 quoteMinAmount: "0.02450" expiresAt: "2024-01-15T10:35:00.000Z" executionSteps: - type: EXECUTE fee: feeType: ORDER assetId: USDC amountType: FIXED amount: "2.50" generalFees: - feeType: ORDER assetId: USDC amountType: FIXED amount: "2.50" RetryRequoteRequestDetails: type: object properties: type: type: string enum: [RETRY] description: Indicates that the order should be re-quoted if the original quote is expired, trying to match the original quote. count: type: number description: If quote is expired, how many times to re-generate new quotes to try having the order executed as in the original quote. minimum: 1 maximum: 10 slippageBps: type: number description: Slippage tolerance in basis points (bps) for quote orders - 1 is 0.01% and 10000 is 100% default: 1 minimum: 1 maximum: 10000 required: - type - count example: type: RETRY count: 1 slippageBps: 50 SEPAAddress: type: object properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' iban: $ref: '#/components/schemas/Iban' bic: type: string description: Bank Identifier Code (SWIFT/BIC) bankName: type: string bankBranch: type: string bankAddress: type: string purposeCode: type: string description: ISO purpose code for the transfer taxId: type: string description: Beneficiary tax identification number required: - accountHolder - iban example: accountHolder: name: "Pierre Dubois" city: "Paris" country: "FR" subdivision: "11" address: "15 Rue de la Paix" postalCode: "75001" iban: "FR1420041010050500013M02606" bic: "PSSTFRPPPAR" bankName: "La Banque Postale" bankBranch: "Paris Central" bankAddress: "1 Boulevard de Vaugirard, 75015 Paris" purposeCode: "TRAD" taxId: "FR12345678901" SEPADestination: type: object properties: type: type: string enum: [SEPA] address: $ref: '#/components/schemas/SEPAAddress' required: - type - address example: type: SEPA address: accountHolder: name: Hans Mueller city: Berlin country: DE subdivision: BE address: Unter den Linden 15 postalCode: "10117" iban: DE89370400440532013000 bic: COBADEFFXXX bankName: Commerzbank AG SepaPaymentInfo: type: object description: SEPA payment information for European Single Euro Payments Area transfers properties: rail: type: string enum: - SEPA description: The payment rail type for SEPA transfers example: "SEPA" addressingSystem: type: string enum: - IBAN description: The addressing system used for SEPA transfers example: "IBAN" accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "Marie" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Dupont" accountHolderCountry: type: string description: The country where the account holder resides (ISO 3166-1 alpha-2 code) example: "FR" accountHolderAddress: type: string description: The address of the account holder example: "123 Rue de la Paix" iban: type: string description: The International Bank Account Number (IBAN) example: "FR1420041010050500013M02606" country: type: string description: The country for the transfer (ISO 3166-1 alpha-2 code) example: "FR" bic: type: string description: The Bank Identifier Code (BIC/SWIFT code) example: "BNPAFRPP" bankName: type: string description: The name of the bank example: "BNP Paribas" bankBranch: type: string description: The bank branch information example: "Paris Central" bankAddress: type: string description: The address of the bank example: "16 Boulevard des Italiens, 75009 Paris" purposeCode: type: string description: The purpose code for the transfer example: "SALA" taxId: type: string description: The tax identification number example: "1234567890123" required: - rail - addressingSystem - accountHolderGivenName - accountHolderSurname - country - iban Settlement: description: Settlement configuration for the order discriminator: propertyName: type mapping: PREFUNDED: '#/components/schemas/PrefundedSettlement' DVP: '#/components/schemas/DVPSettlement' POST_ORDER: '#/components/schemas/PostOrderSettlement' oneOf: - $ref: '#/components/schemas/PrefundedSettlement' - $ref: '#/components/schemas/DVPSettlement' - $ref: '#/components/schemas/PostOrderSettlement' SettlementSourceAccount: discriminator: propertyName: type mapping: VAULT_ACCOUNT: '#/components/schemas/PlatformAccount' CONNECTED_ACCOUNT: '#/components/schemas/PlatformAccount' FIAT_ACCOUNT: '#/components/schemas/PlatformAccount' EXTERNAL: '#/components/schemas/ExternalAccount' oneOf: - $ref: '#/components/schemas/PlatformAccount' - $ref: '#/components/schemas/ExternalAccount' SpeiAddress: type: object properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' bankName: type: string description: Name of the bank. bankAccountNumber: type: string description: The bank account number for the SPEI transfer. required: - accountHolder - bankAccountNumber example: accountHolder: name: Carlos Martinez Lopez city: Mexico City country: MX subdivision: CDMX address: Avenida Reforma 123 postalCode: "06600" bankName: BBVA México bankAccountNumber: "012180001234567890" SpeiDestination: type: object properties: type: type: string enum: [SPEI] address: $ref: '#/components/schemas/SpeiAddress' required: - type - address example: type: SPEI address: accountHolder: name: Carlos Martinez Lopez city: Mexico City country: MX subdivision: CDMX address: Avenida Reforma 123 postalCode: "06600" bankName: BBVA México bankAccountNumber: "012180001234567890" SpeiAdvancedPaymentInfo: type: object description: Advanced SPEI payment information for Mexican bank transfers with full details properties: rail: type: string enum: - SPEI description: The payment rail type for SPEI transfers example: "SPEI" addressingSystem: type: string enum: - CLABE description: The addressing system used for SPEI transfers example: "CLABE" accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "Juan" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Pérez" country: type: string description: The country for the transfer (ISO 3166-1 alpha-2 code) example: "MX" bankName: type: string description: The name of the bank example: "Banco Nacional de México" beneficiaryRfc: type: string description: The RFC (Registro Federal de Contribuyentes) of the beneficiary example: "PERJ800101ABC" senderDocumentId: type: string description: The document ID of the sender example: "CURP123456789" clabe: type: string description: The CLABE (Clave Bancaria Estandarizada) number example: "012180001234567890" required: - rail - addressingSystem - accountHolderGivenName - accountHolderSurname - country - clabe SpeiBasicPaymentInfo: type: object description: Basic SPEI payment information for Mexican bank transfers properties: speiClabe: type: string description: The CLABE (Clave Bancaria Estandarizada) number for SPEI transfers example: "012180001234567890" speiName: type: string description: The name associated with the SPEI account example: "Juan Pérez" required: - speiClabe SwiftAddress: type: object properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' swiftCode: $ref: '#/components/schemas/SwiftCode' routingNumber: type: string description: Routing number identifying the bank account. required: - accountHolder - swiftCode - routingNumber example: accountHolder: name: "Emma Watson" city: "London" country: "GB" subdivision: "ENG" address: "25 Bank Street, Canary Wharf" postalCode: "E14 5JP" swiftCode: "CHASUS33XXX" routingNumber: "026009593" SwiftCode: type: string pattern: ^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$ example: "CHASUS33XXX" SwiftDestination: type: object properties: type: type: string enum: [SWIFT] address: $ref: '#/components/schemas/SwiftAddress' required: - type - address example: type: SWIFT address: accountHolder: name: Pierre Dupont city: Paris country: FR subdivision: IDF address: 25 Avenue des Champs-Élysées postalCode: "75008" swiftCode: BNPAFRPPXXX routingNumber: "20041" TimeInForce: type: string description: Time in force for limit orders enum: - FOK example: FOK TradingErrorResponse: type: object properties: error: type: object properties: type: type: string enum: - INTERNAL - AUTHENTICATION - AUTHORIZATION - VALIDATION - NOT_FOUND - UNPROCESSABLE_ENTITY - FORBIDDEN message: type: string errorCode: $ref: '#/components/schemas/ErrorCodes' required: - type - message required: - error example: error: type: "VALIDATION" message: "Invalid base amount: must be greater than 0" errorCode: "INVALID_AMOUNT" TradingProvider: oneOf: - $ref: '#/components/schemas/AccountBasedAccessProvider' - $ref: '#/components/schemas/DirectAccessProvider' TransferRail: type: string description: | Transfer rail: * **BLOCKCHAIN** - Transfer over the public blockchain * **INTERNAL** - Internal transfer within the same account (e.g. sub-accounts or same api key) * **PEER** - Peer transfer within the same provider network * **SWIFT** - International wire transfer * **IBAN** - International Bank Account Number transfer * **US_WIRE** - Domestic wire transfer within the United States (e.g. FedWire) * **ACH** - Automated Clearing House transfer, typically takes longer but not as expensive as wire transfers * **SEPA** - Euro transfers within the SEPA zone * **SPEI** - Mexican interbank electronic payment system * **PIX** - Brazilian instant payment system * **LOCAL_BANK_TRANSFER_AFRICA** - Local bank transfers within Africa * **MOBILE_MONEY** - Mobile money transfers (e.g. M-Pesa) enum: - BLOCKCHAIN - INTERNAL - PEER - SWIFT - IBAN - US_WIRE - ACH - SEPA - SPEI - PIX - LOCAL_BANK_TRANSFER_AFRICA - MOBILE_MONEY example: BLOCKCHAIN TransferReceipt: discriminator: propertyName: type mapping: BLOCKCHAIN: '#/components/schemas/BlockchainTransfer' FIAT: '#/components/schemas/FiatTransfer' oneOf: - $ref: '#/components/schemas/BlockchainTransfer' - $ref: '#/components/schemas/FiatTransfer' USWireAddress: type: object properties: accountHolder: $ref: '#/components/schemas/AccountHolderDetails' bankName: type: string description: Name of the bank. bankAccountNumber: type: string description: The bank account number for the wire transfer. routingNumber: type: string description: Routing number identifying the bank account. bankAddress: type: string description: Address of the bank. required: - accountHolder - bankAccountNumber - routingNumber example: accountHolder: name: "Michael Thompson" city: "Chicago" country: "US" subdivision: "IL" address: "200 West Jackson Blvd, Suite 1500" postalCode: "60606" bankName: "JPMorgan Chase Bank" bankAccountNumber: "987654321012345" routingNumber: "021000021" bankAddress: "270 Park Avenue, New York, NY 10017" USWireDestination: type: object properties: type: type: string enum: [US_WIRE] address: $ref: '#/components/schemas/USWireAddress' required: - type - address example: type: US_WIRE address: accountHolder: name: John Smith city: New York country: US subdivision: NY address: 123 Wall Street postalCode: "10005" bankName: Chase Bank bankAccountNumber: "123456789012" routingNumber: "021000021" bankAddress: 270 Park Avenue, New York, NY 10017 UsWirePaymentInfo: type: object description: US Wire payment information for US domestic wire transfers properties: rail: type: string enum: - US_WIRE description: The payment rail type for US wire transfers example: "US_WIRE" addressingSystem: type: string enum: - ABA description: The addressing system used for US wire transfers example: "ABA" accountHolderGivenName: type: string description: The given name (first name) of the account holder example: "John" accountHolderSurname: type: string description: The surname (last name) of the account holder example: "Smith" country: type: string description: The country for the transfer (ISO 3166-1 alpha-2 code) example: "US" accountNumber: type: string description: The bank account number example: "1234567890" routingNumber: type: string description: The bank routing number (ABA routing number) example: "021000021" swiftCode: type: string description: The SWIFT/BIC code of the bank example: "CHASUS33" bankName: type: string description: The name of the bank example: "JPMorgan Chase Bank" bankAddressLine: type: string description: The street address of the bank example: "270 Park Avenue" bankAddressCity: type: string description: The city where the bank is located example: "New York" bankAddressState: type: string description: The state where the bank is located example: "NY" bankAddressCountry: type: string description: The country where the bank is located (ISO 3166-1 alpha-2 code) example: "US" bankAddressPostalCode: type: string description: The postal code of the bank's address example: "10017" branchNumber: type: string description: The branch number of the bank example: "001" required: - rail - addressingSystem - accountHolderGivenName - accountHolderSurname - country - swiftCode - bankName - accountNumber - routingNumber - bankAddressLine - bankAddressCity - bankAddressCountry - bankAddressPostalCode ConnectedAccount: type: object properties: id: type: string description: Unique identifier of the connected account. example: "acc-123456" name: type: string description: Human-readable name of the connected account. example: "Main Venue Account" providerId: type: string description: The ID of the venue the account belongs to. example: "BRIDGE" status: $ref: '#/components/schemas/ConnectedAccountApprovalStatus' manifest: $ref: '#/components/schemas/ConnectedAccountManifest' parentId: type: string description: The ID of the parent main account, if this is a sub account. example: "acc-parent-001" required: - id - name - providerId - status - manifest ConnectedAccountApprovalStatus: type: string enum: - WAITING_FOR_APPROVAL - APPROVED - REJECTED - CANCELLED - FAILED ConnectedAccountAssetType: type: string enum: - DIGITAL - FIAT ConnectedAccountBalances: type: object properties: assetId: type: string description: Asset identifier (e.g., BTC, ETH, USDC). example: BTC availableAmount: type: string description: Amount available for use. example: "100.00" totalAmount: type: string description: Total amount including locked/held balances. example: "120.00" lockedAmount: type: string description: Amount currently locked/held. example: "20.00" creditAmount: type: string description: Credit line amount, if applicable (0 when not used). example: "0" balanceType: type: string description: Wallet type/category (e.g., SPOT, MARGIN, FUNDING). example: FUNDING balanceName: type: string description: Display name for the balance type (at the provider) example: Trader1 Wallet required: - assetId - availableAmount - totalAmount - balanceType ConnectedAccountBalancesResponse: type: object properties: data: type: array description: Flat balance row for a single asset within an account and wallet type. One row per (assetId, balanceType). items: $ref: '#/components/schemas/ConnectedAccountBalances' example: - assetId: "BTC" availableAmount: "100.00" totalAmount: "120.00" balanceType: "FUNDING" balanceName: "Trader1 Wallet" total: type: integer description: Total number of balance rows by query. example: 2 next: type: string description: A cursor for the next page of results, if available. example: "eyJwYWdlIjoyfQ==" required: - data ConnectedAccountCapability: type: string enum: - WITHDRAWALS - DEPOSITS - TRADING ConnectedAccountManifest: type: object properties: assetTypes: type: array description: Asset types supported by the connected account. items: $ref: '#/components/schemas/ConnectedAccountAssetType' example: [] capabilities: type: array description: > Features supported for the connected account. Logic: - If account capabilities include ramp -> TRADING - If account capabilities include transfers -> DEPOSITS - If account capabilities include transfersBlockchain / transfersFiat / transfersPeerAccounts / transfersInternal -> WITHDRAWALS items: $ref: '#/components/schemas/ConnectedAccountCapability' example: - WITHDRAWALS required: - assetTypes - capabilities ConnectedAccountRateResponse: type: object properties: accountId: type: string description: The ID of the account that generated the quote. example: "ea6c3cb7-355a-4ee3-82ff-267c69970210" baseAssetId: type: string description: The source asset identifier example: "BTC" quoteAssetId: type: string description: The target asset identifier example: "USD" rate: type: string description: The exchange rate value example: "1.2345" required: - accountId - baseAssetId - quoteAssetId - rate ConnectedAccountTotalBalance: type: object properties: amount: type: string description: The denominated currency value of the account. example: "1201.15" denominatedAssetId: type: string description: The asset ID of the total balance. example: "ea6c3cb7-355a-4ee3-82ff-267c69970214" hasFullAssetCoverage: type: boolean description: Indicates whether the total amount represents the complete balance of all assets in the account. When true, all asset balances have been successfully converted to the denominated currency. When false, some assets could not be included in the total due to missing exchange rates or non-convertible assets. default: false example: true required: - amount - denominatedAssetId - hasFullAssetCoverage ConnectedAccountTradingPair: type: object properties: id: type: string description: The ID of the trading pair. example: "ea6c3cb7-355a-4ee3-82ff-267c69970210" baseAssetId: type: string description: The Symbol of the base asset. example: "BTC" quoteAssetId: type: string description: The symbol of the quote asset. example: "USD" supportedTypes: type: array items: $ref: '#/components/schemas/ConnectedAccountTradingPairSupportedType' required: - id - baseAssetId - quoteAssetId - supportedTypes ConnectedAccountTradingPairSupportedType: type: string enum: - QUOTE - MARKET - LIMIT ConnectedAccountTradingPairsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/ConnectedAccountTradingPair' example: - id: "ea6c3cb7-355a-4ee3-82ff-267c69970210" baseAssetId: "BTC" quoteAssetId: "USD" supportedTypes: - MARKET - id: "ea6c3cb7-355a-4ee3-82ff-267c69970211" baseAssetId: "ETH" quoteAssetId: "USDC" supportedTypes: - QUOTE - MARKET total: type: integer description: Total number of asset pairs matching the query. example: 2 next: type: string description: A cursor for the next page of results, if available. nullable: true example: null required: - data ConnectedAccountsErrorResponse: type: object properties: error: type: object description: Error details describing the failure. properties: type: type: string description: High-level error category. enum: - INTERNAL - AUTHENTICATION - AUTHORIZATION - VALIDATION - NOT_FOUND - UNPROCESSABLE_ENTITY - FORBIDDEN example: "VALIDATION" message: type: string description: Human-readable error description. example: "Invalid parameter: pageSize must be between 1 and 100" errorCode: type: string description: Service-specific error code for troubleshooting. example: "INVALID_PARAMETER" required: - type - message required: - error ConnectedAccountsResponse: type: object properties: data: type: array description: List of connected accounts matching the query. items: $ref: '#/components/schemas/ConnectedAccount' example: - id: "acc-123456" name: "Main Venue Account" providerId: "BRIDGE" status: "APPROVED" manifest: assetTypes: [] capabilities: ["DEPOSITS", "WITHDRAWALS"] - id: "acc-654321" name: "Secondary Account" providerId: "BRIDGE" status: "WAITING_FOR_APPROVAL" manifest: assetTypes: [] capabilities: ["WITHDRAWALS"] total: type: integer description: Total number of accounts by query. example: 2 next: type: string description: A cursor for the next page of results, if available. example: "eyJwYWdlIjoyfQ==" required: - data ConnectedSingleAccount: type: object properties: subAccountsIds: type: array description: IDs of sub-accounts associated with this connected account. items: type: string example: - "acc-sub-001" - "acc-sub-002" ConnectedSingleAccountResponse: allOf: - $ref: '#/components/schemas/ConnectedAccount' - $ref: '#/components/schemas/ConnectedSingleAccount' AccountConfigV2: type: object description: Policy source/destination configuration properties: type: $ref: '#/components/schemas/AccountTypeV2' subType: type: array items: $ref: '#/components/schemas/AccountIdentifierV2' ids: type: array items: $ref: '#/components/schemas/AccountIdentifierV2' operator: $ref: '#/components/schemas/PolicyOperatorV2' matchFrom: type: string enum: - ACCOUNT - SOURCE description: Whether to match from account or source example: "ACCOUNT" required: - type - operator AccountIdentifierV2: type: object description: Account identifier with type, ID, subtype, and address properties: type: $ref: '#/components/schemas/AccountTypeV2' id: type: string description: Account ID example: "account123" subType: type: string description: Account subtype example: "INTERNAL" address: type: string description: Account address example: "0x123..." required: - type AccountTypeV2: type: string enum: - EXCHANGE - UNMANAGED - VAULT - GLOBAL_WHITELIST - NETWORK_CONNECTION - FIAT_ACCOUNT - CONNECTED_ACCOUNT - ONE_TIME_ADDRESS - SRC_DST_NA - MULTIPLE_VENUES - END_USER_WALLET - OEC_PARTNER - CONTRACT - INTERNAL - EXTERNAL - DAPP_CONNECTION - UNKNOWN - "*" - ANY description: Type of account example: "VAULT" AmountOverTimeConfigV2: type: object description: Amount over time configuration properties: range: type: object description: Amount range configuration properties: min: type: string description: Minimum amount example: "100" max: type: string description: Maximum amount (optional) example: "10000" required: - min currency: type: string enum: - NATIVE - USD - EUR description: Currency for the amount example: "USD" timePeriod: $ref: '#/components/schemas/TimePeriodConfigV2' required: - range - timePeriod AmountRangeV2: type: object description: Amount range configuration properties: min: type: string description: Minimum amount example: "100" max: type: string description: Maximum amount example: "10000" currency: type: string description: Currency for the amount example: "USD" required: - min - max - currency example: { "min": "100", "max": "10000", "currency": "USD" } ApproversConfigV2: type: object description: Approvers configuration properties: canInitiatorApprove: type: boolean description: Whether initiator can approve example: false operator: type: string enum: - AND - OR description: Operator for approval groups example: "AND" allowOperatorAsAuthorizer: type: boolean description: Whether operator can be authorizer example: false approvalGroups: type: array items: type: object properties: threshold: type: number description: Approval threshold example: 2 users: $ref: '#/components/schemas/PolicyUserIdsV2' groups: $ref: '#/components/schemas/PolicyGroupIdsV2' required: - threshold description: List of approval groups example: [{ "threshold": 2, "users": ["user1", "user2"] }] AssetConfigV2: type: object description: Policy asset configuration properties: nftTransfer: type: boolean description: Whether this is an NFT transfer example: false assetTypes: $ref: '#/components/schemas/AssetTypesConfigV2' operator: $ref: '#/components/schemas/PolicyOperatorV2' required: - nftTransfer AssetTypesConfigV2: type: array items: oneOf: - type: string - enum: ["*"] description: List of asset types example: ["FUNGIBLE", "NFT", "*"] ContractMethodConfigV2: type: object description: Contract method configuration properties: methodCalls: type: array items: type: string operator: type: string enum: - EITHER - EXACT description: Operator for method calls example: "EITHER" payloadSuffix: type: string description: Payload suffix for method calls example: "0x123..." required: - methodCalls - operator example: { "methodCalls": ["transfer", "approve"], "operator": "EITHER" } ContractMethodPatternV2: oneOf: - type: string enum: - "*" description: All methods allowed example: "*" - $ref: '#/components/schemas/ContractMethodConfigV2' DerivationPathConfigV2: type: object description: Derivation path configuration properties: path: type: array items: type: number description: Derivation path as array of numbers example: [44, 0, 0, 0, 0] partial: type: boolean description: Whether this is a partial path example: false required: - path example: { "path": [44, 0, 0, 0, 0], "partial": false } DesignatedSignersConfigV2: type: object description: Designated signers configuration properties: type: type: string enum: - SINGLE - MULTIPLE - INITIATOR description: Type of designated signers example: "SINGLE" users: $ref: '#/components/schemas/PolicyUserIdsV2' groups: $ref: '#/components/schemas/PolicyGroupIdsV2' required: - type DestinationConfigV2: type: object description: Destination configuration for policy rules properties: type: $ref: '#/components/schemas/AccountTypeV2' subType: type: array items: $ref: '#/components/schemas/AccountIdentifierV2' ids: type: array items: $ref: '#/components/schemas/AccountIdentifierV2' operator: $ref: '#/components/schemas/PolicyOperatorV2' matchFrom: type: string enum: - ACCOUNT - SOURCE description: Whether to match from account or source example: "ACCOUNT" addressType: type: string enum: - ALL - "*" - WHITELISTED - ONE_TIME - OEC_PARTNER description: Type of destination addresses allowed example: "WHITELISTED" required: - type - operator - addressType example: type: ["EXTERNAL"] operator: "INCLUDES" addressType: "WHITELISTED" DraftResponseV2: type: object description: Response object for draft operations properties: status: type: string description: Operation status rules: type: array description: Draft rules items: $ref: '#/components/schemas/PolicyRuleV2' draftId: type: string description: Draft unique id metadata: $ref: '#/components/schemas/PolicyMetadataV2' required: - draftId - status - rules - metadata DraftReviewAndValidationResponseV2: type: object description: Draft validation properties: draftResponse: $ref: '#/components/schemas/DraftResponseV2' validation: $ref: '#/components/schemas/PolicyValidationV2' required: - draftResponse - validation InitiatorConfigV2: type: object description: Policy rule initiator configuration properties: users: $ref: '#/components/schemas/PolicyUserIdsV2' groups: $ref: '#/components/schemas/PolicyGroupIdsV2' services: type: array items: type: string fbAdminGroups: type: array items: type: string exchange: type: array items: type: string operator: $ref: '#/components/schemas/PolicyOperatorV2' required: - operator InitiatorConfigPatternV2: oneOf: - type: string enum: - "*" description: All users are allowed example: "*" - $ref: '#/components/schemas/InitiatorConfigV2' PolicyAndValidationResponseV2: type: object description: Policy validation properties: policy: $ref: '#/components/schemas/PolicyResponseV2' validation: $ref: '#/components/schemas/PolicyValidationV2' required: - policy - validation PolicyCheckResultV2: type: object description: Policy rules validation result properties: errors: type: number description: Number of errors results: type: array description: A set of validation results items: $ref: '#/components/schemas/PolicyRuleCheckResultV2' required: - errors - results PolicyGroupIdsV2: type: array items: type: string description: List of policy group IDs example: - group1 - group2 PolicyMetadataV2: type: object description: Policy metadata properties: editedBy: type: string description: The user ID of the user who last edited the policy example: "user123" editedAt: type: string description: The timestamp of the last edit of the policy example: "2024-01-15T10:30:00Z" publishedBy: type: string description: The user ID of the user who last published the policy example: "user456" publishedAt: type: string description: The timestamp of the last publish of the policy example: "2024-01-15T11:00:00Z" policyType: $ref: '#/components/schemas/PolicyTypeV2' required: - policyType PolicyOperatorV2: type: string enum: - INCLUDES - EXCLUDES description: Operator for selection example: "INCLUDES" PolicyResponseV2: type: object description: Response object for policy operations properties: rules: type: array description: A set of policy rules items: $ref: '#/components/schemas/PolicyRuleV2' metadata: $ref: '#/components/schemas/PolicyMetadataV2' required: - rules - metadata PolicyRuleV2: type: object description: V2 Policy rule which is enforced on transactions properties: name: type: string description: Name of the policy rule example: "High Value Transfer Policy" id: type: string description: Unique identifier for the policy rule example: "policy_rule_001" policyEngineVersion: type: string enum: - v2 description: Policy engine version example: "v2" type: $ref: '#/components/schemas/PolicyTypeV2' subType: $ref: '#/components/schemas/PolicyTypeV2' initiator: $ref: '#/components/schemas/InitiatorConfigPatternV2' asset: $ref: '#/components/schemas/AssetConfigV2' source: $ref: '#/components/schemas/AccountConfigV2' destination: $ref: '#/components/schemas/DestinationConfigV2' account: $ref: '#/components/schemas/AccountConfigV2' verdict: $ref: '#/components/schemas/VerdictConfigV2' amountOverTime: $ref: '#/components/schemas/AmountOverTimeConfigV2' amount: $ref: '#/components/schemas/AmountRangeV2' externalDescriptor: type: string description: External descriptor for the rule example: "High value transfer policy for institutional clients" method: $ref: '#/components/schemas/ContractMethodPatternV2' isGlobalPolicy: type: boolean description: Whether this is a global policy example: false programCall: $ref: '#/components/schemas/ProgramCallConfigV2' screeningMetadata: $ref: '#/components/schemas/ScreeningMetadataConfigV2' quoteAsset: $ref: '#/components/schemas/AssetConfigV2' baseAsset: $ref: '#/components/schemas/AssetConfigV2' quoteAmount: $ref: '#/components/schemas/AmountRangeV2' baseAmount: $ref: '#/components/schemas/AmountRangeV2' derivationPath: $ref: '#/components/schemas/DerivationPathConfigV2' index: type: number description: Index for the policy rule example: 1 required: - name - id - policyEngineVersion - type - initiator - asset - source - verdict PolicyRuleCheckResultV2: type: object description: The rule validation result properties: index: type: number description: Rule index number in the policy status: type: string description: Validation status enum: - ok - failure errors: type: array description: A set of rule validation error objects items: $ref: '#/components/schemas/PolicyRuleErrorV2' required: - index - status - errors PolicyRuleErrorV2: type: object description: Rule validation result error properties: errorMessage: type: string description: Error message errorCode: type: number description: error code errorCodeName: type: string description: error code name errorField: type: string enum: - operator - operators - authorizationGroups - designatedSigner - designatedSigners - contractMethods - amountAggregation - src - dst description: | The field which the error relates to: * operator - transaction initiator * operators - transaction initiators * authorizationGroups - transaction authorizer groups * designatedSigner - transaction signer * designatedSigners - transaction signers * contractMethods - contract methods * amountAggregation - transaction amount aggregation configuration * src - transaction source asset configuration * dst - transaction destination asset configuration required: - errorMessage - errorCode - errorCodeName - errorField PolicyRulesV2: type: object properties: rules: description: Policy rules type: array items: $ref: '#/components/schemas/PolicyRuleV2' PolicyStatusV2: type: string enum: - SUCCESS - UNVALIDATED - INVALID_CONFIGURATION - PENDING - PENDING_CONSOLE_APPROVAL - AWAITING_QUORUM - UNHANDLED_ERROR description: | * SUCCESS - success * UNVALIDATED - not validated yet * INVALID_CONFIGURATION - at least one rule is invalid * PENDING - pending approval * PENDING_CONSOLE_APPROVAL - pending approval from the console app * AWAITING_QUORUM - pending quorum approval * UNHANDLED_ERROR - unhandled error PolicyTypeV2: type: string enum: - TRANSFER - STAKE - CONTRACT_CALL - TYPED_MESSAGE - APPROVE - MINT - BURN - RAW - COMPLIANCE - DEPLOYMENT - PROGRAM_CALL - DAPP_CONNECTION - UPGRADE - ORDER - AML_CHAINALYSIS_V2_SCREENING - AML_CHAINALYSIS_V2_POST_SCREENING - AML_ELLIPTIC_HOLISTIC_SCREENING - AML_ELLIPTIC_HOLISTIC_POST_SCREENING - TR_NOTABENE_SCREENING - TR_NOTABENE_POST_SCREENING description: Policy type enumeration example: "TRANSFER" PolicyUserIdsV2: type: array items: type: string description: List of user IDs example: ["user1", "user2"] PolicyValidationV2: type: object description: Policy validation object properties: status: type: string description: Validation status checkResult: $ref: '#/components/schemas/PolicyCheckResultV2' required: - status - checkResult ProgramCallConfigV2: type: object description: Program call configuration properties: allowedSolanaProgramCalls: type: string enum: - "*" - WHITELISTED description: Whether Solana program calls are allowed example: "WHITELISTED" required: - allowedSolanaProgramCalls PublishDraftRequestV2: type: object description: Request schema for publishing draft with policy types and draft ID required: - policyTypes - draftId properties: policyTypes: type: array items: $ref: '#/components/schemas/PolicyTypeV2' draftId: type: string description: The ID of the draft to publish example: "draft-123" PublishResultV2: type: object description: Response object of the publish policy operation properties: status: $ref: '#/components/schemas/PolicyStatusV2' rules: type: array items: $ref: '#/components/schemas/PolicyRuleV2' checkResult: $ref: '#/components/schemas/PolicyCheckResultV2' metadata: $ref: '#/components/schemas/PolicyMetadataV2' required: - status - rules - checkResult - metadata ScreeningMetadataConfigV2: type: object description: Screening metadata configuration properties: direction: type: string enum: - INBOUND - OUTBOUND - ANY description: Direction of transaction example: "OUTBOUND" provider: type: string enum: - CHAINALYSIS - CHAINALYSIS_V2 - ELLIPTIC - ELLIPTIC_HOLISTIC - NOTABENE nullable: true description: Screening provider example: "CHAINALYSIS" riskRating: type: string enum: - LOW - MEDIUM - HIGH - SEVERE - ANY description: Risk rating threshold example: "MEDIUM" riskScore: type: string description: Risk score threshold example: "0.8" exposureType: type: string enum: - DIRECT - INDIRECT - ANY description: Exposure type example: "DIRECT" category: type: array items: type: string name: type: array items: type: string categoryId: type: array items: type: string status: type: string enum: - COMPLETED - PENDING - REJECTED - FAILED - CANCELED - BLOCKING_TIME_EXPIRED description: Transaction status example: "COMPLETED" sourceAddress: type: string description: Source address example: "0x123..." destAddress: type: string description: Destination address example: "0x456..." required: - direction TimePeriodConfigV2: type: object description: Time period configuration properties: seconds: type: string description: Time period in seconds example: "86400" initiator: $ref: '#/components/schemas/TimePeriodMatchTypeV2' source: $ref: '#/components/schemas/TimePeriodMatchTypeV2' destination: $ref: '#/components/schemas/TimePeriodMatchTypeV2' required: - seconds - initiator - source - destination TimePeriodMatchTypeV2: type: string enum: - PER_SINGLE_MATCH - ACROSS_ALL_MATCHES description: Type of match for time period application example: "PER_SINGLE_MATCH" UpdateDraftRequestV2: type: object description: Request schema for updating draft with policy types and rules required: - policyTypes - rules properties: policyTypes: type: array items: $ref: '#/components/schemas/PolicyTypeV2' rules: type: array description: Array of policy rules items: $ref: '#/components/schemas/PolicyRuleV2' VerdictConfigV2: type: object description: Verdict configuration properties: action: type: string enum: - ALLOW - BLOCK - 2-TIER - ACCEPT - REJECT - ALERT - SCREEN - PASS - WAIT - FREEZE - CANCEL description: Verdict action example: "ALLOW" approvers: $ref: '#/components/schemas/ApproversConfigV2' designatedSigners: $ref: '#/components/schemas/DesignatedSignersConfigV2' required: - action ResendFailedNotificationsResponse: type: object properties: total: type: number description: The total number of failed notifications that are scheduled to be resent. example: 10 ResendFailedNotificationsRequest: type: object properties: startTime: type: number description: > (optional) Start time for the resend window in milliseconds since epoch up to 24 hours before the current time - Default if missing means 24 hours before the current time in milliseconds since epoch - Maximum value is current time in milliseconds since epoch - Minimum value is 24 hours before the current time in milliseconds since epoch example: 1625097600000 events: type: array description: > (optional) Event types to resend, default is all event types - Default if missing means all events will be included - Empty array means all events will be included example: ["transaction.created", "transaction.status.updated"] items: $ref: '#/components/schemas/WebhookEvent' ResendFailedNotificationsJobStatusResponse: type: object properties: jobId: type: string description: Bulk resend job ID example: 123e4567-e89b-12d3-426614174000 status: type: string description: Bulk resend job status example: COMPLETED enum: - QUEUED - IN_PROGRESS - COMPLETED - FAILED processed: type: number description: Number of notifications processed example: 100 total: type: number description: Total number of notifications to process example: 1000 required: - jobId - status - processed - total NotificationAttemptsPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/NotificationAttempt' next: type: string description: The ID of the next Page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data NotificationAttempt: type: object properties: sentTime: type: integer format: int64 description: The time when the attempt was sent in milliseconds. example: 1625126400000 duration: type: integer description: The duration of the attempt in milliseconds. example: 130 responseCode: type: integer description: The response code of the attempt, when missing refer to failureReason. example: 200 failureReason: type: string enum: - TIMED_OUT - NO_RESPONSE description: The request failure reason in case responseCode is missing. example: TIMED_OUT required: - sentTime - duration ErrorSchema: type: object properties: message: type: string code: type: number RewardsInfo: type: object properties: pendingRewards: description: Amount that is pending for rewards type: string example: '12' VaultAsset: type: object required: - id - total - available - pending - frozen - lockedAmount properties: id: type: string example: ETH total: description: > The total wallet balance. Total = available + pending + lockedAmount + frozen - In EOS this value includes the network balance, self staking and pending refund. - For all other coins it is the balance as it appears on the blockchain. type: string example: '10.5' balance: deprecated: true description: Deprecated - replaced by "total" type: string example: '10.5' available: description: > Funds available for transfer. Equals: "total" minus "lockedAmount" minus "frozen" minus "pending" type: string example: '9' pending: description: The cumulative balance of all transactions pending to be cleared type: string example: '0.5' frozen: description: The cumulative frozen balance type: string example: '0.5' lockedAmount: description: >- Funds in outgoing transactions that are not yet published to the network type: string example: '0.5' staked: deprecated: true description: Deprecated type: string totalStakedCPU: type: number deprecated: true description: Deprecated totalStakedNetwork: deprecated: true type: string description: Deprecated selfStakedCPU: deprecated: true type: string description: Deprecated selfStakedNetwork: deprecated: true type: string description: Deprecated pendingRefundCPU: type: string deprecated: true description: Deprecated pendingRefundNetwork: type: string deprecated: true description: Deprecated blockHeight: description: The height (number) of the block of the balance type: string example: '19911062' blockHash: description: The hash of the block of the balance type: string example: '0xcc16c4ab5e018d1f05d3a18fcd122a3ef94276c10a4c89bbab10830f5c1ca742' rewardsInfo: $ref: '#/components/schemas/RewardsInfo' VaultAccount: type: object required: - id - name - assets - hiddenOnUI properties: id: type: string example: '0' description: Vault Account unique identifier name: type: string example: MyVaultAccount description: Vault Account name assets: type: array description: An array of vault assets minItems: 0 items: $ref: '#/components/schemas/VaultAsset' hiddenOnUI: description: Whether the Vault Account is visible in the UI or not type: boolean customerRefId: type: string description: Customer reference ID for AML integrations example: some-reference autoFuel: description: >- Whether the Vault Account is monitored by the Fireblocks Gas Station or not type: boolean tags: type: array description: List of tags attached to the vault account items: $ref: '#/components/schemas/Tag' GetVaultAccountsResponse: type: array items: $ref: '#/components/schemas/VaultAccount' CreateVaultAccountRequest: type: object properties: name: description: Vault Account name type: string example: MyVaultAccount hiddenOnUI: description: >- Optional - if true, the created account and all related transactions will not be shown on Fireblocks console type: boolean customerRefId: description: Optional - Sets a customer reference ID for AML integrations type: string example: some-reference autoFuel: description: >- Optional - Sets the autoFuel property of the vault account for the Fireblocks Gas Station type: boolean vaultType: default: MPC description: >- Type of vault account. The default type will be set to MPC.
If the workspace does not support the selected type, it will return an error. type: string enum: - MPC - KEY_LINK autoAssign: default: false description: >- Applicable only when the vault account type is KEY_LINK. For MPC, this parameter will be ignored.
If set to true and there are available keys, random keys will be assigned to the newly created vault account.
If set to true and there are no available keys to be assigned, it will return an error.
If set to false, the vault account will be created without any keys. type: boolean VaultAccountsPagedResponse: type: object properties: accounts: type: array items: $ref: '#/components/schemas/VaultAccount' paging: type: object properties: before: type: string after: type: string previousUrl: type: string nextUrl: type: string UpdateVaultAccountRequest: type: object properties: name: description: Account Name type: string example: MyVaultAccount RenameVaultAccountResponse: type: object properties: name: type: string description: The new name of the vault account example: MyVaultAccount id: type: string description: The ID of the vault account example: '0' AssetWallet: type: object properties: vaultId: description: >- ID of the vault account. You can [get the vault account by this ID](https://developers.fireblocks.com/reference/get_vault-accounts-vaultaccountid) to retrieve vault properties such as its name, auto fueling, hidden on UI or customer reference ID. type: string example: '0' assetId: description: >- ID of the asset. You can get more information about this asset by using the [supported assets API](https://developers.fireblocks.com/reference/get_supported-assets) type: string example: ETH available: description: Available balance, available to use in a transaction. type: string example: '11' total: description: >- Total balance at the asset wallet, as seen at the blockchain explorers. This includes balance available, and any kind of unavailable balance such as locked, frozen, or others. type: string pending: description: >- Pending balance (an incoming transaction that hasn't yet reached the necessary number of confirmations) type: string example: '0' staked: description: Staked balance (for DOT staking with Raw signing only) type: string example: '0' frozen: description: >- Funds frozen due to the anti-money laundering policy at this workspace. type: string example: '0' lockedAmount: description: Locked balance. type: string example: '0' blockHeight: description: The height (number) of the block of the balance. Can by empty. nullable: true type: string example: '19953092' blockHash: description: The hash of the block of the balance. Can by empty. type: string nullable: true example: '0x85fb70a1d600349666f4a8e79fd48f8911c02fa3ff702374cf9ec5e797c80603' creationTimestamp: description: Unix timestamp of the time the asset wallet was created. type: string example: '1618220338000' PaginatedAssetWalletResponse: type: object properties: assetWallets: type: array items: $ref: '#/components/schemas/AssetWallet' paging: type: object properties: before: description: >- A string representing a cursor. Users can use this with a new request to this API endpoint as the “before” request parameter to fetch the previous page of results. type: string after: description: >- A string representing a cursor. Users can use this with a new request to this API endpoint as the “before” request parameter to fetch the next page of results. type: string VaultActionStatus: type: object properties: success: type: boolean CreateVaultAssetResponse: type: object required: - id - address properties: id: type: string example: '0' address: type: string example: bc1qzrclj9a6ljrkegggv047zk4gqrjxrznul3hf4p legacyAddress: description: For BTC and some BTC forked assets only type: string example: 12YbgefQANXKJZUCF1QrymUxCtKJR59e7g enterpriseAddress: description: For ADA (Cardano) only type: string tag: description: For Tag/Memo based assets only type: string example: '247016305' eosAccountName: description: For EOS only type: string status: type: string example: PENDING_ACTIVATION activationTxId: type: string example: 1fe6f159-fb00-4f2e-8907-051ba05a5880 SetCustomerRefIdRequest: type: object properties: customerRefId: description: Customer reference ID type: string example: some-customer-reference SetAutoFuelRequest: type: object properties: autoFuel: description: Auto Fuel type: boolean CreateAssetsRequest: type: object properties: eosAccountName: description: >- Optional - when creating an EOS wallet, the account name. If not provided, a random name will be generated type: string VaultWalletAddress: type: object properties: assetId: type: string x-fb-entity: asset address: type: string description: type: string tag: type: string type: type: string customerRefId: type: string addressFormat: type: string enum: - SEGWIT - LEGACY - BASE - PAYMENT legacyAddress: type: string enterpriseAddress: type: string bip44AddressIndex: type: integer userDefined: type: boolean GetVaultAccountAssetAddressesResponse: type: array items: $ref: '#/components/schemas/VaultWalletAddress' CreateAddressRequest: type: object properties: description: description: (Optional) Attach a description to the new address type: string customerRefId: description: Optional - Sets a customer reference ID type: string CreateAddressResponse: type: object properties: address: type: string legacyAddress: type: string enterpriseAddress: type: string tag: type: string bip44AddressIndex: type: integer PaginatedAddressResponse: type: object properties: addresses: type: array items: $ref: '#/components/schemas/VaultWalletAddress' paging: type: object properties: before: description: >- A string representing a cursor. Users can use this with a new request to this API endpoint as the “before” request parameter to fetch the previous page of results. type: string example: >- eyJhZGRyZXNzSWQiOiIzNjg4MzE5MiIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ after: description: >- A string representing a cursor. Users can use this with a new request to this API endpoint as the “after” request parameter to fetch the next page of results. type: string example: >- eyJhZGRyZXNzSWQiOiIzNDU3MDM4MSIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ GetMaxSpendableAmountResponse: type: object properties: maxSpendableAmount: type: string description: The maximum amount that can be spent from the vault account example: '0.009' UpdateVaultAccountAssetAddressRequest: type: object properties: description: description: The address description type: string example: some_description SetCustomerRefIdForAddressRequest: type: object properties: customerRefId: description: Customer reference ID type: string example: customer_reference UnspentInput: description: | A representation of an Unspent Transaction Output (UTXO). type: object properties: txHash: description: Transaction Hash type: string example: 6b21446af4a5e3ec588960d2338ab52428a3eb729038146ea09905199723061f index: description: The UTXO index (vOut) type: number example: 0 UnspentInputsResponse: type: object properties: input: $ref: '#/components/schemas/UnspentInput' address: type: string description: The blockchain address associated with the UTXO example: bc1qjhm0h7vhdyu0d0luv34dlz654rmsvg8twywk99 amount: type: string description: >- The quantity of the asset held in the UTXO, expressed in base asset units example: '0.0009' confirmations: type: number description: The count of confirmations on the blockchain for this UTXO example: 4780 status: type: string description: UTXO Status enum: - AVAILABLE - PENDING - FROZEN GetUnspentInputsResponse: type: array items: $ref: '#/components/schemas/UnspentInputsResponse' PublicKeyInformation: type: object properties: algorithm: type: string description: Elliptic Curve enum: - MPC_ECDSA_SECP256K1 - MPC_ECDSA_SECP256R1 - MPC_EDDSA_ED25519 derivationPath: example: - 44 - 0 - 0 - 0 - 0 description: BIP44 derivation path type: array items: type: integer minItems: 5 maxItems: 5 publicKey: description: Compressed/Uncompressed public key value in hex representation example: 1044c36403c1802818b472398f546a43a0d91569d5583a6e807c3825b155c7bd type: string VaultAssetNumber: type: object required: - id - total - available - pending - frozen - lockedAmount properties: id: type: string example: ETH total: description: | The total wallet balance. (Total = available + pending + lockedAmount + frozen) - In EOS, this value includes the network balance, self-staking, and pending refund. - For all other coins, it is the balance as it appears on the blockchain. type: number example: 10.5 balance: deprecated: true description: Deprecated, replaced by "total" type: string example: '10.5' available: description: > Funds available for transfer. Equals: "total" minus "lockedAmount" minus "frozen" minus "pending" type: string example: '9' pending: description: The cumulative balance of all transactions pending to be cleared type: number example: 0.5 frozen: description: The cumulative frozen balance type: number example: 0.5 lockedAmount: description: >- Funds in outgoing transactions that are not yet published to the network type: number example: 0.5 staked: deprecated: true description: Deprecated type: string totalStakedCPU: type: number deprecated: true description: Deprecated totalStakedNetwork: deprecated: true type: string description: Deprecated selfStakedCPU: deprecated: true type: string description: Deprecated selfStakedNetwork: deprecated: true type: string description: Deprecated pendingRefundCPU: type: string deprecated: true description: Deprecated pendingRefundNetwork: type: string deprecated: true description: Deprecated blockHeight: description: The height (number) of the block of the balance type: string example: '19911062' blockHash: description: The hash of the block of the balance type: string example: '0xcc16c4ab5e018d1f05d3a18fcd122a3ef94276c10a4c89bbab10830f5c1ca742' rewardsInfo: $ref: '#/components/schemas/RewardsInfo' GetVaultAssetsResponse: type: array items: $ref: '#/components/schemas/VaultAsset' ExchangeType: description: Exchange account's type type: string enum: - INDEPENDENT_RESERVE - ENCLAVE_MARKETS - BIT - COINFLEX - KUCOIN - PXS - LIQUID - BITHUMB - BITFINEX - BITSO - BITSTAMP - KRAKEN - KRAKENINTL - BINANCE - BINANCEUS - CRYPTOCOM - BYBIT_V2 - COINBASEPRO - COINBASEPRIME - COINBASEINTERNATIONAL - WHITEBIT - COINBASEEXCHANGE - KORBIT - HITBTC - GEMINI - CIRCLE - BITMEX - HUOBI - DERIBIT - OKCOIN_V5 - OKEX - COINMETRO - GATEIO - SCRYPT - COINHAKO - LIGHTBIT - BULLISH - CANVAS_CONNECT - BITGET - LUNO - BIT_GENERA - TRANSFERO ExchangeAsset: type: object properties: id: type: string balance: type: string lockedAmount: type: string total: type: string available: type: string credit: type: string ExchangeTradingAccount: type: object properties: type: type: string name: type: string assets: type: array items: $ref: '#/components/schemas/ExchangeAsset' ExchangeAccount: type: object properties: id: type: string type: $ref: '#/components/schemas/ExchangeType' name: type: string description: Display name of the exchange account status: type: string assets: type: array items: $ref: '#/components/schemas/ExchangeAsset' success: type: boolean description: Did succeed in retrieve balance data tradingAccounts: type: array items: $ref: '#/components/schemas/ExchangeTradingAccount' isSubaccount: description: True if the account is a subaccount in an exchange type: boolean mainAccountId: description: if the account is a sub-account, the ID of the main account type: string GetExchangeAccountsResponse: type: array items: $ref: '#/components/schemas/ExchangeAccount' AddExchangeAccountRequest: type: object properties: exchangeType: $ref: '#/components/schemas/ExchangeType' name: description: Display name of the exchange account type: string creds: description: Encrypted credentials type: string key: description: Api key of the exchange type: string mainAccountId: description: Optional - main account id of the exchange type: string required: - exchangeType - name AddExchangeAccountResponse: type: object properties: id: description: Exchange account's identifier type: string name: description: Display name of the exchange account type: string exchangeType: $ref: '#/components/schemas/ExchangeType' ExchangeAccountsPaged: type: object properties: ExchangeAccount: type: array items: $ref: '#/components/schemas/ExchangeAccount' paging: type: object properties: after: type: string description: Query value to the after page before: type: string description: Query value to the before page prevUrl: type: string nextUrl: type: string GetPagedExchangeAccountsResponse: type: array items: $ref: '#/components/schemas/ExchangeAccountsPaged' TradingAccountType: type: string enum: - COIN_FUTURES - COIN_MARGINED_SWAP - EXCHANGE - FUNDING - FUNDABLE - FUTURES - FUTURES_CROSS - MARGIN - MARGIN_CROSS - OPTIONS - SPOT - USDT_MARGINED_SWAP_CROSS - USDT_FUTURES - UNIFIED CreateInternalTransferRequest: type: object properties: asset: type: string amount: type: string sourceType: $ref: '#/components/schemas/TradingAccountType' destType: $ref: '#/components/schemas/TradingAccountType' required: - asset - amount - sourceType - destType InternalTransferResponse: type: object properties: success: type: boolean description: Indicates whether the transfer was successful id: type: string nullable: true description: The transaction ID of the internal transfer example: 993c89c5-6405-47e5-9407-1a77f0de801f required: - success ConvertAssetsRequest: type: object properties: srcAsset: type: string description: >- Name of the source asset (must be in a currency that is supported for conversions in the selected exchange type that corresponds to your exchange ID) destAsset: type: string description: >- Name of the destination asset (must be in a currency that is supported for conversions in the selected exchange type that corresponds to your exchange ID) amount: type: number description: The amount to transfer (in the currency of the source asset) required: - srcAsset - destAsset - amount ConvertAssetsResponse: type: object properties: success: type: boolean description: Indicates whether the conversion was successful required: - success FiatAccountType: type: string enum: - BLINC FiatAsset: type: object properties: id: type: string balance: type: string FiatAccount: type: object properties: id: type: string type: $ref: '#/components/schemas/FiatAccountType' name: type: string description: Display name of the fiat account address: type: string nullable: true assets: type: array items: $ref: '#/components/schemas/FiatAsset' GetFiatAccountsResponse: type: array items: $ref: '#/components/schemas/FiatAccount' Funds: type: object properties: amount: type: number RedeemFundsToLinkedDDAResponse: type: object properties: success: type: boolean description: >- Indicates whether the funds were successfully redeemed to the linked DDA required: - success DepositFundsFromLinkedDDAResponse: type: object properties: success: type: boolean description: >- Indicates whether the funds were successfully deposited from the linked DDA required: - success NetworkChannel: deprecated: true description: Deprecated in the only used reference - NetworkConnectionResponse type: object properties: networkId: type: string name: type: string NetworkConnectionStatus: type: string enum: - WAITING_FOR_APPROVAL - WAITING_FOR_PEER_APPROVAL - APPROVED - CANCELLED - FAILED - REJECTED - REJECTED_BY_PEER - REMOVED - REMOVED_BY_PEER NetworkId: type: object properties: id: type: string description: Network Connection ID example: 494ae5f7-7807-4bc5-863b-2963aa94398f name: type: string description: Network Connection Name example: My Network Connection Name required: - id - name CustomRoutingDest: type: object properties: scheme: description: The network routing logic. type: string enum: - CUSTOM dstType: type: string description: The account the funds are being sent to. enum: - FIAT_ACCOUNT - VAULT - EXCHANGE dstId: type: string description: The ID of the account the funds are being sent to. example: 29a425f4-f621-4c01-a888-27adec7d1dfa required: - scheme - dstType - dstId DefaultNetworkRoutingDest: type: object properties: scheme: type: string description: The network routing logic. enum: - DEFAULT required: - scheme NoneNetworkRoutingDest: type: object properties: scheme: type: string description: No network routing logic. enum: - NONE required: - scheme NetworkConnectionRoutingPolicy: type: object additionalProperties: oneOf: - $ref: '#/components/schemas/CustomRoutingDest' - $ref: '#/components/schemas/DefaultNetworkRoutingDest' - $ref: '#/components/schemas/NoneNetworkRoutingDest' NetworkConnectionResponse: type: object properties: id: type: string localChannel: allOf: - $ref: '#/components/schemas/NetworkChannel' deprecated: true description: Deprecated - Replaced by `localNetworkId` remoteChannel: allOf: - $ref: '#/components/schemas/NetworkChannel' deprecated: true description: Deprecated - Replaced by `remoteNetworkId` status: $ref: '#/components/schemas/NetworkConnectionStatus' localNetworkId: $ref: '#/components/schemas/NetworkId' remoteNetworkId: $ref: '#/components/schemas/NetworkId' routingPolicy: $ref: '#/components/schemas/NetworkConnectionRoutingPolicy' required: - id - localNetworkId - remoteNetworkId - routingPolicy - status GetNetworkConnectionsResponse: type: array items: $ref: '#/components/schemas/NetworkConnectionResponse' NetworkConnection: type: object properties: localNetworkId: type: string description: The network ID of the profile trying to create the connection. example: 494ae5f7-7807-4bc5-863b-2963aa94398f remoteNetworkId: type: string description: The network ID the profile is attempting to connect to. example: ebde71be-30d6-4498-95c4-a151effdb377 routingPolicy: $ref: '#/components/schemas/NetworkConnectionRoutingPolicy' required: - localNetworkId - remoteNetworkId SetRoutingPolicyRequest: type: object properties: routingPolicy: $ref: '#/components/schemas/NetworkConnectionRoutingPolicy' required: - routingPolicy SetRoutingPolicyResponse: type: object properties: success: type: boolean required: - success ThirdPartyRouting: type: object properties: isThirdPartyRouting: type: boolean description: type: string DeleteNetworkConnectionResponse: type: object properties: success: type: boolean required: - success NetworkIdRoutingPolicy: type: object additionalProperties: oneOf: - $ref: '#/components/schemas/CustomRoutingDest' - $ref: '#/components/schemas/NoneNetworkRoutingDest' NetworkIdResponse: allOf: - $ref: '#/components/schemas/NetworkId' - type: object properties: routingPolicy: $ref: '#/components/schemas/NetworkIdRoutingPolicy' isDiscoverable: type: boolean description: The specific network is discoverable. GetNetworkIdsResponse: type: array items: allOf: - $ref: '#/components/schemas/NetworkIdResponse' CreateNetworkIdRequest: type: object properties: name: type: string description: Network ID Name example: My Network ID name routingPolicy: $ref: '#/components/schemas/NetworkIdRoutingPolicy' required: - name GetRoutingPolicyAssetGroupsResponse: type: array items: type: string DeleteNetworkIdResponse: type: object properties: success: type: boolean required: - success SetNetworkIdRoutingPolicyRequest: type: object properties: routingPolicy: $ref: '#/components/schemas/NetworkIdRoutingPolicy' required: - routingPolicy SetNetworkIdResponse: type: object properties: success: type: boolean required: - success SetNetworkIdDiscoverabilityRequest: type: object properties: isDiscoverable: type: boolean required: - isDiscoverable SetNetworkIdNameRequest: type: object properties: name: type: string description: Network ID name example: My Network ID name required: - name ConfigChangeRequestStatus: type: string enum: - WAITING_FOR_APPROVAL - APPROVED - CANCELLED - REJECTED - FAILED WalletAsset: type: object properties: id: type: string balance: type: string lockedAmount: type: string status: $ref: '#/components/schemas/ConfigChangeRequestStatus' address: type: string tag: type: string activationTime: type: string WalletAssetExternal: type: object properties: id: type: string lockedAmount: type: string status: $ref: '#/components/schemas/ConfigChangeRequestStatus' address: type: string tag: type: string activationTime: type: string UnmanagedWallet: type: object properties: id: type: string name: type: string customerRefId: type: string assets: type: array items: $ref: '#/components/schemas/WalletAsset' required: - id - name - assets UnmanagedExternalWallet: type: object properties: id: type: string name: type: string customerRefId: type: string assets: type: array items: $ref: '#/components/schemas/WalletAssetExternal' required: - id - name - assets GetInternalWalletsResponse: type: array items: $ref: '#/components/schemas/UnmanagedWallet' CreateWalletRequest: type: object properties: name: type: string description: the wallet's display name customerRefId: description: Optional - Sets a customer reference ID type: string PaginatedAssetsResponse: type: object properties: total: type: number description: Total number of assets in the internal wallet data: $ref: '#/components/schemas/UnmanagedWallet' next: type: string description: Cursor for the next page of results required: - data CreateInternalWalletAssetRequest: type: object properties: address: type: string description: The wallet's address or, for EOS wallets, the account name tag: type: string description: >- for XRP wallets, the destination tag; for EOS, the memo; for the fiat providers (BLINC by BCB Group), the Bank Transfer Description required: - address SigningKeyDto: type: object properties: keyId: type: string minLength: 36 maxLength: 36 example: 46a92767-5f93-4a46-9eed-f012196bb4fc description: External signing key id set by Fireblocks. signingDeviceKeyId: type: string maxLength: 256 example: MyKey1 description: >- The ID, name or label of the key specified on the customer's signing device. publicKeyPem: type: string example: '-----BEGIN PUBLIC KEY ... END PUBLIC KEY-----' description: PEM encoded public key algorithm: type: string example: ECDSA_SECP256K1 description: >- Algorithm and curve used for the signature. Can be: ECDSA_SECP256K1 or EDDSA_ED25519 enabled: type: boolean example: true description: True if the signing key is enabled vaultAccountId: type: number nullable: true example: 10 description: Id of the vault account which this key is linked to agentUserId: type: string minLength: 36 maxLength: 36 example: d18847b5-1df6-4c46-8f99-5cce47284529 description: Id of user that represent agent servers that can sign with the key createdAt: type: number example: 124757537 description: Creation date (timestamp) in milliseconds. required: - keyId - signingDeviceKeyId - publicKeyPem - algorithm - enabled - vaultAccountId - agentUserId - createdAt GetSigningKeyResponseDto: type: object properties: data: description: Response object for getting external signing keys. type: array items: $ref: '#/components/schemas/SigningKeyDto' next: type: string description: The ID of the next page required: - data CreateSigningKeyDto: type: object properties: signingDeviceKeyId: type: string example: MyKey1 maxLength: 256 description: >- The ID, name or label of the key specified on the customer's signing device. signedCertPem: type: string example: '-----BEGIN CERTIFICATE ... END CERTIFICATE-----' description: >- The signed certificate that includes the public key PEM of the signing key, signed by a validation key. agentUserId: type: string minLength: 36 maxLength: 36 example: d18847b5-1df6-4c46-8f99-5cce47284529 description: Id of user to which this key belongs proofOfOwnership: type: object description: An object containing proof of ownership for the signing key. properties: message: description: >- The message to be signed by the key as proof of ownership. 64 to 1024 bytes in hexadecimal format. type: string minLength: 64 maxLength: 2048 signature: description: The signature of the message. 64 bytes in hexadecimal format. type: string minLength: 64 maxLength: 128 required: - message - signature required: - signingDeviceKeyId - signedCertPem - agentUserId ModifySigningKeyDto: type: object properties: vaultAccountId: type: number minimum: 1 example: 123 required: - vaultAccountId ModifySigningKeyAgentIdDto: type: object properties: agentUserId: type: string minLength: 36 maxLength: 36 example: d18847b5-1df6-4c46-8f99-5cce47284529 description: Id of user that represent agent servers which signs with the key required: - agentUserId ValidationKeyDto: type: object properties: keyId: type: string minLength: 36 maxLength: 36 example: 46a92767-5f93-4a46-9eed-f012196bb4fc description: External validation key id set by Fireblocks. publicKeyPem: type: string example: '-----BEGIN PUBLIC KEY ... END PUBLIC KEY-----' description: PEM encoded public key used for the validation. daysTillExpired: type: number minimum: 1 example: 365 enabled: type: boolean example: false description: True if the validation key is enabled. createdAt: type: number example: 12345633 description: Creation date (timestamp) in milliseconds. required: - keyId - publicKeyPem - daysTillExpired - enabled - createdAt GetValidationKeyResponseDto: type: object properties: data: description: Response object for getting external validation keys. type: array items: $ref: '#/components/schemas/ValidationKeyDto' next: type: string description: The ID of the next page required: - data CreateValidationKeyDto: type: object properties: publicKeyPem: type: string example: '-----BEGIN PUBLIC KEY ... END PUBLIC KEY-----' description: The PEM encoded public key of the validation key being added daysTillExpired: type: number minimum: 1 example: 365 description: >- The number of days from the date the validation key was added until it expires required: - publicKeyPem - daysTillExpired CreateValidationKeyResponseDto: type: object properties: validationKey: description: Created validation key allOf: - $ref: '#/components/schemas/ValidationKeyDto' admins: description: Admins who have to approve the validation key addition type: array items: type: string approvalThreshold: type: number minimum: 0 example: 0 description: Minimal number of approvers required. 0 for all requestId: type: number example: 1234 description: Approval request id. Can be cancelled required: - validationKey - admins - approvalThreshold - requestId ModifyValidationKeyDto: type: object properties: enabled: type: boolean example: false description: Disable validation key required: - enabled GetExternalWalletsResponse: type: array items: $ref: '#/components/schemas/UnmanagedWallet' WalletAssetAdditionalInfo: type: object properties: accountHolderGivenName: type: string accountHolderSurname: type: string accountHolderCity: type: string accountHolderCountry: type: string accountHolderAddress1: type: string accountHolderAddress2: type: string accountHolderDistrict: type: string accountHolderPostalCode: type: string abaRoutingNumber: type: string abaAccountNumber: type: string abaCountry: type: string iban: type: string ibanCity: type: string ibanCountry: type: string speiClabe: type: string speiName: type: string ExternalWalletAsset: type: object properties: id: type: string status: $ref: '#/components/schemas/ConfigChangeRequestStatus' address: type: string balance: type: string lockedAmount: type: string tag: type: string activationTime: type: string additionalInfo: type: array items: $ref: '#/components/schemas/WalletAssetAdditionalInfo' AddAssetToExternalWalletRequest: oneOf: - $ref: '#/components/schemas/BasicAddressRequest' - $ref: '#/components/schemas/AdditionalInfoRequest' GetContractsResponse: type: array items: $ref: '#/components/schemas/UnmanagedWallet' CreateContractRequest: type: object properties: name: type: string description: the contract's display name AddContractAssetRequest: type: object properties: address: type: string description: The contract's address (or xpub) of the wallet tag: type: string description: The destination tag, for XRP wallets required: - address AdditionalInfoRequest: type: object description: External wallet request with additional payment information for various payment rails properties: additionalInfo: type: object description: Additional payment information based on the payment rail type oneOf: - $ref: '#/components/schemas/IbanPaymentInfo' - $ref: '#/components/schemas/AbaPaymentInfo' - $ref: '#/components/schemas/SpeiBasicPaymentInfo' - $ref: '#/components/schemas/SpeiAdvancedPaymentInfo' - $ref: '#/components/schemas/PixPaymentInfo' - $ref: '#/components/schemas/SepaPaymentInfo' - $ref: '#/components/schemas/AchPaymentInfo' - $ref: '#/components/schemas/UsWirePaymentInfo' - $ref: '#/components/schemas/MomoPaymentInfo' - $ref: '#/components/schemas/LbtPaymentInfo' required: - additionalInfo BasicAddressRequest: type: object description: Basic external wallet request with address information properties: address: type: string description: The external wallet's address (or its xpub) example: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" tag: type: string description: | - For XRP wallets, the destination tag. - For EOS/XLM wallets, the memo. - For fiat providers, the Bank Transfer Description. example: "12345" required: - address AssetTypeResponse: type: object description: Supported Asset Object properties: id: type: string description: Unique asset identifier example: BTC name: type: string description: The name of the asset example: Bitcoin type: type: string description: Asset type enum: - BASE_ASSET - ERC20 - BEP20 - COMPOUND - TRON_TRC20 - NEAR_ASSET - SOL_ASSET - FIAT - ALGO_ASSET - XLM_ASSET - XDB_ASSET contractAddress: type: string description: Contract address of EVM based tokens example: '0x97fB6Fc2AD532033Af97043B563131C5204F8A35' nativeAsset: type: string description: The native asset ID example: ETH decimals: type: number description: Decimals of the asset example: 18 required: - id - name - type GetSupportedAssetsResponse: type: array description: An Array of Supported Assets Objects items: $ref: '#/components/schemas/AssetTypeResponse' RegisterNewAssetRequest: type: object properties: blockchainId: type: string description: Native asset of blockchain example: ETH address: type: string description: | Asset address. - EVM-based chains: Token contract address - Algorand (ALGO): Asset ID - NEAR: Token address - Solana: Token's mint account address - Stellar (XLM): Issuer address - Sui: The token's type - TRON (TRX): Token contract address example: 0xe7A9as1oa38bc4da0248s179E30aa94CcF453991 symbol: type: string description: Asset symbol example: TST3 required: - blockchainId - address AssetOnchain: type: object properties: symbol: type: string description: The asset symbol example: TST3 name: type: string description: The asset name example: Test 3 address: type: string description: The asset address example: "0xe7A9as1oa38bc4da0248s179E30aa94CcF453991" decimals: type: number description: Number of decimals example: 18 standard: type: string description: The asset standard example: ERC20 required: - symbol - name - decimals AssetMetadata: type: object properties: scope: type: string description: The scope of the asset example: Global enum: - Global - Local deprecated: type: boolean description: Is asset deprecated example: false required: - scope - deprecated AssetResponse: type: object properties: legacyId: type: string example: TST3_ETH assetClass: type: string example: FT enum: - NATIVE - FT - NFT - SFT onchain: $ref: '#/components/schemas/AssetOnchain' metadata: $ref: '#/components/schemas/AssetMetadata' required: - legacyId - assetClass - displayName - displaySymbol - onchain - metadata AssetBadRequestErrorResponse: type: object properties: message: type: string description: Bad request error code example: Listing an asset on the requested blockchain is not supported code: type: string description: Error code example: 3001 required: - message - code ListAssetsResponse: type: object properties: data: type: array description: The data on the current page items: $ref: '#/components/schemas/Asset' next: type: string description: Cursor to the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data - next AssetForbiddenErrorResponse: type: object properties: message: type: string description: Forbidden error code example: Asset creation quota reached code: type: string description: Error code example: 3006 required: - message - code TokenInfoNotFoundErrorResponse: type: object properties: message: type: string description: Not found error code example: Invalid address, could not get asset information code: type: number description: Error code example: 3009 required: - message - code AssetConflictErrorResponse: type: object properties: message: type: string description: Conflict error code example: Asset already listed code: type: string description: Error code example: 3002 required: - message - code AssetInternalServerErrorResponse: type: object properties: message: type: string description: Internal server error code example: Internal server error code: type: string description: Error code example: 3005 required: - message - code TransactionStatus: type: string description: > The primary status of the transaction. For details, see [Primary transaction statuses](https://developers.fireblocks.com/reference/primary-transaction-statuses) enum: - SUBMITTED - PENDING_AML_SCREENING - PENDING_ENRICHMENT - PENDING_AUTHORIZATION - QUEUED - PENDING_SIGNATURE - PENDING_3RD_PARTY_MANUAL_APPROVAL - PENDING_3RD_PARTY - BROADCASTING - COMPLETED - CONFIRMING - CANCELLING - CANCELLED - BLOCKED - REJECTED - FAILED TransactionSubStatus: type: string description: > See [Transaction substatuses](https://developers.fireblocks.com/reference/transaction-substatuses) for the list of transaction sub statuses enum: - 3RD_PARTY_PROCESSING - 3RD_PARTY_PENDING_SERVICE_MANUAL_APPROVAL - PENDING_3RD_PARTY_MANUAL_APPROVAL - 3RD_PARTY_CONFIRMING - PENDING_BLOCKCHAIN_CONFIRMATIONS - 3RD_PARTY_COMPLETED - COMPLETED_BUT_3RD_PARTY_FAILED - COMPLETED_BUT_3RD_PARTY_REJECTED - CONFIRMED - BLOCKED_BY_POLICY - 3RD_PARTY_CANCELLED - 3RD_PARTY_REJECTED - CANCELLED_BY_USER - CANCELLED_BY_USER_REQUEST - REJECTED_BY_USER - AUTO_FREEZE - FROZEN_MANUALLY - REJECTED_AML_SCREENING - ACTUAL_FEE_TOO_HIGH - ADDRESS_WHITELISTING_SUSPENDED - AMOUNT_TOO_SMALL - AUTHORIZATION_FAILED - AUTHORIZER_NOT_FOUND - ENV_UNSUPPORTED_ASSET - ERROR_UNSUPPORTED_TRANSACTION_TYPE - FAIL_ON_LOW_FEE - GAS_LIMIT_TOO_LOW - GAS_PRICE_TOO_LOW_FOR_RBF - INCOMPLETE_USER_SETUP - INSUFFICIENT_FUNDS - INSUFFICIENT_FUNDS_FOR_FEE - INTEGRATION_SUSPENDED - INVALID_ADDRESS - INVALID_CONTRACT_CALL_DATA - INVALID_FEE_PARAMS - INVALID_NONCE_FOR_RBF - INVALID_TAG_OR_MEMO - INVALID_UNMANAGED_WALLET - MAX_FEE_EXCEEDED - MISSING_TAG_OR_MEMO - NEED_MORE_TO_CREATE_DESTINATION - NO_MORE_PREPROCESSED_INDEXES - NON_EXISTING_ACCOUNT_NAME - RAW_MSG_EMPTY_OR_INVALID - RAW_MSG_LEN_INVALID - TOO_MANY_INPUTS - TX_SIZE_EXCEEDED_MAX - UNAUTHORISED_DEVICE - UNAUTHORISED_USER - UNALLOWED_RAW_PARAM_COMBINATION - UNSUPPORTED_OPERATION - UNSUPPORTED_TRANSACTION_TYPE - ZERO_BALANCE_IN_PERMANENT_ADDRESS - OUT_OF_DATE_SIGNING_KEYS - CONNECTIVITY_ERROR - ERROR_ASYNC_TX_IN_FLIGHT - INTERNAL_ERROR - INVALID_NONCE_TOO_HIGH - INVALID_NONCE_TOO_LOW - INVALID_ROUTING_DESTINATION - LOCKING_NONCE_ACCOUNT_TIMEOUT - NETWORK_ROUTING_MISMATCH - NONCE_ALLOCATION_FAILED - RESOURCE_ALREADY_EXISTS - SIGNER_NOT_FOUND - SIGNING_ERROR - TIMEOUT - TX_OUTDATED - UNKNOWN_ERROR - VAULT_WALLET_NOT_READY - UNSUPPORTED_MEDIA_TYPE - ADDRESS_NOT_WHITELISTED - API_KEY_MISMATCH - ASSET_NOT_ENABLED_ON_DESTINATION - DEST_TYPE_NOT_SUPPORTED - EXCEEDED_DECIMAL_PRECISION - EXCHANGE_CONFIGURATION_MISMATCH - EXCHANGE_VERSION_INCOMPATIBLE - INVALID_EXCHANGE_ACCOUNT - METHOD_NOT_ALLOWED - NON_EXISTENT_AUTO_ACCOUNT - ON_PREMISE_CONNECTIVITY_ERROR - PEER_ACCOUNT_DOES_NOT_EXIST - THIRD_PARTY_MISSING_ACCOUNT - UNAUTHORISED_IP_WHITELISTING - UNAUTHORISED_MISSING_CREDENTIALS - UNAUTHORISED_MISSING_PERMISSION - UNAUTHORISED_OTP_FAILED - WITHDRAW_LIMIT - 3RD_PARTY_FAILED - API_CALL_LIMIT - API_INVALID_SIGNATURE - CANCELLED_EXTERNALLY - FAILED_AML_SCREENING - INVALID_FEE - INVALID_THIRD_PARTY_RESPONSE - MANUAL_DEPOSIT_ADDRESS_REQUIRED - MISSING_DEPOSIT_ADDRESS - NO_DEPOSIT_ADDRESS - SUB_ACCOUNTS_NOT_SUPPORTED - SPEND_COINBASE_TOO_EARLY - THIRD_PARTY_INTERNAL_ERROR - TX_ID_NOT_ACCEPTED_BY_THIRD_PARTY - UNSUPPORTED_ASSET - DOUBLE_SPENDING - DROPPED_BY_BLOCKCHAIN - INSUFFICIENT_RESERVED_FUNDING - INVALID_SIGNATURE - PARTIALLY_FAILED - POWERUP_SUGGESTION_FAILURE - REACHED_MEMPOOL_LIMIT_FOR_ACCOUNT - REJECTED_BY_BLOCKCHAIN - SMART_CONTRACT_EXECUTION_FAILED - TOO_LONG_MEMPOOL_CHAIN - '' GetTransactionOperation: type: string enum: - TRANSFER - BURN - CONTRACT_CALL - MINT - RAW - TYPED_MESSAGE - PROGRAM_CALL - ENABLE_ASSET - STAKE - UNSTAKE - WITHDRAW - REDEEM_FROM_COMPOUND - SUPPLY_TO_COMPOUND - APPROVE description: > * `TRANSFER` - Transfers funds from one account to another. UTXO blockchains allow multi-input and multi-output transfers. All other blockchains allow transfers with one source address and one destination address. * `MINT` - Mints new tokens. Supported for Stellar, Ripple, and EVM-based blockchains. * `BURN` - Burns tokens. Supported for Stellar, Ripple, and EVM-based blockchains. * `CONTRACT_CALL` - Calls a smart contract method for web3 operations on any EVM blockchain. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. * `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable messages that are not actual transactions. [Learn more about typed messages](https://developers.fireblocks.com/docs/typed-message-signing). * `RAW` - An off-chain message with no predefined format. Use it to sign any message with your private key, including protocols such as blockchains and custom transaction types that Fireblocks do not natively support. [Learn more about raw signing transactions.](https://developers.fireblocks.com/docs/raw-message-signing) * `PROGRAM_CALL` - Calls a smart contract for web3 operations on the Solana blockchain. Read more in the [Solana Programs Interactions guide](https://developers.fireblocks.com/reference/interact-with-solana-programs) * `ENABLE_ASSET` - Algorand, DigitalBits, Solana, and Stellar require an on-chain transaction to create an asset wallet and enable the deposit address. This transaction is automatically created when adding assets on these blockchains at a vault account. * `STAKE` - Assign assets to a staking pool managed by a staking validator. Supported for Stellar and EVM-based blockchains. This transaction is automatically created when performing staking operations. * `UNSTAKE` - Remove assets from a staking pool managed by a staking validator. Supported for Stellar and EVM-based blockchains. This transaction is automatically created when performing staking operations. * `WITHDRAW` - Transfer assets from a dedicated staking vault account to another address. Supported for Stellar and EVM-based blockchains. This transaction is automatically created when performing staking operations. **Note:** Fireblocks will rename this type from `WITHDRAW` to a different type name soon. There will be a 7-day notice regarding the new type name. * `SUPPLY_TO_COMPOUND` - Deprecated since April 1st, 2023. Older transactions may have this as their operation, in case users in the workspace have used the direct integration between Fireblocks and the Compound DeFI protocol. * `REDEEM_FROM_COMPOUND` - Deprecated since April 1st, 2023. Older transactions may have this as their operation, in case users in the workspace have used the direct integration between Fireblocks and the Compound DeFI protocol. * `APPROVE` - Enables the approve function for a smart contract to withdraw from a designated wallet. [Learn more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Approve-Transaction-Amount-Cap). TransferPeerPathType: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - INTERNAL_WALLET - EXTERNAL_WALLET - UNMANAGED_WALLET - CONTRACT - NETWORK_CONNECTION - FIAT_ACCOUNT - COMPOUND - GAS_STATION - ONE_TIME_ADDRESS - UNKNOWN - END_USER_WALLET - PROGRAM_CALL - MULTI_DESTINATION - OEC_PARTNER SourceTransferPeerPathResponse: type: object description: Source of the transaction. properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: type: string example: External description: >- In case the type is set to `EXCHANGE_ACCOUNT` or `FIAT_ACCOUNT`, the specific exchange vendor name or fiat vendor name. In case the type is set to `INTERNAL_WALLET` or `EXTERNAL_WALLET`, the subType is set to `Internal` or `External`. id: type: string example: 713153a5-42b8-4865-b871-10aee308e7ac nullable: true description: >- The ID of the peer. You can retrieve the ID of each venue object using the endpoints for [listing vault accounts](https://developers.fireblocks.com/reference/getpagedvaultaccounts), [listing exchange account](https://developers.fireblocks.com/reference/getexchangeaccounts), [listing fiat accounts](https://developers.fireblocks.com/reference/getfiataccounts), [listing internal wallets](https://developers.fireblocks.com/reference/getinternalwallets), [listing external wallets](https://developers.fireblocks.com/reference/getexternalwallets), [listing network connections](https://developers.fireblocks.com/reference/getnetworkconnection). For the other types, this parameter is not needed. name: type: string description: The name of the peer example: Some Peer Name walletId: type: string format: uuid example: d5a6453c-c8b8-4ae1-84f5-4002164e711e tradingAccount: type: string nullable: true description: >- If this transaction is an exchange internal transfer, this field will be populated with the type of that trading account. required: - type DestinationTransferPeerPathResponse: type: object description: >- Destination of the transaction. **Note:** In case the transaction is sent to multiple destinations, the `destinations` parameter is be used instead of this. properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: type: string example: External description: >- In case the type is set to `EXCHANGE_ACCOUNT` or `FIAT_ACCOUNT`, the specific exchange vendor name or fiat vendor name.In case the type is set to `INTERNAL_WALLET` or `EXTERNAL_WALLET`, the subType is set to `Internal` or `External`. id: type: string example: 713153a5-42b8-4865-b871-10aee308e7ac nullable: true description: >- The ID of the peer. You can retrieve the ID of each venue object using the endpoints for [listing vault accounts](https://developers.fireblocks.com/reference/getpagedvaultaccounts), [listing exchange account](https://developers.fireblocks.com/reference/getexchangeaccounts), [listing fiat accounts](https://developers.fireblocks.com/reference/getfiataccounts), [listing internal wallets](https://developers.fireblocks.com/reference/getinternalwallets), [listing external wallets](https://developers.fireblocks.com/reference/getexternalwallets), [listing network connections](https://developers.fireblocks.com/reference/getnetworkconnections). For the other types, this parameter is not needed. name: type: string description: The name of the peer example: Some Peer Name walletId: type: string format: uuid example: d5a6453c-c8b8-4ae1-84f5-4002164e711e tradingAccount: type: string nullable: true description: >- If this transaction is an exchange internal transfer, this field will be populated with the type of that trading account. required: - type AmlScreeningResult: type: object description: The result of the AML screening. properties: provider: type: string payload: type: object AuthorizationGroups: type: object properties: th: type: number example: 1 users: type: object additionalProperties: type: string enum: - PENDING_AUTHORIZATION - APPROVED - REJECTED - NA AuthorizationInfo: type: object description: >- The information about your [Transaction Authorization Policy (TAP).](https://developers.fireblocks.com/docs/capabilities#transaction-authorization-policy-tap) properties: allowOperatorAsAuthorizer: type: boolean logic: type: string enum: - AND - OR groups: type: array items: $ref: '#/components/schemas/AuthorizationGroups' TransactionResponseDestination: type: object properties: amount: type: string description: The amount to be sent to this destination. example: '0.2' amountUSD: type: string description: The USD value of the requested amount. example: '158' amlScreeningResult: $ref: '#/components/schemas/AmlScreeningResult' destination: $ref: '#/components/schemas/DestinationTransferPeerPathResponse' authorizationInfo: $ref: '#/components/schemas/AuthorizationInfo' AmountInfo: type: object description: The details of the requested amount to transfer. properties: amount: description: >- If the transfer is a withdrawal from an exchange, the actual amount that was requested to be transferred. Otherwise, the requested amount. type: string requestedAmount: description: The amount requested by the user. type: string netAmount: description: The net amount of the transaction, after fee deduction. type: string amountUSD: description: The USD value of the requested amount. type: string FeeInfo: type: object description: Details of the transaction fees. properties: networkFee: description: The fee paid to the network. type: string serviceFee: description: The total fee deducted by the exchange from the actual requested amount (serviceFee = amount - netAmount). type: string gasPrice: description: The amount of gas required by/paid to the network to process the transaction. type: string L1networkFee: description: Layer 1 network fee for Layer 2 blockchain transactions type: string L2networkFee: description: Layer 2 network fee (gas price component for Layer 2 transactions) type: string paidByRelay: description: Indicates whether the relay paid the fee. type: boolean relayType: description: Indicates whether the relay is the same tenant (`LOCAL`) or another tenant (`THIRD_PARTY`). type: string relayId: description: The Vault account ID of the relay. type: string relayName: description: The name of the tenant hosting the third-party relay. type: string feeUSD: type: string description: The USD equivalent value of the fee example: "0.00013" FeePayerInfo: type: object properties: feePayerAccountId: type: string description: The account ID of the fee payer example: "123" RewardInfo: type: object description: >- This field is relevant only for Algorand transactions. Both `srcRewards` and `destRewards` will appear only for Vault to Vault transactions, otherwise you will receive only the Fireblocks’ side of the transaction. properties: srcRewards: type: string destRewards: type: string NetworkRecord: type: object properties: source: $ref: '#/components/schemas/SourceTransferPeerPathResponse' destination: $ref: '#/components/schemas/DestinationTransferPeerPathResponse' txHash: type: string networkFee: type: string assetId: type: string x-fb-entity: asset netAmount: description: The net amount of the transaction, after fee deduction type: string isDropped: type: boolean type: type: string destinationAddress: type: string amountUSD: type: string rewardInfo: $ref: '#/components/schemas/RewardInfo' ComplianceScreeningResult: type: object properties: provider: type: string description: Screening Provider enum: - CHAINALYSIS - ELLIPTIC - CHAINALYSIS_V2 - ELLIPTIC_HOLISTIC - NONE payload: type: object description: | The payload of the screening result. - The payload is a JSON object that contains the screening result. - The payload is different for each screening provider. bypassReason: type: string description: Reason AML screening was bypassed enum: - MANUAL - UNSUPPORTED_ASSET - BYPASSED_FAILURE - UNSUPPORTED_ROUTE - PASSED_BY_POLICY - TIMED_OUT - BAD_CREDENTIALS - CONFIGURATION_ERROR - DROPPED_BY_BLOCKCHAIN - PROCESS_DISMISSED screeningStatus: type: string enum: - COMPLETED - PENDING - BYPASSED - FAILED - FROZEN timestamp: type: number format: date-time AmlRegistrationResult: type: object properties: provider: type: string success: type: boolean timestamp: type: number ComplianceResult: type: object description: The result of the Compliance AML/Travel Rule screening. properties: aml: type: object description: The end result of the AML screening. items: $ref: '#/components/schemas/ComplianceScreeningResult' tr: type: object description: The result of the Travel Rule screening. items: $ref: '#/components/schemas/ComplianceScreeningResult' amlList: type: array description: The list of all results of the AML screening. items: $ref: '#/components/schemas/ComplianceScreeningResult' status: type: string description: Status of compliance result screening. enum: - Started - AMLStarted - AMLCompleted - AMLFailed - AMLInBackground - TRStarted - TRCompleted - TRFailed - Completed - RegistrationStarted - AMLRegistrationStarted - AMLRegistrationCompleted - TRUpdateStarted - TRUpdateCompleted - UpdateCompleted - IncomingStarted - AMLIncomingStarted - AMLIncomingCompleted - AMLIncomingFailed - AMLIncomingInBackground - TRIncomingStarted - TRIncomingCompleted - TRIncomingFailed - IncomingCompleted amlRegistration: type: object description: The results of the AML address registration. items: $ref: '#/components/schemas/AmlRegistrationResult' MevProtection: description: | Choose the MEV protection provider. Currently only `default` available. type: string enum: - default NodeControls: description: | Configure special node requirements. - For routing transactions to a custom node, set the `type` to `NODE_ROUTER` and the `tag` to the pre-configured tag value. - For MEV protection, set only the `type` property to `MEV` (`tag` is not required at this stage). **Note:** This is a premium feature that should be enabled in your workspace. Please contact your Customer Success Manager or Fireblocks Support for more information. type: object properties: type: description: | `NODE_ROUTER` - used for transaction routing to a custom node `MEV` - used for transaction routing to a MEV protection provider type: string enum: - MEV - NODE_ROUTER tag: description: Should be used when type is `NODE_ROUTER` only type: string example: some_node_tag PreHash: type: object description: > The prehash object for ECDSA RAW signing requests. The prehash object contains the content to sign (the actual message in hex representation) and the hashing algorithm to use before signing. properties: content: type: string description: The prehashed content to sign on in hex representation. example: 48656c6c6f2046697265626c6f636b73210a hashAlgorithm: type: string description: >- The hashing algorithm to use in order to hash the content before the signature process enum: - SHA256 - KECCAK256 - SHA3 - BLAKE2 - DOUBLE_SHA256 required: - content - hashAlgorithm UnsignedMessage: type: object properties: preHash: $ref: '#/components/schemas/PreHash' content: description: | Content to sign on. - EIP-191: Requires a 32 byte-long string for ECDSA (hash of the actual message to sign) or any length for EdDSA, as prehashing is not required. - EIP-712: Requires an object specifying the structured data format, including `types`, `domain`, `primaryType`, and `message`. type: string example: ababababababababababababababababababbababababababbababababababab bip44addressIndex: description: BIP44 address index type: integer example: 0 bip44change: description: BIP44 change index type: number example: 0 derivationPath: type: array description: BIP44 full derivation path items: type: number example: - 44 - 60 - 0 - 0 - 0 type: type: string description: > Typed Message Signing - message type. - EIP191 & EIP712: for ETH and all EVM based assets typed message signing - TIP191: For Tron (TRX) typed message signing - BTC_MESSAGE: For Bitcoin (BTC) typed message signing enum: - EIP191 - EIP712 - TIP191 - BTC_MESSAGE required: - content ExtraParameters: type: object properties: nodeControls: $ref: '#/components/schemas/NodeControls' rawMessageData: type: object properties: messages: type: array items: $ref: '#/components/schemas/UnsignedMessage' algorithm: type: string enum: - MPC_ECDSA_SECP256K1 - MPC_ECDSA_SECP256R1 - MPC_EDDSA_ED25519 description: >- Object containing messages for raw signing and the algorithm to be used. contractCallData: type: string description: Hex encoded contract call data as a string. example: >- 0xa9059cbb000000000000000000000000c7f14c1161a5427137b232c077ecdbd1f881c02900000000000000000000000000000000000000000000000000000000a05e0722 programCallData: type: string description: BASE64 encoded Solana unsigned serialized transaction object. example: | "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAECnckDh7gOELSNx5pD92oS2ijhbUvjg0vuo/8tthsbvDi7gZJWA3XnqGrMfSlASBHSPx9i0WEmM065fw4GxrdeYpuUVNx1/Pp2gbwoJC0Pd60uzHOU3EJx13JWL6R34Jt4AQEAAA==" inputsSelection: type: object properties: inputsToSpend: type: array items: $ref: '#/components/schemas/UnspentInput' description: Inputs that should be used in the transaction. inputsToExclude: type: array items: $ref: '#/components/schemas/UnspentInput' description: Inputs that shouldn't be used in the transaction. description: >- For UTXO based blockchains, selections of inputs for the transaction. allowBaseAssetAddress: type: boolean default: false description: | Transfers to unmanaged wallets only. When true, if the destination doesn't have a whitelisted address for the requested asset, we'll use the destination's whitelisted address of the base asset (e.g., use the ETH address for an ERC-20). If the requested asset's whitelisted address exists, it is used. **Note:** This is a premium feature that should be enabled in your workspace. Please contact your Customer Success Manager or Fireblocks Support for more information. description: | Additional protocol and operation-specific key-value parameters: - For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set to the [input selection structure](https://developers.fireblocks.com/reference/transaction-objects#inputsselection). The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint](https://developers.fireblocks.com/reference/get_vault-accounts-vaultaccountid-assetid-unspent-inputs). - For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata). - For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. - For exchange compliance (e.g., Binance) and Travel Rule purposes, include the key `piiData` containing a custom JSON structure with Personally Identifiable Information (PII) relevant to the transaction. This data must be **fully encrypted by the sender** before being submitted to the Fireblocks API. The recommended encryption method is hybrid encryption using AES-256-GCM for the payload and RSA-OAEP for key exchange, with the recipient exchange's public key. Learn more [here](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks). **Note:** `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call. SignedMessage: type: object description: Signed Message Object (for RAW signing responses) properties: content: type: string example: some_content algorithm: type: string enum: - MPC_ECDSA_SECP256K1 - MPC_ECDSA_SECP256R1 - MPC_EDDSA_ED25519 derivationPath: type: array items: minItems: 5 maxItems: 5 type: number example: - 44 - 0 - 60 - 0 - 0 signature: type: object properties: fullSig: description: R + S values concatenated type: string example: >- c8ab06c7c3447ac8f594a643d5942ceb2451b9434bb29c4b1a40da5cf32403002bfba73d825b240f2e2949df139c2f3e26e6cdd36579eb1a0cbd4abc4e6e348a r: type: string example: c8ab06c7c3447ac8f594a643d5942ceb2451b9434bb29c4b1a40da5cf3240300 s: type: string example: 2bfba73d825b240f2e2949df139c2f3e26e6cdd36579eb1a0cbd4abc4e6e348a v: type: number enum: - 0 - 1 publicKey: type: string example: 03af66c4551559d54bfbfd14c84870a337b06bf2738ed6427480ec56ee551c7458 SignedMessages: type: array description: An array of signed messages items: $ref: '#/components/schemas/SignedMessage' BlockInfo: type: object description: >- The block hash and height of the block that this transaction was mined in. **Note**: If an outgoing transaction uses the destinations object with more than one value in the array, blockHash is set to null. properties: blockHeight: type: string example: '19953257' blockHash: type: string nullable: true example: '0x1fdc0bc79a07387fa0de794142ead16f26edd9b5c66480139c2c37c422a3935e' SystemMessageInfo: type: object properties: type: type: string enum: - WARN - BLOCK message: type: string description: >- A response from Fireblocks that communicates a message about the health of the process being performed. If this object is returned with data, you should expect potential delays or incomplete transaction statuses. example: Slow transaction processing. Outgoing transactions might be stuck. TransactionResponse: type: object properties: id: type: string description: Fireblocks Transaction ID example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 externalTxId: type: string description: >- Unique external transaction identifier provided by the user. Used to help prevent duplicate transactions. example: my_unique_external_tx_id status: $ref: '#/components/schemas/TransactionStatus' subStatus: $ref: '#/components/schemas/TransactionSubStatus' txHash: type: string example: 0f47094cde3fcc168ed97365a7cb3996ad5706fff03e7403e74ffd7a922025d4 description: |- The hash of the transaction on the blockchain. * This parameter exists if at least one of the following conditions is met: 1. The transaction’s source type is `UNKNOWN`, `WHITELISTED_ADDRESS`, `NETWORK_CONNECTION`, `ONE_TIME_ADDRESS`, `FIAT_ACCOUNT` or `GAS_STATION`. 2. The transaction’s source type is `VAULT` and the status is either: `CONFIRMING`, `COMPLETED`, or was in any of these statuses prior to changing to `FAILED` or `REJECTED`. In some instances, transactions in status `BROADCASTING` will include the txHash as well. 3. The transaction’s source type is `EXCHANGE_ACCOUNT` and the transaction’s destination type is `VAULT`, and the status is either: `CONFIRMING`, `COMPLETED`, or was in any of these status prior to changing to `FAILED`. * In addition, the following conditions must be met: 1. The asset is a crypto asset (not fiat). 2. The transaction operation is not `RAW` or `TYPED_MESSAGE`. operation: $ref: '#/components/schemas/GetTransactionOperation' note: type: string description: >- Custom note, not sent to the blockchain, that describes the transaction at your Fireblocks workspace. example: My Transcation Note blockchainInfo: type: object description: | A JSON used to store additional blockchain-specific data. **Example:** In HBAR, this property will have the txHash in addition to the txID. assetId: type: string description: >- The ID of the asset for `TRANSFER`, `MINT`, `BURN`, `ENABLE_ASSET`,`STAKE` ,`UNSTAKE` or `WITHDRAW` operations. See the [list of supported assets and their IDs on Fireblocks](https://developers.fireblocks.com/reference/getsupportedassets). x-fb-entity: asset example: BTC assetType: type: string description: Type classification of the asset example: "ERC20" source: $ref: '#/components/schemas/SourceTransferPeerPathResponse' sourceAddress: type: string description: >- For account based assets only, the source address of the transaction. **Note:** If the status is `CONFIRMING`, `COMPLETED`, or has been `CONFIRMING`; then moved forward to `FAILED` or `REJECTED`, then this parameter will contain the source address. In any other case, this parameter will be empty. example: bc1qjhm0h7vhdyu0d0luv34dlz654rmsvg8twywk99 tag: type: string description: >- Source address tag for Tag/Memo supporting assets, or Bank Transfer Description for the fiat provider BLINC (by BCB Group). example: '247016305' deprecated: true destination: $ref: '#/components/schemas/DestinationTransferPeerPathResponse' destinations: type: array description: >- The transaction’s destinations. **Note:** In case the transaction is sent to a single destination, the `destination` parameter is used instead of this. items: $ref: '#/components/schemas/TransactionResponseDestination' destinationAddress: type: string example: bc1qzfstugu9fn0hq4dv0xhzyw2p2h9mapdery324e description: |- Address where the asset were transferred. Notes: - For [Multi destination transactions](https://support.fireblocks.io/hc/en-us/articles/360018447980-Multi-destination-transactions), this parameter will be empty. In this case, you should refer to the destinations field. - If the status is `CONFIRMING`, `COMPLETED`, or has been `CONFIRMING`; then moved forward to `FAILED` or `REJECTED`, then this parameter will contain the destination address. In any other case, this parameter will be empty. destinationAddressDescription: type: string description: Description of the destination address. example: some_description destinationTag: type: string example: '4274981917' description: >- Destination address tag for Tag/Memo supporting assets, or Bank Transfer Description for the fiat provider BLINC (by BCB Group). contractCallDecodedData: description: Decoded data for `CONTRACT_CALL` operations. type: object properties: contractName: type: string functionCalls: type: array items: type: object amountInfo: $ref: '#/components/schemas/AmountInfo' treatAsGrossAmount: type: boolean description: >- For transactions initiated via this Fireblocks workspace, when set to `true`, the fee is deducted from the requested amount. **Note:** This parameter can only be considered if a transaction's asset is a base asset, such as ETH or MATIC. If the asset can't be used for transaction fees, like USDC, this parameter is ignored and the fee is deducted from the relevant base asset wallet in the source account. feeInfo: $ref: '#/components/schemas/FeeInfo' feeCurrency: type: string description: >- The asset which was withdrawn to pay the transaction fee, for example ETH for EVM-based blockchains, BTC for Tether Omni. example: ETH networkRecords: type: array description: >- In case a single transaction resulted with multiple transfers, for example a result of a contract call, then this parameter specifies each transfer that took place on the blockchain. items: $ref: '#/components/schemas/NetworkRecord' createdAt: type: number description: The transaction’s creation date and time, in unix timestamp. example: 1716727963121 lastUpdated: type: number description: The transaction’s last update date and time, in unix timestamp. example: 1716727961121 createdBy: type: string description: User ID of the initiator of the transaction. example: 106d86fd-cd76-4554-a3e5-73df10281937 signedBy: type: array description: User ID’s of the signers of the transaction. items: type: string example: 106d86fd-cd76-4554-a3e5-73df10281937 rejectedBy: type: string example: c0c1abde-68ed-44bb-8848-6187b22f2442 description: >- User ID of the user that rejected the transaction (in case it was rejected). authorizationInfo: $ref: '#/components/schemas/AuthorizationInfo' exchangeTxId: type: string description: >- If the transaction originated from an exchange, this is the ID of this transaction at the exchange. customerRefId: type: string example: some_reference description: >- The ID for AML providers to associate the owner of funds with transactions. amlScreeningResult: $ref: '#/components/schemas/AmlScreeningResult' complianceResult: $ref: '#/components/schemas/ComplianceResult' notBroadcastByFireblocks: type: boolean description: Indicates the transaction was not broadcast by Fireblocks example: false dappUrl: type: string description: dApp URL for Web3 transactions example: "https://app.uniswap.org/" gasLimit: type: string description: Gas limit for EVM-based blockchain transactions example: "21000" blockchainIndex: type: string description: Blockchain-specific index or identifier for the transaction example: "1.1.1" paidRent: type: string description: Solana rent payment amount example: "0.00203928" extraParameters: $ref: '#/components/schemas/ExtraParameters' signedMessages: $ref: '#/components/schemas/SignedMessages' numOfConfirmations: type: number example: 10 description: >- The number of confirmations of the transaction. The number will increase until the transaction will be considered completed according to the confirmation policy. blockInfo: $ref: '#/components/schemas/BlockInfo' index: type: number example: 0 description: >- For UTXO based assets this is the vOut, for Ethereum based, this is the index of the event of the contract call. **Note:** This field is not returned if a transaction uses the `destinations` object with more than one value. rewardInfo: $ref: '#/components/schemas/RewardInfo' feePayerInfo: $ref: '#/components/schemas/FeePayerInfo' systemMessages: $ref: '#/components/schemas/SystemMessageInfo' addressType: type: string enum: - '' - WHITELISTED - ONE_TIME requestedAmount: description: >- The amount requested by the user. Deprecated - please use the `amountInfo` field for accuracy. type: number deprecated: true amount: description: >- If the transfer is a withdrawal from an exchange, the actual amount that was requested to be transferred. Otherwise, the requested amount. Deprecated - please use the `amountInfo` field for accuracy. type: number deprecated: true netAmount: description: >- The net amount of the transaction, after fee deduction. Deprecated - please use the `amountInfo` field for accuracy. type: number deprecated: true amountUSD: description: >- The USD value of the requested amount. Deprecated - please use the `amountInfo` field for accuracy. type: number nullable: true deprecated: true serviceFee: description: >- The total fee deducted by the exchange from the actual requested amount (`serviceFee` = `amount` - `netAmount`). Deprecated - please use the `feeInfo` field for accuracy. type: number deprecated: true fee: description: Deprecated - please use the `feeInfo` field for accuracy. type: number deprecated: true networkFee: description: >- The fee paid to the network. Deprecated - please use the `feeInfo` field for accuracy. type: number deprecated: true errorDescription: description: >- The transaction's revert reason. This field will be returned when `subStatus` = 'SMART_CONTRACT_EXECUTION_FAILED'. type: string example: Some error returned by the contract replacedTxByHash: type: string description: >- If the transaction is a Replace-By-Fee (RBF) transaction, this is the hash of the transaction that was replaced. nonce: type: string description: Blockchain nonce for the transaction GetTransactionsResponse: type: array items: $ref: '#/components/schemas/TransactionResponse' TransactionOperation: type: string default: TRANSFER enum: - TRANSFER - BURN - CONTRACT_CALL - MINT - RAW - TYPED_MESSAGE - PROGRAM_CALL description: > * `TRANSFER` - The default value for an operation. Transfers funds from one account to another. UTXO blockchains allow multi-input and multi-output transfers. All other blockchains allow transfers with one source address and one destination address. * `MINT` - Mints new tokens. Supported for Stellar, Ripple and EVM-based blockchains. * `BURN` - Burns tokens. Supported for Stellar, Ripple and EVM-based blockchains. * `CONTRACT_CALL` - Calls a smart contract method for web3 operations on any EVM blockchain. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions. * `PROGRAM_CALL` - Calls a smart contract for web3 operations on the Solana blockchain. Read more in the [Solana Programs Interactions guide](https://developers.fireblocks.com/reference/interact-with-solana-programs). * `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable messages that are not actual transactions. [Learn more about typed messages](https://developers.fireblocks.com/docs/typed-message-signing-1). * `RAW` - An off-chain message with no predefined format. Use it to sign any message with your private key, including protocols such as blockchains and custom transaction types that are not natively supported by Fireblocks. [Learn more about raw signing transactions.](https://developers.fireblocks.com/docs/raw-signing) TransferPeerPathSubType: type: string enum: - BINANCE - BINANCEUS - BITFINEX - BITHUMB - BITMEX - BITSO - BITSTAMP - BITTREX - BLINC - BULLISHEXCHANGE - BYBIT - CIRCLE - COINBASEEXCHANGE - COINBASEPRO - COINMETRO - COINSPRO - CRYPTOCOM - DERIBIT - GEMINI - HITBTC - HUOBI - INDEPENDENTRESERVE - KORBIT - KRAKEN - KRAKENINTL - KUCOIN - LIQUID - OKCOIN - OKEX - PAXOS - POLONIEX - External - Internal SourceTransferPeerPath: type: object description: The source of the transaction. properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: $ref: '#/components/schemas/TransferPeerPathSubType' id: type: string name: type: string walletId: type: string format: uuid isCollateral: type: boolean description: Indicates whether the source is a collateral account example: true required: - type OneTimeAddress: type: object properties: address: type: string tag: type: string required: - address DestinationTransferPeerPath: type: object description: The destination of the transaction. properties: type: $ref: '#/components/schemas/TransferPeerPathType' subType: $ref: '#/components/schemas/TransferPeerPathSubType' id: type: string name: type: string walletId: type: string format: uuid oneTimeAddress: $ref: '#/components/schemas/OneTimeAddress' isCollateral: type: boolean description: Indicates whether the destination is a collateral account example: true required: - type TransactionRequestDestination: type: object properties: amount: type: string destination: $ref: '#/components/schemas/DestinationTransferPeerPath' TravelRulePiiIVMS: type: object properties: originatorPersons: type: array description: Information about the originator of the transaction items: $ref: '#/components/schemas/TravelRulePersons' beneficiaryPersons: type: array description: Information about the beneficiary of the transaction items: $ref: '#/components/schemas/TravelRulePersons' accountNumber: type: array description: Beneficiary account number. The value must be encrypted. items: type: string example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt TravelRuleTransactionBlockchainInfo: type: object properties: txHash: type: string description: The hash of the transaction example: 0x93cfe544ad47a2dca2232e9dd5b73d37287efbf8554184d841e0b2e7dc1628aa origin: type: string description: The origin address of the transaction example: 0x9355Af3563C29bc7c4839811d74B1B223eEbC513 destination: type: string description: The destination address of the transaction example: 0x9355Af3563C29bc7c4839811d74B1B223eEbC513 TravelRuleOwnershipProof: type: object properties: type: type: string description: >- The type of ownership proof. Example values: - `eip-191`: Ethereum signature proof - `eip-712`: Ethereum typed data signature proof - `bip-137`: Bitcoin signature proof - `microtransfer`: Microtransaction (Satoshi test) - `screenshot`: Uploaded screenshot of the wallet - `self-declaration`: Checkbox attestation of ownership example: eip-191 proof: type: string description: >- The cryptographic signature, transaction hash, or other proof depending on the type. Examples: - For `eip-191`: `0x3dd4a17a...ce4a2bcd1b` - For `microtransfer`: The transaction hash `H3V8GXBy39Dz...tr3TSTkY=` example: "0x3dd4a17a...ce4a2bcd1b" attestation: type: string description: >- A human-readable statement of wallet ownership. Required for signature proofs and self-declarations. Examples: - `I certify that ETH account 0x896B...0b9b belongs to me.` - `I hereby declare that the blockchain address 0xa437bEed902AF9338B7DEB23848e195d85019510 is under my control.` example: "I certify that ETH account 0x896B...0b9b belongs to me." address: type: string description: >- The wallet address being verified. Examples: - For Ethereum: `0x896B...0b9b` - For Bitcoin: `1442...dxhsQ` example: "0x896B...0b9b" wallet_provider: type: string description: >- The wallet provider or method used for verification. Examples: - For Metamask: `Metamask` - For manual signature: `manual` example: "Metamask" url: type: string description: >- The URL for the uploaded screenshot (for `screenshot` proof types only). Example: `https://example.com/uploaded_image.png` example: "https://example.com/uploaded_image.png" confirmed: type: boolean description: >- Whether the user confirmed ownership of the wallet (for `self-declaration` proofs). Example: `true` example: true TravelRulePerson: type: object properties: naturalPerson: type: object allOf: - $ref: '#/components/schemas/TravelRuleNaturalPerson' legalPerson: type: object allOf: - $ref: '#/components/schemas/TravelRuleLegalPerson' TravelRulePersons: type: object allOf: - $ref: '#/components/schemas/TravelRulePerson' TravelRuleCreateTransactionRequest: type: object properties: originatorVASPdid: type: string description: >- The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. example: "did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2" beneficiaryVASPdid: type: string description: >- The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. example: "did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6" originatorVASPname: type: string description: The name of the VASP acting as the transaction originator. example: Originator VASP Ltd. beneficiaryVASPname: type: string description: The name of the VASP acting as the transaction beneficiary. example: Beneficiary VASP Inc. beneficiaryVASPwebsite: type: string description: The website of the VASP acting as the transaction beneficiary. example: https://www.beneficiaryvasp.com transactionBlockchainInfo: description: Information about the blockchain transaction. allOf: - $ref: '#/components/schemas/TravelRuleTransactionBlockchainInfo' originator: description: Information about the originator of the transaction. allOf: - $ref: '#/components/schemas/TravelRulePiiIVMS' beneficiary: description: Information about the beneficiary of the transaction. allOf: - $ref: '#/components/schemas/TravelRulePiiIVMS' encrypted: type: string description: Encrypted data related to the transaction. example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... protocol: type: string description: The protocol used to perform the travel rule. example: IVMS101 skipBeneficiaryDataValidation: type: boolean description: Whether to skip validation of beneficiary data. example: false travelRuleBehavior: type: boolean description: >- Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction. example: true originatorRef: type: string description: A reference ID related to the originator of the transaction. example: ORG123456 beneficiaryRef: type: string description: A reference ID related to the beneficiary of the transaction. example: BEN654321 travelRuleBehaviorRef: type: string description: A reference ID related to the travel rule behavior. example: TRB987654 originatorProof: description: Ownership proof related to the originator of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleOwnershipProof' beneficiaryProof: description: Ownership proof related to the beneficiary of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleOwnershipProof' beneficiaryDid: type: string description: >- The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier is generated when the customer is registered in the Notabene network, or automatically created based on the `beneficiaryRef`. - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. example: "did:key:z6Mkf67890Zghijkl67890" originatorDid: type: string description: >- The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the `originatorRef`. - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. example: "did:key:z6Mkf12345Zabcdef12345" isNonCustodial: type: boolean description: Indicates if the transaction involves a non-custodial wallet. example: true required: - originator - beneficiary TravelRuleDateAndPlaceOfBirth: type: object description: Represents the date and place of birth for a natural person properties: dateOfBirth: type: string description: Date of birth. The value must be encrypted. example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt placeOfBirth: type: string description: Place of birth. The value must be encrypted. example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt TravelRuleLegalPersonNameIdentifier: type: object properties: legalPersonName: type: string description: Name by which the legal person is known. The value must be encrypted. example: QmVXXj5BJchhqQTU27uEkeghYMnxR6aVjZxJP9jS6uCg9Q legalPersonNameIdentifierType: type: string description: >- Specifies the type of name for a legal person. Acceptable values are: - 'REGISTERED': The official registered name. - 'TRADE': A trading name or DBA (Doing Business As) name. - 'OTHER': Any other type of name. The value must be encrypted. example: QmPevsa5xdkxf6Lgt7f9YweRBdgseeAkWVaYyssKF3Q86e TravelRuleNationalIdentification: type: object description: Represents a national identifier for a person or entity properties: countryOfIssue: type: string description: Country that issued the national identifier (ISO-3166 Alpha-2 country code). The value must be encrypted. example: QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm nationalIdentifier: type: string description: National identifier (max 35 characters). The value must be encrypted. example: QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z nationalIdentifierType: type: string description: >- Type of national identifier. Acceptable values include: - 'PASSPORT': Passport number - 'NATIONAL_ID': National identification number - 'TAX_ID': Tax identification number - 'SOCIAL_SECURITY': Social security number The value must be encrypted. example: QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi registrationAuthority: type: string description: Registration authority (format -> RA followed by 6 digits). The value must be encrypted. example: QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk TravelRuleNaturalPerson: type: object properties: name: type: array items: $ref: '#/components/schemas/TravelRuleNaturalPersonNameIdentifier' description: >- An array of structured name identifiers for the natural person, referencing the TravelRuleNaturalPersonNameIdentifier schema. geographicAddress: type: array items: $ref: '#/components/schemas/TravelRuleGeographicAddress' description: >- An array of geographic addresses associated with the natural person, referencing the TravelRuleGeographicAddress schema. nationalIdentification: allOf: - $ref: '#/components/schemas/TravelRuleNationalIdentification' description: >- The national identification of the natural person, referencing the TravelRuleNationalIdentification schema. dateAndPlaceOfBirth: allOf: - $ref: '#/components/schemas/TravelRuleDateAndPlaceOfBirth' description: >- The date and place of birth of the natural person, referencing the TravelRuleDateAndPlaceOfBirth schema. customerIdentification: type: string description: >- A unique identifier for the customer within the organization's context. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj countryOfResidence: type: string description: >- The ISO-3166 Alpha-2 country code of the natural person's residence. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj customerNumber: type: string description: >- A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj TravelRuleNaturalPersonNameIdentifier: type: object properties: nameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleNaturalNameIdentifier' localNameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleNaturalNameIdentifier' phoneticNameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleNaturalNameIdentifier' TravelRuleNaturalNameIdentifier: type: object properties: primaryIdentifier: type: string description: The primary identifier of the name. The value must be encrypted. example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv secondaryIdentifier: type: string description: The secondary identifier of the name. The value must be encrypted. example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv nameIdentifierType: type: string description: >- The type of the name identifier. The value must be encrypted. The value must be one of the following: [LEGL, DBA, TRAD, NICK, ALIA, MAID, FORM, PREV, BORN, OTHR]. example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv TravelRuleLegalPerson: type: object properties: name: type: object allOf: - $ref: '#/components/schemas/TravelRuleLegalPersonNameIdentifier' description: The structured name of the legal person, referencing name identifiers. geographicAddress: type: array items: $ref: '#/components/schemas/TravelRuleGeographicAddress' description: The array of geographic addresses associated with the legal person. nationalIdentification: $ref: '#/components/schemas/TravelRuleNationalIdentification' customerIdentification: type: string description: >- A unique identifier that identifies the customer in the organization's context. The value must be encrypted. example: QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy customerNumber: type: string description: >- A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted. example: QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8 countryOfRegistration: type: string description: >- The ISO-3166 Alpha-2 country code where the legal person is registered. The value must be encrypted. example: QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr TravelRuleGeographicAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare. The value must be encrypted. example: QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9 townName: type: string description: Name of a built-up area, with defined boundaries, and a local government. The value must be encrypted. example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt country: type: string description: Nation with its own government (ISO-3166 Alpha-2 country code). The value must be encrypted. example: QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm buildingNumber: type: string description: Number that identifies the position of a building on a street. The value must be encrypted. example: QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP postCode: type: string description: Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail. The value must be encrypted. example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj addressType: type: string description: >- Specifies the type of address. Acceptable values are: - 'HOME': Residential, the home address - 'BIZZ': Business, the business address - 'GEOG': Geographic, an unspecified physical (geographical) address The value must be encrypted. example: Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H department: type: string description: Identification of a division of a large organisation or building. The value must be encrypted. example: QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8 subDepartment: type: string description: Identification of a sub-division of a large organisation or building. The value must be encrypted. example: QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s buildingName: type: string description: Name of the building or house. The value must be encrypted. example: QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9 floor: type: string description: Floor or storey within a building. The value must be encrypted. example: QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1 postBox: type: string description: Numbered box in a post office. The value must be encrypted. example: QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ room: type: string description: Building room number. The value must be encrypted. example: QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ townLocationName: type: string description: Specific location name within the town. The value must be encrypted. example: QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm districtName: type: string description: Identifies a subdivision within a country subdivision. The value must be encrypted. example: QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy countrySubDivision: type: string description: Identifies a subdivision of a country, such as a state, region, or province. The value must be encrypted. example: QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C addressLine: type: array items: type: string description: Information that locates and identifies a specific address, presented in free-format text. Each item must be encrypted. example: - QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT TransactionRequest: type: object properties: operation: $ref: '#/components/schemas/TransactionOperation' note: type: string description: Custom note, not sent to the blockchain, to describe the transaction at your Fireblocks workspace. example: Ticket 123 externalTxId: type: string description: | Allows you to add a unique ID to help prevent duplicate transactions. No specific format is required for this parameter. After you submit a transaction with an external ID, Fireblocks will automatically reject all future transactions with the same ID. - Using an external ID primarily helps in situations where, even though a submitted transaction responds with an error due to an internet outage, the transaction was still sent to and processed on the blockchain. - Use [Get a specific transaction by external transaction ID](https://developers.fireblocks.com/reference/gettransactionbyexternalid) to validate whether these transactions have been processed. example: some_unique_external_tx_id assetId: type: string description: The ID of the asset to transfer; used for `TRANSFER`, `MINT`, or `BURN` operations. See [the list of supported assets and their IDs](https://developers.fireblocks.com/reference/listassets). x-fb-entity: asset example: ETH source: $ref: '#/components/schemas/SourceTransferPeerPath' destination: $ref: '#/components/schemas/DestinationTransferPeerPath' destinations: type: array description: >- For UTXO based blockchains, you can send a single transaction to multiple destinations. items: $ref: '#/components/schemas/TransactionRequestDestination' amount: description: >- For `TRANSFER` operations, the requested amount to transfer, in the asset’s unit. Fireblocks recommends using a numeric string for accurate precision. Although a number input exists, it is deprecated. oneOf: - type: string description: Numeric string (recommended) example: '0.02' - type: number description: Number (deprecated) example: 0.02 treatAsGrossAmount: type: boolean description: >- "When set to `true`, the fee will be deducted from the requested amount." **Note**: This parameter can only be considered if a transaction’s asset is a base asset, such as ETH or MATIC. If the asset can’t be used for transaction fees, like USDC, this parameter is ignored and the fee is deducted from the relevant base asset wallet in the source account. example: false forceSweep: type: boolean description: >- For Polkadot, TON, Kusama and Westend transactions only. When set to true, Fireblocks will empty the asset wallet. **Note:** If set to true when the source account is exactly 1 DOT, the transaction will fail. Any amount more or less than 1 DOT succeeds. This is a Polkadot blockchain limitation. example: false feeLevel: type: string description: >- For UTXO or EVM-based blockchains only. Defines the blockchain fee level which will be payed for the transaction. Alternatively, specific fee estimation parameters exist below. enum: - LOW - MEDIUM - HIGH example: MEDIUM fee: description: | - **For UTXO-based blockchains**, the fee per bytes in the asset's smallest unit (Satoshi, Latoshi, etc.). - **For Ripple**, the fee for the transaction. Note: - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) priorityFee: description: | **For Ethereum-based blockchains only.** The fee (in Gwei) for EIP-1559 transaction pricing mechanism. Note: - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. oneOf: - type: string description: Numeric string (recommended) example: '2' - type: number description: Number (deprecated) example: 2 failOnLowFee: type: boolean description: >- When set to `true`, in case the current `MEDIUM` fee level is higher than the one specified in the transaction, the transaction will fail to avoid getting stuck with no confirmations. maxFee: description: >- The maximum fee (gas price or fee per byte) that should be paid for the transaction. In case the current value of the requested `feeLevel` is higher than this requested maximum fee. Represented by a numeric string for more precision. type: string example: '120' gasLimit: description: | **For EVM-based blockchains only.** Units of gas required to process the transaction. Notes: - Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`. - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. oneOf: - type: string description: Numeric string (recommended) example: '21000' - type: number description: Number (deprecated) example: 21000 gasPrice: description: | **For non-EIP-1559, EVM-based transactions.** Price per gas unit. In Ethereum, this is specified in Gwei. Notes: - Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`. - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) networkFee: description: | The total transaction fee in the blockchain's largest unit. Notes: - Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`. - Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) replaceTxByHash: type: string description: | **For EVM-based blockchains only.** Notes: - To replace a transaction, create another transaction using the stuck transaction's hash and specify a higher fee. - To drop a transaction, create another transaction using the stuck transaction's hash and change the `amount` field to 0. example: 00000000-0000-0000-0000-000000000000 extraParameters: $ref: '#/components/schemas/ExtraParameters' customerRefId: type: string description: >- The ID for AML providers to associate the owner of funds with transactions. example: abcdef travelRuleMessage: $ref: '#/components/schemas/TravelRuleCreateTransactionRequest' autoStaking: type: boolean description: This feature is no longer supported. deprecated: true networkStaking: deprecated: true description: This feature is no longer supported. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) cpuStaking: deprecated: true description: This feature is no longer supported. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) useGasless: type: boolean description: '- Override the default gasless configuration by sending true\false' CreateTransactionResponse: type: object properties: id: type: string description: Unique Fireblocks identifier of the transaction status: type: string description: >- The primary status of the transaction. For details, see [Primary transaction statuses.] (https://developers.fireblocks.com/reference/primary-transaction-statuses) systemMessages: $ref: '#/components/schemas/SystemMessageInfo' TransactionFee: type: object properties: gasLimit: example: '21000' description: Gas limit value for EVM based networks type: string feePerByte: description: The fee per byte value for UTXO based assets type: string example: '21.6' gasPrice: description: Gas price in gwei units for EVM based networks type: string example: '32' networkFee: description: The full network fee price type: string example: '0.0001' baseFee: description: (optional) Base Fee according to EIP-1559 (ETH assets) type: string example: '10' priorityFee: description: (optional) Priority Fee according to EIP-1559 (ETH assets) type: string example: '22' maxFeePerGasDelta: description: Max Fee Per Gas Delta added only for EIP-1559 (ETH assets) type: string example: '31' l1Fee: description: Layer 1 fee for Layer 2 chains type: string example: '0' EstimatedTransactionFeeResponse: type: object properties: low: $ref: '#/components/schemas/TransactionFee' medium: $ref: '#/components/schemas/TransactionFee' high: $ref: '#/components/schemas/TransactionFee' feeDetails: $ref: '#/components/schemas/EstimatedFeeDetails' required: - low - medium - high EstimatedFeeDetails: type: object description: Optional detailed fee breakdown for high/medium/low estimates properties: low: $ref: '#/components/schemas/FeeBreakdown' medium: $ref: '#/components/schemas/FeeBreakdown' high: $ref: '#/components/schemas/FeeBreakdown' FeeBreakdown: oneOf: - type: object description: Solana-specific fee breakdown properties: baseFee: type: string description: Base fee for Solana transaction priorityFee: type: string description: Priority fee for Solana transaction rent: type: string description: Rent fee for Solana account creation/storage totalFee: type: string description: Total fee amount - type: object description: Generic fee breakdown for other blockchains properties: baseFee: type: string description: Base fee component priorityFee: type: string description: Priority fee component totalFee: type: string description: Total fee amount SetConfirmationsThresholdRequest: type: object properties: numOfConfirmations: type: number example: 50 SetConfirmationsThresholdResponse: type: object properties: success: type: boolean transactions: type: array description: An array of the affected Fireblocks Transaction IDs items: type: string example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 DropTransactionRequest: type: object properties: txId: type: string description: Fireblocks Transaction ID example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 feeLevel: type: string description: Transcation Fee Level enum: - LOW - MEDIUM - HIGH gasPrice: type: string description: Transaction Gas Price in gwei example: '10' DropTransactionResponse: type: object properties: txStatus: type: string txId: type: string replacedTxHash: type: string CancelTransactionResponse: type: object properties: success: type: boolean FreezeTransactionResponse: type: object properties: success: type: boolean UnfreezeTransactionResponse: type: object properties: success: type: boolean ValidateAddressResponse: type: object properties: isValid: type: boolean isActive: type: boolean requiresTag: type: boolean NetworkFee: type: object properties: feePerByte: description: The fee per byte value for UTXO based assets type: string example: '21.6' gasPrice: description: Gas price in gwei units for EVM based networks type: string example: '32' networkFee: description: >- The full network fee for non EVM and UTXO based assets (in the base asset units) type: string example: '0.0001' baseFee: description: (optional) Base Fee according to EIP-1559 (ETH assets) type: string example: '10' priorityFee: description: (optional) Priority Fee according to EIP-1559 (ETH assets) type: string example: '22' RescanTransaction: type: object properties: txHash: type: string example: '0x2446f1fd773fbb9f080e674b60c6a033c7ed7427b8b9413cf28a2a4a6da9b56c' description: Blockchain TX hash assetId: type: string example: BTC description: Asset symbol BTC,ETH) x-fb-entity: asset RescanTransactionRequest: type: array items: $ref: '#/components/schemas/RescanTransaction' ValidatedTransactionsForRescan: type: object properties: baseAsset: type: string description: Base asset symbol BTC_TEST, ETH_TEST5) x-fb-entity: asset networkProtocol: type: string description: Netowrk protocol of the blockchain (BTC, ETH) txHashes: type: array example: '[''0x7b8b9413cf28a2a4a6da9b56c'']' description: Blockchain TX hashes items: type: string ValidatedTransactionsForRescanResponse: type: array items: $ref: '#/components/schemas/ValidatedTransactionsForRescan' EstimatedNetworkFeeResponse: type: object properties: low: $ref: '#/components/schemas/NetworkFee' medium: $ref: '#/components/schemas/NetworkFee' high: $ref: '#/components/schemas/NetworkFee' required: - low - medium - high PaymentAccountType: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - FIAT_ACCOUNT PaymentAccount: type: object properties: id: type: string type: $ref: '#/components/schemas/PaymentAccountType' required: - id - type PayeeAccountType: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - INTERNAL_WALLET - EXTERNAL_WALLET - NETWORK_CONNECTION - FIAT_ACCOUNT description: "- VAULT_ACCOUNT \ta native Fireblocks vault account\n- EXCHANGE_ACCOUNT \ta third-party exchange account\n- INTERNAL_WALLET \ta whitelisted address marked as internal to the workspace/organization\n- EXTERNAL_WALLET\ta whitelisted address marked as external\n- NETWORK_CONNECTION\ta member of the Fireblocks network\n- FIAT_ACCOUNT\ta third-party account of a fiat bank (Signature, BCB, etc)\n" PayeeAccount: type: object properties: id: type: string type: $ref: '#/components/schemas/PayeeAccountType' required: - id - type InstructionAmount: type: object properties: amount: description: The amount as string type: string example: '20' assetId: description: Unique asset identifier type: string example: ETH required: - amount - assetId PayoutInstruction: type: object properties: id: type: string payeeAccount: $ref: '#/components/schemas/PayeeAccount' amount: $ref: '#/components/schemas/InstructionAmount' required: - amount - payeeAccount CreatePayoutRequest: type: object properties: paymentAccount: $ref: '#/components/schemas/PaymentAccount' instructionSet: type: array items: $ref: '#/components/schemas/PayoutInstruction' required: - paymentAccount - instructionSet PaymentAccountResponse: type: object properties: id: type: string type: $ref: '#/components/schemas/PaymentAccountType' PayoutState: type: string enum: - CREATED - FILE_FOUND - REQUESTED - TRANSLATED - PROCESSING - SUBMITTED - FINALIZED - INSUFFICIENT_BALANCE - FAILED description: > - CREATED - payout instruction set created with all its details - FILE_FOUND - new file found in the FTP - REQUESTED - payout requested with all its details - TRANSLATED - payout instruction account IDs identified and translated - PROCESSING - payout instruction set executed and is processing - SUBMITTED - transactions submitted for payout instructions - FINALIZED - payout finished processing, all transactions processed successfully - INSUFFICIENT_BALANCE - insufficient balance in the payment account (can be a temporary state) - FAILED - one or more of the payout instructions failed PayoutStatus: type: string enum: - REGISTERED - VERIFYING - IN_PROGRESS - DONE - INSUFFICIENT_BALANCE - FAILED description: "- REQUESTED\tpayout requested with all its details\n- VERIFIED\tpayout instruction set details were verified\n- PROCESSING\tpayout instruction set executed and is processing\n- FINALIZED\tpayout done (all payout instructions completed successfully)\n- INSUFFICIENT_BALANCE\tinsufficient balance in the payment account (can be a temporary state)\n- FAILED\tone or more of the payout instructions failed\n" PayoutInitMethod: type: string enum: - FILE - API PayeeAccountResponse: type: object properties: id: type: string type: $ref: '#/components/schemas/PayeeAccountType' PayoutInstructionState: type: string enum: - NOT_STARTED - TRANSACTION_SENT - COMPLETED - FAILED - TRANSLATION_ERROR - SKIPPED description: "- NOT_STARTED\t- waiting to start\n- TRANSACTION_SENT - an underlying transaction was sent\n- COMPLETED\t- completed successfully\n- FAILED - failed\n- TRANSLATION_ERROR -lookup of the destination failed (due to changes in the underlying whitelisted external wallet or similar)\n- SKIPPED- no transaction(s) created for this instruction\n" Transaction: type: object properties: id: type: string state: type: string enum: - SUBMITTED - QUEUED - PENDING_AUTHORIZATION - PENDING_SIGNATURE - BROADCASTING - PENDING_3RD_PARTY_MANUAL_APPROVAL - PENDING_3RD_PARTY - PENDING - CONFIRMING - CONFIRMED - COMPLETED - PARTIALLY_COMPLETED - PENDING_AML_SCREENING - CANCELLING - CANCELLED - REJECTED - BLOCKED - FAILED - TIMEOUT timestamp: type: number format: date-time instructionId: type: string required: - id - state PayoutInstructionResponse: type: object properties: id: type: string payeeAccount: $ref: '#/components/schemas/PayeeAccountResponse' amount: $ref: '#/components/schemas/InstructionAmount' state: $ref: '#/components/schemas/PayoutInstructionState' transactions: type: array items: $ref: '#/components/schemas/Transaction' required: - amount - payeeAccount - state - transactions PayoutResponse: type: object properties: payoutId: type: string paymentAccount: $ref: '#/components/schemas/PaymentAccountResponse' createdAt: type: number state: $ref: '#/components/schemas/PayoutState' status: $ref: '#/components/schemas/PayoutStatus' reasonOfFailure: type: string description: |
  • INSUFFICIENT_BALANCE
  • SOURCE_TRANSLATION
  • SOURCE_NOT_UNIQUE
  • SOURCE_NOT_FOUND
  • SOURCE_TYPE_NOT_SUPPORTED
  • EMPTY_SOURCE
  • DESTINATION_TRANSLATION
  • DESTINATION_NOT_UNIQUE
  • DESTINATION_NOT_FOUND
  • EMPTY_DESTINATION
  • PARSING
  • UNKNOWN
  • FIREBLOCKS_CLIENT
  • TRANSACTION_SUBMISSION
initMethod: $ref: '#/components/schemas/PayoutInitMethod' instructionSet: type: array items: $ref: '#/components/schemas/PayoutInstructionResponse' reportUrl: type: string required: - payoutId - createdAt - state - status - paymentAccount - instructionSet ErrorResponse: type: object properties: error: type: object properties: type: type: string enum: - INTERNAL - AUTHENTICATION - AUTHORIZATION - VALIDATION - NOT_FOUND - UNPROCESSABLE_ENTITY - FORBIDDEN message: type: string required: - type - message required: - error DispatchPayoutResponse: type: object properties: payoutId: type: string required: - payoutId PreScreening: type: object description: Should the configured AML pre-screening policy be enabled or not properties: enabled: type: boolean required: - enabled ConversionOperationType: type: string description: Conversion Operation Type enum: - CONVERSION ConversionOperationConfigParams: type: object properties: amount: description: The amount to convert type: string example: '10' accountId: description: Source account ID example: '0' type: string srcAssetId: description: The asset ID to convert type: string example: ETH destAssetId: description: The asset ID to get as a result of the conversion type: string example: USDC slippageBasisPoints: type: integer description: Slippage tolerance (basis points) minimum: 0 maximum: 10000 example: 100 required: - destAssetId CreateConversionConfigOperationRequest: type: object description: Conversion Operation object properties: type: $ref: '#/components/schemas/ConversionOperationType' params: $ref: '#/components/schemas/ConversionOperationConfigParams' required: - type - params TransferOperationType: type: string description: Transfer operation type enum: - TRANSFER AccountType: type: string description: Account type enum: - EXCHANGE_ACCOUNT - UNMANAGED_WALLET - VAULT_ACCOUNT - NETWORK_CONNECTION - FIAT_ACCOUNT Account: type: object properties: accountId: description: The unique ID of the account type: string example: '0' accountType: $ref: '#/components/schemas/AccountType' required: - accountId - accountType OneTimeAddressAccount: type: object description: Non whitelisted destination address properties: oneTimeAddress: description: The destination address type: string example: '0xb794f5ea0ba39494ce839613fffba74279579268' tag: type: string description: required For Tag/Memo based assets only example: '123456' required: - oneTimeAddress Destination: oneOf: - $ref: '#/components/schemas/Account' - $ref: '#/components/schemas/OneTimeAddressAccount' TransferOperationConfigParams: type: object properties: amount: description: The amount to transfer type: string example: '12' assetId: type: string description: The assed ID to transfer example: ETH source: $ref: '#/components/schemas/Account' destination: $ref: '#/components/schemas/Destination' required: - destination CreateTransferConfigOperationRequest: type: object properties: type: $ref: '#/components/schemas/TransferOperationType' params: $ref: '#/components/schemas/TransferOperationConfigParams' required: - type - params DisbursementOperationType: type: string description: Disbursment operation type enum: - DISBURSEMENT DisbursementAmountInstruction: type: object properties: payeeAccount: $ref: '#/components/schemas/Destination' assetId: description: Asset unique identifier type: string example: ETH amount: description: The amount to disburse type: string example: '100' required: - payeeAccount - assetId - amount DisbursementPercentageInstruction: type: object properties: payeeAccount: $ref: '#/components/schemas/Destination' assetId: type: string description: The asset ID to disburse example: ETH percentage: description: >- The percentage of the asset's balance to disburse (i.e. '20' for 20% ) type: string example: '20' required: - payeeAccount - assetId - percentage DisbursementInstruction: oneOf: - $ref: '#/components/schemas/DisbursementAmountInstruction' - $ref: '#/components/schemas/DisbursementPercentageInstruction' DisbursementOperationConfigParams: type: object properties: paymentAccount: $ref: '#/components/schemas/Account' instructionSet: type: array items: $ref: '#/components/schemas/DisbursementInstruction' required: - instructionSet CreateDisbursementConfigOperationRequest: type: object properties: type: $ref: '#/components/schemas/DisbursementOperationType' params: $ref: '#/components/schemas/DisbursementOperationConfigParams' required: - type - params CreateConfigOperationRequest: oneOf: - $ref: '#/components/schemas/CreateConversionConfigOperationRequest' - $ref: '#/components/schemas/CreateTransferConfigOperationRequest' - $ref: '#/components/schemas/CreateDisbursementConfigOperationRequest' CorrelationData: x-internal: true oneOf: - type: object additionalProperties: type: string - type: string CreateWorkflowConfigurationRequest: type: object x-internal: true properties: configName: description: Your configuration name type: string example: my_config_name preScreening: $ref: '#/components/schemas/PreScreening' configOperations: type: array items: $ref: '#/components/schemas/CreateConfigOperationRequest' externalCorrelationData: $ref: '#/components/schemas/CorrelationData' required: - configName - configOperations WorkflowConfigStatus: type: string enum: - PENDING - VALIDATION_IN_PROGRESS - VALIDATION_FAILED - READY_FOR_EXECUTION ConfigOperationStatus: type: string enum: - PENDING - VALIDATION_IN_PROGRESS - READY_FOR_EXECUTION - VALIDATION_FAILED ConversionValidationFailure: type: object properties: reason: type: string enum: - ACCOUNT_NOT_FOUND - ACCOUNT_TYPE_NOT_SUPPORTED - INSUFFICIENT_BALANCE - ASSET_NOT_FOUND - ASSETS_CONTINUITY_MISMATCH - EXCHANGE_BASKETS_MISMATCH - ACCOUNTS_CONTINUITY_MISMATCH - ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED - EQUAL_ACCOUNTS_NOT_ALLOWED - EQUAL_ASSETS_NOT_ALLOWED - INVALID_AMOUNT - UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED - MANAGED_OPERATION_PARAMS_INVALID_SCHEMA - ACCOUNT_IS_NOT_EXCHANGE - UNSUPPORTED_TRADING_METHOD - ASSETS_CAN_NOT_CONVERTED data: type: object additionalProperties: {} required: - reason ConversionConfigOperation: type: object properties: operationId: description: Operation unique identifier example: 7bf16b28-6cd6-403f-af60-045c4b68a767 type: string type: $ref: '#/components/schemas/ConversionOperationType' params: $ref: '#/components/schemas/ConversionOperationConfigParams' status: $ref: '#/components/schemas/ConfigOperationStatus' validationFailure: $ref: '#/components/schemas/ConversionValidationFailure' required: - operationId - type - params - status TransferValidationFailure: type: object properties: reason: type: string enum: - ACCOUNT_NOT_FOUND - ACCOUNT_TYPE_NOT_SUPPORTED - INSUFFICIENT_BALANCE - ASSET_NOT_FOUND - ASSETS_CONTINUITY_MISMATCH - EXCHANGE_BASKETS_MISMATCH - ACCOUNTS_CONTINUITY_MISMATCH - ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED - EQUAL_ACCOUNTS_NOT_ALLOWED - EQUAL_ASSETS_NOT_ALLOWED - INVALID_AMOUNT - UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED - MANAGED_OPERATION_PARAMS_INVALID_SCHEMA data: type: object additionalProperties: true required: - reason TransferConfigOperation: type: object properties: operationId: type: string type: $ref: '#/components/schemas/TransferOperationType' params: $ref: '#/components/schemas/TransferOperationConfigParams' status: $ref: '#/components/schemas/ConfigOperationStatus' validationFailure: $ref: '#/components/schemas/TransferValidationFailure' required: - operationId - type - params - status DisbursementValidationFailure: type: object properties: reason: type: string enum: - ACCOUNT_NOT_FOUND - ACCOUNT_TYPE_NOT_SUPPORTED - INSUFFICIENT_BALANCE - ASSET_NOT_FOUND - ASSETS_CONTINUITY_MISMATCH - EXCHANGE_BASKETS_MISMATCH - ACCOUNTS_CONTINUITY_MISMATCH - ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED - EQUAL_ACCOUNTS_NOT_ALLOWED - EQUAL_ASSETS_NOT_ALLOWED - INVALID_AMOUNT - UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED - MANAGED_OPERATION_PARAMS_INVALID_SCHEMA - INSTRUCTIONS_EXCEED_HUNDRED_PERCENT - INSTRUCTIONS_ARRAY_EMPTY data: type: object additionalProperties: {} required: - reason DisbursementConfigOperation: type: object properties: operationId: type: string type: $ref: '#/components/schemas/DisbursementOperationType' params: $ref: '#/components/schemas/DisbursementOperationConfigParams' status: $ref: '#/components/schemas/ConfigOperationStatus' validationFailure: $ref: '#/components/schemas/DisbursementValidationFailure' required: - operationId - type - params - status ConfigOperation: oneOf: - $ref: '#/components/schemas/ConversionConfigOperation' - $ref: '#/components/schemas/TransferConfigOperation' - $ref: '#/components/schemas/DisbursementConfigOperation' WorkflowConfiguration: type: object x-internal: true properties: configId: description: Unqiue configuration ID type: string example: 98822424-15ad-498c-9ef4-19c7430b4b6e configName: description: Configuration name type: string example: my_cofig_name preScreening: $ref: '#/components/schemas/PreScreening' status: $ref: '#/components/schemas/WorkflowConfigStatus' createdAt: type: number description: Created at timestamp example: 1717325386 configOperations: type: array items: $ref: '#/components/schemas/ConfigOperation' externalCorrelationData: $ref: '#/components/schemas/CorrelationData' required: - configId - configName - configOperations - createdAt - status WorkflowConfigurationId: type: object properties: configId: type: string description: Configuration unique ID example: 98822424-15ad-498c-9ef4-19c7430b4b6e required: - configId ConversionOperationExecutionParams: type: object properties: configOperationId: type: string executionParams: type: object properties: amount: type: string accountId: type: string srcAssetId: type: string destAssetId: type: string slippageBasisPoints: type: integer minimum: 0 maximum: 10000 required: - configOperationId TransferOperationExecutionParams: type: object properties: configOperationId: type: string executionParams: type: object properties: amount: type: string assetId: type: string source: $ref: '#/components/schemas/Account' destination: $ref: '#/components/schemas/Destination' required: - configOperationId DisbursementOperationExecutionParams: type: object properties: configOperationId: type: string executionParams: type: object properties: amount: type: string paymentAccount: $ref: '#/components/schemas/Account' instructionSet: type: array items: $ref: '#/components/schemas/DisbursementInstruction' required: - configOperationId CreateWorkflowExecutionRequest: type: object x-internal: true properties: configId: description: The created configuration unique identifier example: 98822424-15ad-498c-9ef4-19c7430b4b6e type: string preScreening: $ref: '#/components/schemas/PreScreening' params: type: array items: anyOf: - $ref: '#/components/schemas/ConversionOperationExecutionParams' - $ref: '#/components/schemas/TransferOperationExecutionParams' - $ref: '#/components/schemas/DisbursementOperationExecutionParams' externalCorrelationData: $ref: '#/components/schemas/CorrelationData' required: - configId - params ConfigConversionOperationSnapshot: type: object properties: operationId: type: string type: $ref: '#/components/schemas/ConversionOperationType' params: $ref: '#/components/schemas/ConversionOperationConfigParams' required: - operationId - type - params ConfigTransferOperationSnapshot: type: object properties: operationId: type: string type: $ref: '#/components/schemas/TransferOperationType' params: $ref: '#/components/schemas/TransferOperationConfigParams' required: - operationId - type - params ConfigDisbursementOperationSnapshot: type: object properties: operationId: type: string type: $ref: '#/components/schemas/DisbursementOperationType' params: $ref: '#/components/schemas/DisbursementOperationConfigParams' required: - operationId - type - params ConfigOperationSnapshot: oneOf: - $ref: '#/components/schemas/ConfigConversionOperationSnapshot' - $ref: '#/components/schemas/ConfigTransferOperationSnapshot' - $ref: '#/components/schemas/ConfigDisbursementOperationSnapshot' WorkflowConfigurationSnapshot: type: object x-internal: true properties: configId: type: string description: Configuration unique identifier example: 98822424-15ad-498c-9ef4-19c7430b4b6e configName: type: string description: You configuration name example: my_config_name createdAt: description: Create at timestamp example: 1717325386 type: number configOperations: type: array items: $ref: '#/components/schemas/ConfigOperationSnapshot' externalCorrelationData: $ref: '#/components/schemas/CorrelationData' required: - configId - configName - configOperations - createdAt ExecutionOperationStatus: type: string enum: - PENDING - VALIDATION_IN_PROGRESS - VALIDATION_FAILED - VALIDATION_COMPLETED - PREVIEW_REQUESTED - PREVIEW_IN_PROGRESS - PREVIEW_FAILED - READY_FOR_LAUNCH - EXECUTION_REQUESTED - EXECUTION_IN_PROGRESS - EXECUTION_COMPLETED - EXECUTION_FAILED ScreeningOperationType: type: string enum: - SCREENING ScreeningValidationFailure: type: object properties: reason: type: string enum: - SCREENING_DISABLED_IN_TENANT data: type: object additionalProperties: {} required: - reason ScreeningVerdict: type: object properties: verdict: type: string enum: - PASSED - PASSED_WITH_ALERT - REJECTED - FAILED - BYPASSED executionOperationId: type: string account: $ref: '#/components/schemas/Destination' assetId: type: string amount: type: string matchedRule: type: object properties: action: type: string category: type: array items: type: string required: - executionOperationId - account - verdict - assetId - amount ScreeningOperationExecutionOutput: type: object properties: verdicts: type: array items: $ref: '#/components/schemas/ScreeningVerdict' required: - verdicts ScreeningOperationFailure: type: object properties: reason: type: string enum: - AML_PROCESS_FAILED - SCREENING_REJECTED data: $ref: '#/components/schemas/ScreeningOperationExecutionOutput' required: - reason ScreeningOperationExecution: type: object properties: output: $ref: '#/components/schemas/ScreeningOperationExecutionOutput' startedAt: type: number finishedAt: type: number failure: $ref: '#/components/schemas/ScreeningOperationFailure' required: - startedAt ExecutionScreeningOperation: type: object properties: operationId: type: string description: Operation unique identifier example: 1cbf5105-b462-4c0b-83ca-d805251835e9 status: $ref: '#/components/schemas/ExecutionOperationStatus' operationType: $ref: '#/components/schemas/ScreeningOperationType' validationFailure: $ref: '#/components/schemas/ScreeningValidationFailure' execution: $ref: '#/components/schemas/ScreeningOperationExecution' required: - operationId - status - operationType AssetAmount: type: object properties: amount: type: string assetId: type: string required: - amount - assetId ConversionOperationPreviewOutput: type: object properties: amount: $ref: '#/components/schemas/AssetAmount' fee: $ref: '#/components/schemas/AssetAmount' conversionRate: type: string timeSeconds: type: number required: - amount - fee - conversionRate - timeSeconds ConversionOperationFailure: type: object properties: reason: type: string enum: - INVALID_AMOUNT - SLIPPAGE_EXCEEDED - AMOUNT_TOO_SMALL - INSUFFICIENT_FUNDS data: type: object additionalProperties: {} required: - reason ConversionOperationPreview: type: object properties: input: $ref: '#/components/schemas/ConversionOperationConfigParams' output: $ref: '#/components/schemas/ConversionOperationPreviewOutput' failure: $ref: '#/components/schemas/ConversionOperationFailure' required: - input ConversionOperationExecutionOutput: type: object properties: amount: $ref: '#/components/schemas/AssetAmount' fee: $ref: '#/components/schemas/AssetAmount' conversionRate: type: string required: - amount - fee - conversionRate ConversionOperationExecution: type: object properties: input: $ref: '#/components/schemas/ConversionOperationConfigParams' output: $ref: '#/components/schemas/ConversionOperationExecutionOutput' startedAt: type: number finishedAt: type: number failure: $ref: '#/components/schemas/ConversionOperationFailure' required: - input - startedAt ExecutionConversionOperation: type: object properties: operationId: type: string status: $ref: '#/components/schemas/ExecutionOperationStatus' validationFailure: $ref: '#/components/schemas/ConversionValidationFailure' operationType: $ref: '#/components/schemas/ConversionOperationType' preview: $ref: '#/components/schemas/ConversionOperationPreview' execution: $ref: '#/components/schemas/ConversionOperationExecution' required: - operationId - status - operationType TransferOperationPreviewOutput: type: object properties: amount: $ref: '#/components/schemas/AssetAmount' fee: $ref: '#/components/schemas/AssetAmount' isSignRequired: type: boolean timeSeconds: type: number required: - amount - fee - isSignRequired - timeSeconds TransferOperationFailure: type: object properties: reason: type: string enum: - INVALID_AMOUNT - SUBMISSION_FAILED - TRANSACTION_FAILED data: type: object properties: txId: type: string txStatus: type: string txSubStatus: type: string required: - txId - txStatus required: - reason TransferOperationPreview: type: object properties: input: $ref: '#/components/schemas/TransferOperationConfigParams' output: $ref: '#/components/schemas/TransferOperationPreviewOutput' failure: $ref: '#/components/schemas/TransferOperationFailure' required: - input TransferOperationExecutionOutput: type: object properties: amount: $ref: '#/components/schemas/AssetAmount' fee: $ref: '#/components/schemas/AssetAmount' required: - amount - fee TransferOperationExecution: type: object properties: input: $ref: '#/components/schemas/TransferOperationConfigParams' output: $ref: '#/components/schemas/TransferOperationExecutionOutput' txId: type: string startedAt: type: number finishedAt: type: number failure: $ref: '#/components/schemas/TransferOperationFailure' required: - input - startedAt ExecutionTransferOperation: type: object properties: operationId: type: string example: 1cbf5105-b462-4c0b-83ca-d805251835e9 description: Operation unique identifier status: $ref: '#/components/schemas/ExecutionOperationStatus' validationFailure: $ref: '#/components/schemas/TransferValidationFailure' operationType: $ref: '#/components/schemas/TransferOperationType' preview: $ref: '#/components/schemas/TransferOperationPreview' execution: $ref: '#/components/schemas/TransferOperationExecution' required: - operationId - status - operationType DisbursementOperationInput: type: object properties: amount: type: string paymentAccount: $ref: '#/components/schemas/Account' instructionSet: type: array items: $ref: '#/components/schemas/DisbursementInstruction' required: - paymentAccount - instructionSet DisbursementInstructionOutput: type: object properties: amount: $ref: '#/components/schemas/AssetAmount' fee: $ref: '#/components/schemas/AssetAmount' payeeAccount: $ref: '#/components/schemas/Destination' required: - amount - fee - payeeAccount DisbursementOperationPreviewOutput: type: object properties: instructionSet: type: array items: allOf: - $ref: '#/components/schemas/DisbursementInstructionOutput' - type: object properties: timeSeconds: type: number required: - timeSeconds required: - instructionSet OperationExecutionFailure: type: object properties: reason: type: string data: type: object additionalProperties: {} required: - reason DisbursementOperationPreview: type: object properties: input: $ref: '#/components/schemas/DisbursementOperationInput' output: $ref: '#/components/schemas/DisbursementOperationPreviewOutput' failure: $ref: '#/components/schemas/OperationExecutionFailure' required: - input DisbursementOperationExecutionOutput: type: object properties: instructionSet: type: array items: $ref: '#/components/schemas/DisbursementInstructionOutput' required: - instructionSet DisbursementOperationExecution: type: object properties: input: $ref: '#/components/schemas/DisbursementOperationInput' output: $ref: '#/components/schemas/DisbursementOperationExecutionOutput' payoutId: type: string startedAt: type: number finishedAt: type: number failure: $ref: '#/components/schemas/OperationExecutionFailure' required: - input - startedAt ExecutionDisbursementOperation: type: object properties: operationId: type: string description: Configuration unique identifier example: 98822424-15ad-498c-9ef4-19c7430b4b6e status: $ref: '#/components/schemas/ExecutionOperationStatus' validationFailure: $ref: '#/components/schemas/DisbursementValidationFailure' operationType: $ref: '#/components/schemas/DisbursementOperationType' preview: $ref: '#/components/schemas/DisbursementOperationPreview' execution: $ref: '#/components/schemas/DisbursementOperationExecution' required: - operationId - status - operationType WorkflowExecutionOperation: oneOf: - $ref: '#/components/schemas/ExecutionScreeningOperation' - $ref: '#/components/schemas/ExecutionConversionOperation' - $ref: '#/components/schemas/ExecutionTransferOperation' - $ref: '#/components/schemas/ExecutionDisbursementOperation' WorkflowExecution: type: object x-internal: true properties: executionId: description: Execution unique identifier type: string example: 507f6867-d76b-4cd6-92c8-cf84536be0b6 preScreening: $ref: '#/components/schemas/PreScreening' configSnapshot: $ref: '#/components/schemas/WorkflowConfigurationSnapshot' executionOperations: type: array items: $ref: '#/components/schemas/WorkflowExecutionOperation' status: type: string enum: - PENDING - VALIDATION_IN_PROGRESS - VALIDATION_FAILED - VALIDATION_COMPLETED - PREVIEW_IN_PROGRESS - PREVIEW_FAILED - READY_FOR_LAUNCH - EXECUTION_IN_PROGRESS - EXECUTION_COMPLETED - EXECUTION_FAILED triggeredBy: type: string triggeredAt: type: number finishedAt: type: number externalCorrelationData: $ref: '#/components/schemas/CorrelationData' required: - executionId - status - executionOperations - configSnapshot GasStationConfigurationResponse: type: object properties: gasThreshold: description: >- The Gas Station will initiate a fueling transaction when the vault account's balance falls below the gasThreshold value type: string default: '0.005' example: '0.005' gasCap: description: >- The Gas Station will top up the vault account with gas until the balance reaches the gasCap value example: '0.01' default: '0.01' type: string maxGasPrice: description: Maximum gas price for the fueling transaction (in gwei) nullable: true example: '20' default: null type: string GasStationPropertiesResponse: type: object properties: balance: type: object configuration: $ref: '#/components/schemas/GasStationConfigurationResponse' GasStationConfiguration: type: object properties: gasThreshold: description: >- The Gas Station will initiate a fueling transaction when the vault account's balance falls below the gasThreshold value type: string default: '0.005' example: '0.005' gasCap: description: >- The Gas Station will top up the vault account with gas until the balance reaches the gasCap value example: '0.01' default: '0.01' type: string maxGasPrice: description: Maximum gas price for the fueling transaction (in gwei) nullable: true example: '20' default: null type: string EditGasStationConfigurationResponse: type: object properties: success: type: boolean description: >- Indicates whether editing the gas station configuration was successful required: - success UserGroupResponse: type: object properties: id: description: User Group ID type: string example: f04402d0-00f1-48cb-acd0-352010f2e62f name: type: string description: User Group Name example: My Group Name status: type: string description: Group Approval Status enum: - PENDING_APPROVAL - ACTIVE memberIds: type: array items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc UserGroupsResponse: type: array items: $ref: '#/components/schemas/UserGroupResponse' UserGroupCreateRequest: type: object properties: groupName: type: string description: User Group Name example: My User Group memberIds: type: array items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc CreateUserGroupResponse: type: object properties: id: type: string description: User group unique identifier example: 4a7e7b16-c863-4b41-876f-c64f05c087d6 name: type: string description: User group name example: My User Group memberIds: type: array description: IDs of the users in the group items: type: string example: - 30e8a73a-6300-4b35-a11a-9c69341805fc - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 status: type: string description: User group status enum: - PENDING_APPROVAL - ACTIVE UserGroupUpdateRequest: type: object properties: groupName: type: string description: User Group Name example: My User Group memberIds: type: array items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc UserGroupCreateResponse: type: object properties: name: type: string description: User Group Name example: My User Group id: type: string description: User Group ID example: f04402d0-00f1-48cb-acd0-352010f2e62f memberIds: type: array description: User Group members (User IDs) items: type: string example: - 1d8b04f3-f90b-406b-a4d8-71d5d16f6862 - 30e8a73a-6300-4b35-a11a-9c69341805fc status: type: string description: Group Approval Status enum: - PENDING_APPROVAL - ACTIVE UserResponse: type: object properties: id: type: string firstName: type: string lastName: type: string role: type: string email: type: string enabled: type: boolean GetUsersResponse: type: array items: $ref: '#/components/schemas/UserResponse' GetAuditLogsResponseDTO: type: object properties: data: type: array items: type: object total: type: number cursor: type: string nullable: true AuditLogData: type: object properties: id: type: string description: The unique identifier of the audit log timestamp: type: number description: The timestamp of the audit log createdAt: type: number description: The timestamp of the audit log creation user: type: string description: The user who performed the action subject: type: string description: The subject of the action event: type: string description: The event that was performed tenantId: type: string description: The tenant ID of the audit log userId: type: string description: The user ID of the audit log AuditLogsData: type: array items: $ref: '#/components/schemas/AuditLogData' GetAuditLogsResponse: type: object properties: data: $ref: '#/components/schemas/AuditLogsData' cursor: nullable: true type: string description: The next id to start fetch audit logs from example: next-page-cursor total: type: number description: The total number of audit logs example: 32 AddCollateralRequestBody: type: object properties: transactionRequest: $ref: '#/components/schemas/TransactionRequest' isSrcCollateral: type: boolean description: optional RemoveCollateralRequestBody: type: object properties: transactionRequest: $ref: '#/components/schemas/TransactionRequest' isDstCollateral: type: boolean description: optional SettlementRequestBody: type: object properties: mainExchangeAccountId: type: string ToExchangeTransaction: type: object properties: assetId: type: string amount: type: string dstAddress: type: string dstTag: type: string description: optional ToCollateralTransaction: type: object properties: asset: type: string amount: type: string srcAddress: type: string srcTag: type: string description: optional fee: type: string description: optional ExchangeSettlementTransactionsResponse: type: object properties: toExchange: type: array items: $ref: '#/components/schemas/ToExchangeTransaction' toCollateral: type: array items: $ref: '#/components/schemas/ToCollateralTransaction' SettlementResponse: type: object properties: id: type: string initiator: type: string exchangeReply: type: string fireblocksInitiatedTransactions: type: object exchangeRequestedTransactions: $ref: '#/components/schemas/ExchangeSettlementTransactionsResponse' ResendWebhooksResponse: type: object properties: messagesCount: description: The amount of resent notifications type: number example: 1 ResendNotificationsByResourceIdRequest: type: object properties: resourceId: type: string description: The resource id to resend notifications for example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid excludeStatuses: type: array description: > (optional) List of notification statuses to exclude from the resend operation - It's optional but it must be included. For example, if there is no status, the syntax will be "excludeStatuses": [] - Empty array means all statuses will be included - If you want to exclude some statuses, you can use the following example: [ IN_PROGRESS, FAILED ] - Default if missing, means all statuses other than "COMPLETED" will be included example: [IN_PROGRESS, FAILED] items: $ref: '#/components/schemas/NotificationStatus' required: - resourceId ResendTransactionWebhooksRequest: type: object properties: resendCreated: type: boolean resendStatusUpdated: type: boolean ResendWebhooksByTransactionIdResponse: type: object properties: success: type: boolean description: Indicates whether the webhooks were successfully resent required: - success WebhookEvent: type: string enum: - transaction.created - transaction.status.updated - transaction.approval_status.updated - transaction.network_records.processing_completed - external_wallet.asset.added - external_wallet.asset.removed - internal_wallet.asset.added - internal_wallet.asset.removed - contract_wallet.asset.added - contract_wallet.asset.removed - vault_account.created - vault_account.asset.added - vault_account.asset.balance_updated - vault_account.nft.balance_updated - embedded_wallet.created - embedded_wallet.account.created - embedded_wallet.device.added - embedded_wallet.asset.added - embedded_wallet.status.updated - embedded_wallet.asset.balance_updated - onchain_data.updated - connection.added - connection.removed - connection.request.waiting_peer_approval - connection.request.rejected_by_peer - exchange_account.added - fiat_account.added - ticket.created - ticket.submitted - ticket.expired - ticket.canceled - ticket.fulfilled - ticket.counterparty.added - ticket.counterparty_external_id.set - ticket.note.added - ticket.expired_in.set - ticket.expired_at.set - ticket.term.added - ticket.term.updated - ticket.term.deleted - ticket.term.funded - ticket.term.manually_funded - ticket.term.funding_canceled - ticket.term.funding_failed - ticket.term.funding_completed - ticket.term.transaction_status_changed Webhook: type: object properties: id: type: string description: The id of the webhook example: 123e4567-e89b-12d3-a456-426614174000 format: uuid url: type: string description: >- The url of the webhook where notifications will be sent. Must be a valid URL and https. example: https://example.com/webhook minLength: 1 description: type: string description: description of the webhook of what it is used for example: This webhook is used for transactions notifications minLength: 1 events: type: array description: The events that the webhook will be subscribed to example: - transaction.created - transaction.status.updated items: $ref: '#/components/schemas/WebhookEvent' status: enum: - DISABLED - ENABLED type: string description: The status of the webhook example: ENABLED createdAt: type: string description: The date and time the webhook was created example: '2021-09-01T12:00:00Z' format: date-time updatedAt: type: string description: The date and time the webhook was last updated example: '2021-09-05T15:00:00Z' format: date-time WebhookPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/Webhook' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data CreateWebhookRequest: type: object properties: url: type: string description: >- The url of the webhook where notifications will be sent. URL must be valid, unique and https. example: https://example.com/webhook minLength: 1 description: type: string description: description of the webhook. should not contain special characters. example: This webhook is used for transactions notifications minLength: 1 events: type: array description: event types the webhook will subscribe to items: $ref: '#/components/schemas/WebhookEvent' example: - transaction.created - transaction.status.updated enabled: type: boolean description: >- The status of the webhook. If false, the webhook will not receive notifications. example: false default: true required: - url - description - events UpdateWebhookRequest: type: object properties: url: type: string description: >- The url of the webhook where notifications will be sent. URL must be valid, unique and https. example: https://example.com/webhook minLength: 1 description: type: string description: >- description of the webhook of what it is used for.should not contain special characters. example: This webhook is used for transactions notifications minLength: 1 events: type: array description: The events that the webhook will be subscribed to example: - transaction.created - transaction.status.updated items: $ref: '#/components/schemas/WebhookEvent' enabled: type: boolean description: The status of the webhook example: false NotificationStatus: type: string description: The status of the Notification example: COMPLETED enum: - COMPLETED - FAILED - IN_PROGRESS - ON_HOLD Notification: type: object properties: id: type: string description: The id of the Notification example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid createdAt: type: string description: The creation date of the notification example: '2021-07-01T00:00:00.000Z' format: date-time updatedAt: type: string description: The date when the notification was updated example: '2021-07-01T00:00:00.000Z' format: date-time status: $ref: '#/components/schemas/NotificationStatus' eventType: $ref: '#/components/schemas/WebhookEvent' eventVersion: type: number description: The event version of the Notification example: 1 resourceId: type: string nullable: true default: null description: The resource id of the event which the Notification is listen to example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid attempts: default: [] description: The attempts related to Notification type: array items: type: string required: - id - createdAt - updatedAt - status - eventType - eventVersion NotificationPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/Notification' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data NotificationWithData: type: object properties: id: type: string example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid createdAt: type: string description: The creation date of the notification example: '2021-07-01T00:00:00.000Z' format: date-time updatedAt: type: string description: The date when the notification was updated example: '2021-07-01T00:00:00.000Z' format: date-time status: $ref: '#/components/schemas/NotificationStatus' eventType: $ref: '#/components/schemas/WebhookEvent' eventVersion: type: number description: The event version which the Notification is listen to example: 1 resourceId: type: string nullable: true default: null description: The resource id of the event which the Notification is listen to example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid attempts: default: [] description: The attempts related to Notification type: array items: type: string data: type: object description: notification data required: - id - createdAt - updatedAt - status - eventType - eventVersion - attempts AuditorData: type: object properties: name: type: string imageURL: type: string link: type: string required: - name - imageURL - link SwapProviderProtocolsEnum: type: string description: >- Protocol options supported by each provider. `UNISWAP` supports `UNISWAP_CLASSIC` and `UNISWAPX`. `WRAP_UNWRAP` supports `WRAP` and `UNWRAP.` example: UNISWAP_CLASSIC enum: - UNISWAP_CLASSIC - UNISWAPX - WRAP - UNWRAP ProviderCategoryEnum: type: string description: >- Category that classify the provider, Supported categories are: `DEX`, `CEX`, `OTC` example: DEX enum: - DEX - CEX - OTC - WRAP_UNWRAP SwapProvider: type: object properties: id: type: string description: The ID of the provider example: UNISWAP name: type: string example: Uniswap description: Name of the provider protocols: type: array items: $ref: '#/components/schemas/SwapProviderProtocolsEnum' example: - UNISWAP_CLASSIC - UNISWAPX description: List of supported protocols. Protocols are specific per provider category: $ref: '#/components/schemas/ProviderCategoryEnum' isTermsApprovalRequired: type: boolean description: >- Indicates whether the terms of service are required for the provider. if `true`, the user must approve the terms of service before using the provider. otherwise, `termsOfServiceUrl` and `isTermsOfServiceApproved` are not shown under the provider data. example: true termsOfServiceUrl: type: string description: URL to the terms of service example: https://uniswap.org/terms-of-service isTermsOfServiceApproved: type: boolean description: Indicates whether the terms of service are approved by the user example: true required: - id - name - protocols - category - isTermsApprovalRequired SwapProvidersPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/SwapProvider' next: type: string description: >- The cursor to fetch the next page of results, if absent or null, there are no additional results. example: MjAyMy0xMi0xMyA====TNjowOC4zMDI=:MTEwMA== nullable: true required: - data QuoteRequest: type: object properties: accountId: type: string description: The id of the vault account or account id example: '1' inputAmount: type: string description: >- The amount of tokens the swapper will provide, positive number, can be a decimal. example: '10' inputAsset: type: string description: The id of the asset the swapper will provide example: WETH outputAsset: type: string description: The id of the asset the swapper will receive example: DAI slippageTolerance: type: number minimum: 0 maximum: 100 description: >- The slippage tolerance is a percentage. The slippage tolerance is the maximum amount the price can change between the time the transaction is submitted and the time it is executed example: 0.5 protocol: $ref: '#/components/schemas/SwapProviderProtocolsEnum' required: - inputAmount - inputAsset - outputAsset - slippageTolerance - protocol ProviderAdditionalData: type: object description: Provider specific additional data properties: priceImpact: type: string example: '0.01' required: - priceImpact SwapRequiredActionsEnum: type: string example: APPROVE enum: - APPROVE - PERMIT - CONTRACT_CALL QuoteFee: type: object properties: networkExecutionFee: type: string description: The gas fee in the asset unit. example: '1478987585080628' networkFeeAssetId: type: string description: The network fee in Fireblocks asset representation example: ETH providerFee: type: string description: The provider fee in the asset unit. example: '5742266' providerFeeAssetId: type: string description: The provider fee in Fireblocks asset representation example: DAI providerFeeRate: type: number description: Percentages of the provider fee out of the gross amount example: 0.25 networkApproveFee: type: string description: The gas fee in the asset unit. example: '1478987585080628' required: - networkExecutionFee - networkFeeAssetId - providerFee - providerFeeAssetId - providerFeeRate WalletQuoteResponse: type: object description: Return a quote with id that can be used for swap operation. properties: protocol: $ref: '#/components/schemas/SwapProviderProtocolsEnum' inputAmount: type: string description: The amount of tokens the swapper will provide example: '10' inputAsset: type: string description: The id of the asset the swapper will provide example: WETH slippageTolerance: type: number description: >- The slippage tolerance is a percentage. The slippage tolerance is the maximum amount the price can change between the time the transaction is submitted and the time it is executed example: 0.5 outputMinAmount: type: string description: The minimum amount of tokens the swapper will receive example: '10' outputMaxAmount: type: string description: Maximum amount of tokens that the swapper will receive example: '20' outputAsset: type: string description: The id of the asset the swapper will receive example: DAI additionalData: $ref: '#/components/schemas/ProviderAdditionalData' providerQuoteId: type: string description: An identifier that uniquely identifies the received quote format: uuid example: 550e8400-e29b-41d4-a716-446655440000 expiredAt: type: string format: date-time description: When was the received `providerQuoteId` is expired (ISO Date time). example: '2023-07-13T15:55:34.256Z' requiredActions: description: The required actions for completing a swap operation type: array items: $ref: '#/components/schemas/SwapRequiredActionsEnum' estimatedFees: $ref: '#/components/schemas/QuoteFee' required: - protocol - inputAmount - inputAsset - slippageTolerance - outputMinAmount - outputMaxAmount - outputAsset - additionalData - providerQuoteId - expiredAt - requiredActions - estimatedFees NonWalletQuoteFee: type: object description: The estimated fees for the swap operation. properties: networkExecutionFee: type: string description: The gas fee in the asset unit. example: '1478987585080628' networkFeeAssetId: type: string description: The network fee in Fireblocks asset representation example: ETH providerFee: type: string description: The provider fee in the asset unit. example: '5742266' providerFeeAssetId: type: string description: The provider fee in Fireblocks asset representation example: DAI providerFeeRate: type: number description: Percentages of the provider fee out of the gross amount example: 0.25 required: - networkExecutionFee - networkFeeAssetId - providerFee - providerFeeAssetId - providerFeeRate NonWalletQuoteResponse: type: object description: Return a quote that cannot be used for a swap operation. properties: protocol: $ref: '#/components/schemas/SwapProviderProtocolsEnum' inputAmount: type: string description: The amount of tokens the swapper will provide example: '10' inputAsset: type: string description: The id of the asset the swapper will provide example: WETH slippageTolerance: type: number description: >- The slippage tolerance is a percentage. The slippage tolerance is the maximum amount the price can change between the time the transaction is submitted and the time it is executed example: 0.5 outputMinAmount: type: string description: The minimum amount of tokens the swapper will receive example: '10' outputMaxAmount: type: string description: Maximum amount of tokens that the swapper will receive example: '20' outputAsset: type: string description: The id of the asset the swapper will receive example: DAI additionalData: $ref: '#/components/schemas/ProviderAdditionalData' estimatedFees: $ref: '#/components/schemas/NonWalletQuoteFee' required: - protocol - inputAmount - inputAsset - slippageTolerance - outputMinAmount - outputMaxAmount - outputAsset - additionalData - estimatedFees QuoteResponse: oneOf: - $ref: '#/components/schemas/WalletQuoteResponse' - $ref: '#/components/schemas/NonWalletQuoteResponse' SwapRequiredAction: type: object properties: type: $ref: '#/components/schemas/SwapRequiredActionsEnum' status: enum: - WAITING - PROCESSING - COMPLETED - FAILED - CANCELED type: string description: The status of the required action example: PENDING txId: type: string description: The transaction id of the required action example: fc69381c-1e35-48c2-8415-484d1c2f55cx required: - type - status SwapFlowError: type: object nullable: true description: The error message for the swap example: expired properties: code: type: string description: The code representing the error example: '123' message: type: string description: Error message example: Failed to swap required: - code - message SwapOperation: type: object properties: id: type: string description: The id of the swap operation example: 51cfb2c1-126d-4ff6-8512-ffba48f4b296 accountId: type: string description: The id of the vault account or account id example: '1' providerId: type: string description: The ID of the provider example: UNISWAP category: $ref: '#/components/schemas/ProviderCategoryEnum' protocol: $ref: '#/components/schemas/SwapProviderProtocolsEnum' status: enum: - CREATED - TRANSACTION_IN_PROGRESS - PENDING_PROVIDER_ACTION - COMPLETED - CANCELED - FAILED type: string description: >- **CREATED** – The swap request has been created but not yet started. **PENDING_USER_ACTION** – Awaiting a user action (e.g. signature or approval). **PENDING_PROVIDER_ACTION** – Awaiting the provider to process the request. **PROCESSING** – The swap is actively being executed on‐chain. **COMPLETED** – The swap has finished successfully. **CANCELED** – The swap was cancelled by user or provider before completion. **FAILED** – The swap attempted but encountered an error. example: CREATED inputAmount: type: string description: The amount of tokens the swapper will provide example: '10' inputAsset: type: string description: The id of the asset the swapper will provide example: WETH slippageTolerance: type: number description: >- The slippage tolerance is a percentage. The slippage tolerance is the maximum amount the price can change between the time the transaction is submitted and the time it is executed example: 0.5 outputMinAmount: type: string description: The minimum amount of tokens the swapper will receive example: '10' outputMaxAmount: type: string description: Maximum amount of tokens that the swapper will receive example: '20' outputAsset: type: string description: The id of the asset the swapper will receive example: DAI outputFinalAmount: type: string nullable: true description: Final amount of tokens that the swapper will receive example: '15' requiredActions: description: >- The required actions for the swap, including the type of action, the status of the action, and the transaction id type: array items: $ref: '#/components/schemas/SwapRequiredAction' error: $ref: '#/components/schemas/SwapFlowError' createdAt: type: string format: date-time description: The creation time of the swap operation (ISO Date time). example: '2023-07-13T15:55:34.256Z' updatedAt: type: string format: date-time description: The last update time of the swap operation (ISO Date time). example: '2023-07-13T15:55:34.256Z' createdBy: type: string format: uuid description: Fireblocks user id that issued the swap example: 15a8f89f-f562-46ca-bcd3-56f8dd124816 required: - id - accountId - providerId - category - protocol - status - inputAmount - inputAsset - slippageTolerance - outputMinAmount - outputMaxAmount - outputAsset - requiredActions - createdAt - updatedAt - createdBy SwapOperationsPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/SwapOperation' next: type: string description: >- The cursor to fetch the next page of results, if absent or null, there are no additional results. example: MjAyMy0xMi0xMyA====TNjowOC4zMDI=:MTEwMA== nullable: true required: - data SwapOperationRequest: type: object properties: providerQuoteId: type: string description: An identifier that uniquely identifies the received quote format: uuid example: 550e8400-e29b-41d4-a716-446655440000 feeLevel: type: string enum: - LOW - MEDIUM - HIGH description: The fee level of the transaction example: MEDIUM txNote: type: string description: user note on the transaction example: request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d required: - providerQuoteId ContractAttributes: type: object properties: useCases: type: array items: type: string standards: type: array items: type: string auditor: $ref: '#/components/schemas/AuditorData' required: - useCases - standards - auditor VendorDto: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b4453 description: The unique identifier of the vendor of this contract template name: type: string example: Fireblocks description: The name of the vendor of this contract template required: - id - name LeanContractDto: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The unique identifier of the contract template name: type: string example: My Contract description: The name of the contract template description: type: string example: an ERC20 implementation description: A short description of the contract template attributes: example: useCases: - Stablecoin - CBDC standards: - ERC-20 - ERC-1400 auditor: name: MyAuditor imageURL: https://my-images.com/my-image.jpg link: https://my-auditor.com/my-audit-report description: >- The attributes related to this contract template. It will be displayed in the tokenization page allOf: - $ref: '#/components/schemas/ContractAttributes' isPublic: type: boolean example: true description: >- Is this a contract that is viewable by all fireblocks's users or is it visible only for this workspace canDeploy: type: boolean example: true description: >- True if the workspace allowed to deploy this contract, false otherwise owner: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: >- The workspace id of the owner of this contract template. If it's a private contract, only this workspace will be allowed to deploy it vendor: description: >- The details of the vendor of this contract template. Applicable only for public contract templates allOf: - $ref: '#/components/schemas/VendorDto' type: type: string enum: - FUNGIBLE_TOKEN - NON_FUNGIBLE_TOKEN - TOKEN_UTILITY required: - id - name - description - isPublic TemplatesPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/LeanContractDto' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data FunctionDoc: type: object properties: details: type: string description: A description of the function params: type: object additionalProperties: type: string description: A description of the function parameters returns: type: object additionalProperties: type: string description: A description of the function return values. only for read functions ContractDoc: type: object properties: details: type: string example: A token that can be minted and burned description: A description of the contract events: type: string example: >- Upgraded(address): {"details": "Emitted when the implementation is upgraded."} description: A description of the contract`s events kind: type: string example: dev description: Is it devdoc or userdoc methods: type: object additionalProperties: $ref: '#/components/schemas/FunctionDoc' example: constructor: details: Initializes the contract description: The description of the contract functions version: type: string example: '1' description: The version of the contract required: - kind - methods - version 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’s a struct, it will hold the struct data required: - name - type AbiFunction: type: object properties: name: type: string example: mint description: The name of the contract function as it appears in the ABI stateMutability: type: string example: pure enum: - pure - view - nonpayable - payable description: >- The state mutability of the contract function as it appears in the ABI type: type: string example: constructor description: The type if the function enum: - function - constructor inputs: description: The parameters that this function/constructor posses items: $ref: '#/components/schemas/Parameter' type: array outputs: description: The parameters that this 'read' function returns items: $ref: '#/components/schemas/Parameter' type: array description: type: string description: The documentation of this function (if has any) required: - type - inputs ContractUploadRequest: type: object properties: name: type: string example: My Contract description: The name of the contract template description: type: string example: an ERC20 implementation description: A short description of the contract template longDescription: type: string example: | a full ERC20 implementation, containing the following: - mint - burn description: |- A full description of the contract template. May contain to break the lines bytecode: type: string description: >- The compiled artifact of this smart contract. Used for deployment of this contract template sourcecode: type: string description: The source code of the contract. Optional. type: enum: - FUNGIBLE_TOKEN - NON_FUNGIBLE_TOKEN - TOKEN_UTILITY type: string example: FUNGIBLE_TOKEN description: The type of the contract template docs: example: details: >- This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy. errors: ERC1967NonPayable(): - details: An upgrade function sees `msg.value > 0` that may be lost. events: Upgraded(address): details: Emitted when the implementation is upgraded. kind: dev methods: constructor: details: >- Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero. version: 1 description: >- A `natspec` compliant documentation json. Can be retrieved from the output json after compilation allOf: - $ref: '#/components/schemas/ContractDoc' abi: type: array items: example: - inputs: - internalType: address name: implementation type: address - internalType: bytes name: _data type: bytes stateMutability: payable type: constructor description: >- The abi of the contract template. Necessary for displaying and for after deployment encoding type: array items: $ref: '#/components/schemas/AbiFunction' attributes: example: useCases: - Stablecoin - CBDC standards: - ERC-20 - ERC-1400 auditor: name: MyAuditor imageURL: https://my-images.com/my-image.jpg link: https://my-auditor.com/my-audit-report description: >- The attributes related to this contract template. It will be displayed in the tokenization page allOf: - $ref: '#/components/schemas/ContractAttributes' required: - name - description - bytecode - abi ContractTemplateDto: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The unique identifier of the contract template name: type: string example: My Contract description: The name of the contract template description: type: string example: an ERC20 implementation description: A short description of the contract template longDescription: type: string example: | a full ERC20 implementation, containing the following: - mint - burn description: |- A full description of the contract template. May contain to break the lines abi: type: array items: example: - inputs: - internalType: address name: implementation type: address - internalType: bytes name: _data type: bytes stateMutability: payable type: constructor description: >- The abi of the contract template. Necessary for displaying and for after deployment encoding type: array items: $ref: '#/components/schemas/AbiFunction' attributes: example: useCases: - Stablecoin - CBDC standards: - ERC-20 - ERC-1400 auditor: name: MyAuditor imageURL: https://my-images.com/my-image.jpg link: https://my-auditor.com/my-audit-report description: >- The attributes related to this contract template. It will be displayed in the tokenization page allOf: - $ref: '#/components/schemas/ContractAttributes' docs: example: details: >- This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy. errors: ERC1967NonPayable(): - details: An upgrade function sees `msg.value > 0` that may be lost. events: Upgraded(address): details: Emitted when the implementation is upgraded. kind: dev methods: constructor: details: >- Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero. version: 1 description: >- A `natspec` compliant documentation json. Can be retrieved from the output json after compilation allOf: - $ref: '#/components/schemas/ContractDoc' owner: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: >- The workspace id of the owner of this contract template. If it's a private contract, only this workspace will be allowed to deploy it vendor: description: >- The details of the vendor of this contract template. Applicable only for public contract templates allOf: - $ref: '#/components/schemas/VendorDto' isPublic: type: boolean example: true description: >- Is this a contract that is viewable by all fireblocks's users or is it visible only for this workspace canDeploy: type: boolean example: true description: >- True if the workspace allowed to deploy this contract, false otherwise type: enum: - FUNGIBLE_TOKEN - NON_FUNGIBLE_TOKEN - TOKEN_UTILITY type: string example: FUNGIBLE_TOKEN description: The type of the contract template implementationContractId: type: string initializationPhase: description: >- For standalone contracts use ON_DEPLOYMENT and for contracts that are behind proxies use POST_DEPLOYMENT enum: - ON_DEPLOYMENT - POST_DEPLOYMENT type: string required: - id - name - description - abi - isPublic - initializationPhase HttpContractDoesNotExistError: type: object properties: message: type: string description: Not Found error code example: Contract does not exist code: type: string description: Error code example: 404 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 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 ContractDeployRequest: type: object properties: 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 vault account id you wish to deploy from constructorParameters: description: The constructor parameters of this contract items: $ref: '#/components/schemas/ParameterWithValue' example: - internalType: string name: name_ type: string value: TokenName - internalType: string name: symbol_ type: string value: TokenSymbol type: array required: - assetId - vaultAccountId ContractDeployResponse: type: object properties: txId: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The transaction id of the deployment request required: - txId LeanDeployedContractResponseDto: type: object properties: id: type: string description: The deployed contract data identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d contractAddress: type: string description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' contractTemplateId: type: string description: The contract template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d blockchainId: type: string description: The blockchain's base assetId example: ETH required: - id - contractAddress - contractTemplateId - blockchainId DeployedContractsPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/LeanDeployedContractResponseDto' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data DeployedContractResponseDto: type: object properties: id: type: string description: The deployed contract data identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d contractAddress: type: string description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' contractTemplateId: type: string description: The contract template identifier example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d vaultAccountId: type: string example: '0' description: The vault account id this contract was deploy from baseAssetId: type: string description: The blockchain's base assetId example: ETH required: - id - contractAddress - contractTemplateId - baseAssetId FetchAbiRequestDto: type: object properties: baseAssetId: type: string description: The blockchain base assetId example: ETH contractAddress: type: string description: The contract's onchain address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' required: - baseAssetId - contractAddress ContractWithAbiDto: type: object properties: contractAddress: type: string description: The address of the contract example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14' baseAssetId: type: string description: The blockchain base assetId example: ETH_TEST6 name: type: string description: The name of the contract example: WETH9 abi: description: The ABI of the contract example: - inputs: - internalType: address name: to type: address - internalType: uint256 name: amount type: uint256 stateMutability: nonpayable type: function name: mint type: array items: $ref: '#/components/schemas/AbiFunction' isProxy: type: boolean description: Whether the contract is a proxy contract example: true implementation: type: string description: The implementation contract address example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14' isPublic: type: boolean description: Whether the contract ABI is public example: true required: - contractAddress - baseAssetId - name - abi - isPublic AddAbiRequestDto: type: object properties: contractAddress: type: string description: The address of deployed contract example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14' baseAssetId: type: string description: The blockchain base assetId example: ETH abi: example: - inputs: - internalType: address name: to type: address - internalType: uint256 name: amount type: uint256 stateMutability: nonpayable type: function name: mint description: The ABI of the contract type: array items: $ref: '#/components/schemas/AbiFunction' name: type: string description: The name of the contract example: MyContract required: - contractAddress - baseAssetId - abi 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 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 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 CreateMultipleVaultAccountsJobStatus: type: object properties: status: type: string example: Success vaultAccounts: type: object description: Mapping between VaultAccountId to a mapping of asset to address additionalProperties: type: object description: Mapping between asset (key) to address (value) additionalProperties: type: string example: { "0": { "BTC_TEST": "bcrt1qs0zzqytuw49w2jqkmfhzgdh2lylzde2uw4zncz", "ETH_TEST": "0x460395Edb2338023c6f137259C6e20B6C37dDE95", }, } errorMessage: type: string example: Asset not supported required: - status 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 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 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 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 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 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 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 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 AssetDoesNotExistHttpError: type: object deprecated: true 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 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 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 CollectionType: type: string description: The type of collection enum: - NON_FUNGIBLE_TOKEN - SEMI_FUNGIBLE_TOKEN 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 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 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 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 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 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 ContractAbiResponseDto: type: object properties: abi: example: - inputs: - internalType: address name: implementation type: address - internalType: bytes name: _data type: bytes stateMutability: nonpayable type: constructor description: The abi of the contract type: array items: $ref: '#/components/schemas/AbiFunction' implementationAbi: example: - inputs: - internalType: address name: to type: address - internalType: uint256 name: amount type: uint256 stateMutability: nonpayable type: function name: mint description: >- The abi of the implementation contract if exists. Relevant only for proxy patterns type: array items: $ref: '#/components/schemas/AbiFunction' required: - abi ReadAbiFunction: type: object properties: inputs: type: array items: $ref: '#/components/schemas/ParameterWithValue' stateMutability: type: string enum: - pure - view type: type: string name: type: string outputs: type: array items: $ref: '#/components/schemas/Parameter' description: type: string required: - stateMutability - type - inputs MergeStakeAccountsResponse: type: object properties: id: type: string format: uuid example: f3432f4-34d1-43495-a8ee-jfdjnfj34i3 description: The unique identifier of the merge position (the id of the destination position) required: - id MergeStakeAccountsRequest: type: object properties: sourceId: type: string format: uuid example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f description: Id of the source position to merge from destinationId: type: string format: uuid example: f3432f4-34d1-43495-a8ee-jfdjnfj34i3 description: Id of the destination position to merge into fee: type: string example: "7" description: >- Represents the fee for a transaction, which can be specified as a percentage value. Only one of fee/feeLevel is required. feeLevel: $ref: '#/components/schemas/FeeLevel' txNote: type: string example: split 20 SOL out of 100 SOL, created on 02.04.23 description: The note to associate with the transactions. required: - sourceId - destinationId ReadCallFunctionDto: type: object properties: abiFunction: example: inputs: [] stateMutability: view type: function name: decimals outputs: - name: '' type: uint8 internalType: uint8 description: The abi of the read function you wish to call type: object $ref: '#/components/schemas/ReadAbiFunction' required: - abiFunction ParameterWithValueList: type: array items: $ref: '#/components/schemas/ParameterWithValue' WriteAbiFunction: type: object properties: stateMutability: type: string enum: - payable - nonpayable example: nonpayable outputs: type: array items: $ref: '#/components/schemas/Parameter' type: type: string enum: - function name: type: string inputs: type: array items: $ref: '#/components/schemas/ParameterWithValue' description: type: string required: - stateMutability - type - inputs WriteCallFunctionDto: type: object properties: vaultAccountId: type: string example: '0' description: The vault account id this contract was deploy from abiFunction: oneOf: - $ref: '#/components/schemas/WriteAbiFunction' - $ref: '#/components/schemas/SolanaInstructionWithValue' amount: type: string description: Amount in base asset. Being used in payable functions example: '12.345' feeLevel: enum: - LOW - MEDIUM - HIGH type: string description: >- Fee level for the write function transaction. interchangeable with the 'fee' field example: MEDIUM fee: type: string description: >- Max fee amount for the write function transaction. interchangeable with the 'feeLevel' field example: '2000' note: type: string description: >- Custom note, not sent to the blockchain, that describes the transaction at your Fireblocks workspace 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. externalId: type: string description: >- External id that can be used to identify the transaction in your system. The unique identifier of the transaction outside of Fireblocks with max length of 255 characters example: 0192e4f5-924e-7bb9-8e5b-c748270feb38 required: - vaultAccountId - abiFunction WriteCallFunctionResponseDto: type: object properties: txId: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The Fireblocks transaction id of the function call required: - txId TxLog: type: object properties: address: type: string description: The log address example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' topics: type: array items: type: string description: Array of log topics example: - '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' - '0x000000000000000000000000a7d9ddbe1f17865597fbd27ec712455208b6b76d' - '0x000000000000000000000000c2c4e1db41f0bb97996d0ed0542d2170d146fb66' data: type: string description: The log data example: '0x000000000000000000000000000000000000000000000000000000000000000a' blockNumber: type: integer description: Block number where the log occurred example: 123456 transactionHash: type: string description: Transaction hash associated with the log example: '0x5a3b7f4b2c9e4a0b1f8a12c8e5f1d0e2a6b4c9d1f7e2b1a2b3c4d5e6f7a8b9c' transactionIndex: type: integer description: Transaction index in the block example: 2 blockHash: type: string description: The hash of the block example: '0x6e3c92a3d96f96e46b7f39c30244edb6e8e0f4b65d3846c9f8287f9dd5d1a3d2' logIndex: type: integer description: Log index in the block example: 1 removed: type: boolean description: Indicates if the log was removed example: false required: - address - topics - data - blockNumber - transactionHash - transactionIndex - blockHash - logIndex - removed TransactionReceiptResponse: type: object properties: blockHash: type: string description: The block hash example: '0x6e3c92a3d96f96e46b7f39c30244edb6e8e0f4b65d3846c9f8287f9dd5d1a3d2' blockNumber: type: integer description: The block number example: 123456 contractAddress: type: string description: The address of deployed contract example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' nullable: true cumulativeGasUsed: type: integer description: The cumulative gas used in the transaction example: 21000 effectiveGasPrice: type: integer description: The effective gas price example: 1000000000 from: type: string description: Sender address example: '0xa7D9ddBE1f17865597Fbd27ec712455208B6b76D' gasUsed: type: integer description: Gas used by the transaction example: 21000 logs: type: array items: $ref: '#/components/schemas/TxLog' description: Array of transaction logs logsBloom: type: string description: Logs bloom filter example: '0x0000000000000000000000000000000000000000000000000000000000000000' status: type: integer description: Transaction status (1 for success, 0 for failure) example: 1 to: type: string description: Recipient address example: '0x1eC4a8bB9bB9Afa24f79cC2e1423cD00B6cFf50' nullable: true transactionHash: type: string description: The transaction hash example: '0x5a3b7f4b2c9e4a0b1f8a12c8e5f1d0e2a6b4c9d1f7e2b1a2b3c4d5e6f7a8b9c' transactionIndex: type: integer description: Transaction index in the block example: 3 type: type: string description: Type of transaction example: '0x2' required: - blockHash - blockNumber - cumulativeGasUsed - effectiveGasPrice - from - gasUsed - logs - logsBloom - status - transactionHash - transactionIndex - type ChainDescriptor: type: string enum: - ETH - SOL - MATIC - ETH_TEST6 - SOL_TEST StakingGetChainsResponse: type: array example: - ETH - ETH_TEST6 - SOL - SOL_TEST - MATIC items: $ref: '#/components/schemas/ChainDescriptor' AdditionalInfo: type: object description: >- Additional information related to the blockchain. This may include extra details about the blockchain network. properties: estimatedAnnualReward: type: number example: 6.48 description: >- The estimated annual reward rate for the blockchain, represented as a decimal percentage value. lockupPeriod: type: number example: 172800000 description: >- The duration of the lockup period for certain actions on the blockchain, measured in milliseconds. activationPeriod: type: number example: 172800000 description: >- The duration of the activation period for certain actions on the blockchain, measured in milliseconds. required: - estimatedAnnualReward - lockupPeriod - activationPeriod ChainInfoResponse: type: object properties: chainDescriptor: type: string example: SOL description: The protocol identifier (e.g. "ETH"/"SOL"). currentEpoch: type: number example: 483 description: The current epoch number of the blockchain network. epochElapsed: type: number example: 0.31 description: >- The percentage of time that has elapsed within the current epoch, represented as a decimal value between 0 and 1. epochDuration: type: number example: 172800000 description: The total duration in milliseconds of a single epoch. additionalInfo: $ref: '#/components/schemas/AdditionalInfo' required: - chainDescriptor - currentEpoch - epochElapsed - epochDuration - additionalInfo StakingProvider: description: The unique identifier of the staking provider type: string example: kiln enum: - kiln - figment - lido - p2p - pierTwo - blockdaemon - galaxy FeeLevel: type: string example: MEDIUM description: >- Represents the fee level for a transaction, which can be set as slow, medium, or fast. Only one of fee/feeLevel is required. enum: - LOW - MEDIUM - HIGH StakeRequest: type: object example: vaultAccountId: '22' providerId: kiln stakeAmount: '100' txNote: >- stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1 of 100 SOL created on 02.04.23 feeLevel: MEDIUM properties: vaultAccountId: type: string example: '22' description: The source vault account to stake from providerId: $ref: '#/components/schemas/StakingProvider' stakeAmount: type: string example: '32' description: Amount of tokens to stake txNote: type: string example: >- stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1 of 32ETH created on 02.04.23 description: The note to associate with the stake transactions. fee: type: string example: '7' description: >- Represents the fee for a transaction, which can be specified as a percentage value. Only one of fee/feeLevel is required. feeLevel: $ref: '#/components/schemas/FeeLevel' required: - vaultAccountId - providerId - stakeAmount StakeResponse: type: object example: id: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8 properties: id: type: string example: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8 description: The unique identifier of the staking position required: - id UnstakeRequest: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850e description: id of position to unstake fee: type: string example: '7' description: >- Represents the fee for a transaction, which can be specified as a percentage value. Only one of fee/feeLevel is required. feeLevel: $ref: '#/components/schemas/FeeLevel' txNote: type: string example: 'unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH' description: The note to associate with the transactions. amount: type: string example: '75' description: >- The number of tokens to unstake. This optional field is applicable only for liquid staking and allows for a partial unstake of the position. If not provided, the entire position will be unstaked by default. required: - id example: id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d txNote: 'unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #SOL' feeLevel: MEDIUM WithdrawRequest: type: object example: id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d txNote: 'withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #SOL' feeLevel: MEDIUM properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f description: id of position to withdraw fee: type: string example: '7' description: >- Represents the fee for a transaction, which can be specified as a percentage value. Only one of fee/feeLevel is required. feeLevel: $ref: '#/components/schemas/FeeLevel' txNote: type: string example: 'withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH' description: The note to associate with the transactions. required: - id ClaimRewardsRequest: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f description: id of position to withdraw rewards from fee: type: string example: '7' description: >- Represents the fee for a transaction, which can be specified as a percentage value. Only one of fee/feeLevel is required. feeLevel: $ref: '#/components/schemas/FeeLevel' txNote: type: string example: 'claim rewards request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #MATIC' description: The note to associate with the transactions. required: - id example: id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d txNote: claim rewards request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d feeLevel: MEDIUM SplitRequest: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f description: id of position to split amount: type: string example: '20' description: Amount of tokens to be transferred to the new stake account. fee: type: string example: '7' description: >- Represents the fee for a transaction, which can be specified as a percentage value. Only one of fee/feeLevel is required. feeLevel: $ref: '#/components/schemas/FeeLevel' txNote: type: string example: split 20 SOL out of 100 SOL, created on 02.04.23 description: The note to associate with the transactions. required: - id - amount example: id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d amount: '20' txNote: split 20 SOL out of 100 SOL, created on 02.04.23 feeLevel: MEDIUM SplitResponse: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The unique identifier of the new staking position required: - id example: id: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8 RelatedTransaction: type: object properties: txId: type: string example: b70601f4-d7b1-4795-a8ee-b09cdb4r850d description: The transaction ID completed: type: boolean example: true description: Is the transaction completed or not required: - txId - completed SolanaBlockchainData: type: object example: stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq description: >- Additional fields per blockchain - can be empty or missing if not initialized or no additional info exists. The type depends on the chainDescriptor value. For Solana (SOL), stake account address. For Ethereum (ETH), an empty object is returned as no specific data is available. properties: stakeAccountAddress: type: string example: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq description: The stake account address matching the stakeAccountId. stakeAccountDerivationChangeValue: type: number example: 7 description: >- The value of the change level in the BIP44 path which was used to derive the stake account address required: - stakeAccountAddress - stakeAccountDerivationChangeValue CreateTagRequest: type: object properties: label: type: string description: The tag label minLength: 2 maxLength: 30 example: VIP description: type: string description: Description for the tag maxLength: 250 example: Tag for VIP customers color: type: string description: The tag color in hex format example: "#FF5733" isProtected: type: boolean description: Indication of whether the tag is protected default: false required: - label TagsPagedResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Tag' next: type: string description: Cursor to the next page example: MjAyNS0wNy0wOSAxMDo1MzoxMy40NTI=:NA== nullable: true required: - data - next UpdateTagRequest: type: object properties: label: type: string description: The tag label example: VIP description: type: string description: Description for the tag example: Tag for VIP customers Tag: type: object properties: id: description: The unique identifier of the tag type: string format: uuid example: "df4c0987-30da-4976-8dcf-bc2dd41ae331" label: type: string description: The tag label example: VIP description: type: string description: Description for the tag example: Tag for VIP customers color: type: string description: The tag color in hex format example: "#FF5733" isProtected: type: boolean description: Indication of whether the tag is a protected tag default: false updatedAt: type: number description: The date and time the tag was last updated example: 1717084800000 pendingApprovalRequest: $ref: '#/components/schemas/ApprovalRequest' required: - id - label - isProtected - updatedAt RelatedRequest: type: object properties: status: type: string enum: - deactivating example: deactivating description: The status of the request inProgress: type: boolean example: false description: >- Indicates whether there is an ongoing action for this position related to this request amount: type: string example: '0.05' description: Amount of tokens to Unstake txId: type: string example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c description: The transaction ID of the ongoing request required: - status - inProgress - amount Delegation: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850a description: The unique identifier of the staking position vaultAccountId: type: string example: '2' description: The source vault account to stake from validatorName: type: string example: FwR3P......tT59f description: The destination validator address name providerName: type: string example: Kiln description: The destination validator provider name chainDescriptor: type: string example: SOL description: The protocol identifier (e.g. "ETH"/ "SOL") to use amount: type: string example: '0.05' description: Amount of tokens to stake, measured in the staked asset unit. rewardsAmount: type: string example: '0.000856038' description: >- The amount staked in the position, measured in the staked asset unit. dateCreated: format: date-time type: string example: '2023-07-13T15:55:34.256Z' description: When was the request made (ISO Date). dateUpdated: format: date-time type: string example: '2023-07-13T15:55:34.256Z' description: When has the position last changed (ISO Date). status: type: string example: active description: The current status. relatedTransactions: example: - txId: b70601f4-d7b1-4795-a8ee-b09cdb4r850d completed: true - txId: c80601f4-d7b1-4795-a8ee-b09cdb5b450c completed: false description: >- An array of transaction objects related to this position. Each object includes a 'txId' representing the transaction ID and a 'completed' boolean indicating if the transaction was completed. type: array items: $ref: '#/components/schemas/RelatedTransaction' validatorAddress: type: string example: FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f description: The destination address of the staking transaction. providerId: $ref: '#/components/schemas/StakingProvider' availableActions: example: - unstake description: >- An array of available actions that can be performed. for example, actions like "unstake" or "withdraw". type: array items: type: string inProgress: type: boolean example: true description: >- Indicates whether there is an ongoing action for this position (true if ongoing, false if not). inProgressTxId: type: string example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c description: The transaction ID of the ongoing request blockchainPositionInfo: $ref: '#/components/schemas/SolanaBlockchainData' relatedRequests: example: - status: deactivating inProgress: false amount: '0.05' txId: c80601f4-d7b1-4795-a8ee-b09cdb5b450c description: >- An array of partial unstake requests for this position, relevant only for the Lido provider. Each object includes the status of the unstake request, a boolean indicating whether the action is in progress, the amount of tokens to unstake, and the transaction ID of the request. With Lido, a position may have multiple partial unstake requests in different states. This field is optional and not applicable for other providers. type: array items: $ref: '#/components/schemas/RelatedRequest' required: - id - vaultAccountId - validatorName - providerName - chainDescriptor - amount - rewardsAmount - dateCreated - dateUpdated - status - relatedTransactions - validatorAddress - providerId - availableActions - inProgress - blockchainPositionInfo StakingGetAllDelegationsResponse: type: array items: $ref: '#/components/schemas/Delegation' RelatedRequestDto: type: object properties: status: $ref: '#/components/schemas/RelatedRequestStatusType' inProgress: type: boolean example: false description: >- Indicates whether there is an ongoing action for this position related to this request amount: type: string example: '0.05' description: Amount of tokens to Unstake txId: type: string example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c description: The transaction ID of the ongoing request required: - status - inProgress - amount RelatedRequestStatusType: type: string example: deactivating description: The status of the request enum: - error - created - canceled - activate_requested - approve_inprogress - approve_inprogress_signed - activate_inprogress - activate_inprogress_signed - activate_inprogress_confirmed - activate_done - deactivate_requested - deactivate_inprogress - deactivate_inprogress_signed - deactivate_inprogress_confirmed - deactivate_done - withdraw_inprogress - withdraw_requested - withdraw_inprogress_confirmed - withdraw_done - claim_rewards_requested - claim_rewards_inprogress - claim_rewards_done - pending - pending_queued - active_offline - active_online - exiting_online - exited - active - inactive - activating - deactivating AmountAndChainDescriptor: type: object properties: chainDescriptor: type: string example: ETH description: The protocol identifier (e.g. "ETH"/"SOL") for summary amount: type: string example: '32.007149606' description: Cryptocurrency quantity required: - chainDescriptor - amount DelegationSummary: type: object properties: active: description: >- An array of objects containing chain descriptors and associated amounts, representing active positions. type: array items: $ref: '#/components/schemas/AmountAndChainDescriptor' inactive: description: >- An array of objects containing chain descriptors and associated amounts, representing inactive positions. type: array items: $ref: '#/components/schemas/AmountAndChainDescriptor' rewardsAmount: description: >- An array of objects containing chain descriptors and associated amounts, representing rewards positions. type: array items: $ref: '#/components/schemas/AmountAndChainDescriptor' totalStaked: description: >- An array of objects with chain descriptors and total staked amounts, representing the combined staked totals of active and inactive positions. type: array items: $ref: '#/components/schemas/AmountAndChainDescriptor' required: - active - inactive - rewardsAmount - totalStaked StakingGetSummaryByVaultResponse: type: object additionalProperties: $ref: '#/components/schemas/DelegationSummary' Validator: type: object properties: chainDescriptor: type: string example: SOL description: The protocol identifier (e.g. "ETH"/"SOL") of the validator feePercent: type: number example: 5 description: The service fee as a percentage out of the earned rewards isPrivate: type: boolean example: true description: Is the validator private, i.e created by the user required: - chainDescriptor - feePercent Provider: type: object properties: id: type: string example: kiln description: The ID of the provider providerName: type: string example: Kiln description: Name of the provider validators: example: - chainDescriptor: ETH feePercent: 5 - chainDescriptor: SOL feePercent: 7 description: >- An array of objects that includes chain descriptors and the corresponding fee percentages for validators supported by the provider type: array items: $ref: '#/components/schemas/Validator' iconUrl: type: string example: https://static.fireblocks.io/staking/validators/kiln_console.png description: URL to the validator's icon termsOfServiceUrl: type: string example: https://www.kiln.fi/terms-and-conditions-for-fireblocks-customers description: URL to the terms of service isTermsOfServiceApproved: type: boolean example: true description: Indicates whether the terms of service are approved isPrivate: type: boolean example: true description: Is the provider private, i.e created by the user isLiquidStaking: type: boolean example: true description: Is the provider a liquid staking provider required: - id - providerName - validators - isTermsOfServiceApproved - isLiquidStaking StakingGetProvidersResponse: type: array items: $ref: '#/components/schemas/Provider' SetAdminQuorumThresholdRequest: type: object properties: adminQuorumThreshold: type: number description: The number of admins that will requires to approve an operation example: 1 SetAdminQuorumThresholdResponse: type: object properties: message: type: string description: The message which indicates the result of the operation. example: Admin quorum threshold request sent successfully. required: - message Paging: type: object properties: next: type: string description: Cursor to the next page required: - next MediaEntityResponse: type: object properties: url: type: string description: Cached accessible URL example: >- https://static.fireblocks.io/nft/media/aHR0cHM6Ly9pLnNlYWRuLmlvL2djcy9maWxlcy9kYjg4NDIyMDYxODUyZWE2YTZkZWVkMDY2NjI5ODY4Ny5wbmc_dz0 contentType: type: string enum: - IMAGE - VIDEO - ANIMATION - THREE_D - TEXT - GIF - UNKNOWN_TYPE - SVG - AUDIO description: Media type required: - url - contentType SpamOwnershipResponse: type: object properties: result: type: boolean description: Token spam result source: type: string description: Source of Token's Spam status value enum: - OWNER - SYSTEM required: - result - source TokenCollectionResponse: type: object properties: id: description: Collection's ID type: string example: '0x2953399124F0cBB46d2CbACD8A89cF0599974963' name: description: Collection's Name type: string example: OpenSea Collections symbol: description: Collection's Symbol type: string example: OPENSTORE required: - id TokenOwnershipResponse: type: object properties: id: type: string description: The Fireblocks NFT asset id example: NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f tokenId: type: string description: Token id within the contract/collection example: >- 59254621688950848715672884047857802075662195255933291242201099097856995753985 standard: type: string description: Token's standard example: ERC721 metadataURI: type: string description: URL of the original token JSON metadata example: >- https://api.opensea.io/api/v2/metadata/matic/0x2953399124F0cBB46d2CbACD8A89cF0599974963/592546216889508487156728840478578020756621952 cachedMetadataURI: type: string description: URL of the cached token JSON metadata example: >- https://static.fireblocks.io/nft/cb6db032c00fcc483ae0dea333a7f6b2279/metadata.json media: description: Media items extracted from metadata JSON type: array items: $ref: '#/components/schemas/MediaEntityResponse' spam: description: Owned Token's Spam status allOf: - $ref: '#/components/schemas/SpamOwnershipResponse' collection: description: Parent collection information allOf: - $ref: '#/components/schemas/TokenCollectionResponse' balance: description: Token's balance type: string example: '1' vaultAccountId: description: Fireblocks Vault Account ID type: string example: '0' ownershipStartTime: description: Ownership start timestamp (epoch) type: number example: 1687865341 ownershipLastUpdateTime: description: Ownership start last update time (epoch) type: number example: 1687865341 blockchainDescriptor: description: Token's blockchain enum: - ETH - ETH_TEST3 - ETH_TEST5 - ETH_TEST6 - POLYGON - POLYGON_TEST_MUMBAI - AMOY_POLYGON_TEST - XTZ - XTZ_TEST - BASECHAIN_ETH - BASECHAIN_ETH_TEST3 - BASECHAIN_ETH_TEST5 - ETHERLINK - ETHERLINK_TEST - MANTLE - MANTLE_TEST - GUN_GUNZILLA_TEST - ETH_SONEIUM - SONEIUM_MINATO_TEST - IOTX_IOTEX type: string description: description: Token's metadata description type: string example: MyNFT Description from the metada name: description: Token's name type: string example: MyNFTName ncwId: type: string description: Ownership Non-Custodial Wallet ID example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539 ncwAccountId: type: string description: Ownership Non-Custodial Wallet's account ID example: '0' status: type: string description: Owned Token's status enum: - LISTED - ARCHIVED required: - id - tokenId - standard - balance - ownershipStartTime - ownershipLastUpdateTime - blockchainDescriptor - status GetOwnershipTokensResponse: type: object properties: paging: $ref: '#/components/schemas/Paging' data: type: array items: $ref: '#/components/schemas/TokenOwnershipResponse' SpamTokenResponse: type: object properties: result: type: boolean description: Token spam result example: true required: - result TokenResponse: type: object properties: id: type: string description: The Fireblocks NFT asset id example: NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f tokenId: type: string description: Token id within the contract/collection example: >- 592546216889508487156728840478578020756621952559332912422010991022550422 standard: type: string description: ERC721 / ERC1155 example: ERC1155 metadataURI: type: string description: URL of the original token JSON metadata example: >- https://api.opensea.io/api/v2/metadata/matic/0x2953399124F0cBB46d2CbACD8A89cF0599974963/592546216889508487156728840478578020756621952559332912422010991022550422 cachedMetadataURI: type: string description: URL of the cached token JSON metadata example: >- https://static.fireblocks.io/nft/ad1bd7bf6b0ecb3495beb17d8540a513c96/metadata.json media: description: Media items extracted from metadata JSON type: array items: $ref: '#/components/schemas/MediaEntityResponse' spam: description: Token spam status allOf: - $ref: '#/components/schemas/SpamTokenResponse' collection: description: Parent collection information allOf: - $ref: '#/components/schemas/TokenCollectionResponse' blockchainDescriptor: type: string enum: - ETH - ETH_TEST3 - ETH_TEST5 - ETH_TEST6 - POLYGON - POLYGON_TEST_MUMBAI - AMOY_POLYGON_TEST - XTZ - XTZ_TEST - BASECHAIN_ETH - BASECHAIN_ETH_TEST3 - BASECHAIN_ETH_TEST5 - ETHERLINK - ETHERLINK_TEST - MANTLE - MANTLE_TEST - GUN_GUNZILLA_TEST - ETH_SONEIUM - SONEIUM_MINATO_TEST - IOTX_IOTEX description: description: Token's metadata description type: string example: This is MyNFT's description fetched from the metadata name: type: string description: Token's metadata name example: MyNFTName required: - id - tokenId - standard - blockchainDescriptor ListOwnedTokensResponse: type: object properties: paging: $ref: '#/components/schemas/Paging' data: type: array items: $ref: '#/components/schemas/TokenResponse' CollectionOwnershipResponse: type: object properties: id: type: string description: Fireblocks collection id example: 0b7baa6a62b00c565fd027e91927d610872e0bd5 name: type: string description: Collection name example: OpenSea Collections symbol: type: string description: Collection symbol example: OPENSTORE standard: type: string description: Collection contract standard example: ERC1155 blockchainDescriptor: enum: - ETH - ETH_TEST3 - ETH_TEST5 - ETH_TEST6 - POLYGON - POLYGON_TEST_MUMBAI - AMOY_POLYGON_TEST - XTZ - XTZ_TEST - BASECHAIN_ETH - BASECHAIN_ETH_TEST3 - BASECHAIN_ETH_TEST5 - ETHERLINK - ETHERLINK_TEST - MANTLE - MANTLE_TEST - GUN_GUNZILLA_TEST - ETH_SONEIUM - SONEIUM_MINATO_TEST - IOTX_IOTEX type: string description: Collection's blockchain contractAddress: type: string description: Collection contract standard example: '0x2953399124F0cBB46d2CbACD8A89cF0599974963' required: - id - blockchainDescriptor ListOwnedCollectionsResponse: type: object properties: paging: $ref: '#/components/schemas/Paging' data: type: array items: $ref: '#/components/schemas/CollectionOwnershipResponse' GetNFTsResponse: type: object properties: paging: $ref: '#/components/schemas/Paging' data: type: array items: $ref: '#/components/schemas/TokenResponse' UpdateTokenOwnershipStatusDto: type: object properties: status: description: Token's status in Fireblocks type: string enum: - LISTED - ARCHIVED required: - status TokenOwnershipStatusUpdatePayload: type: object properties: assetId: type: string description: Token's asset id example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd x-fb-entity: asset status: type: string description: Token's ownership new status enum: - LISTED - ARCHIVED example: ARCHIVED required: - assetId - status UpdateTokensOwnershipStatusRequest: type: array items: $ref: '#/components/schemas/TokenOwnershipStatusUpdatePayload' TokenOwnershipSpamUpdatePayload: type: object properties: assetId: type: string description: Token's asset id example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd x-fb-entity: asset spam: type: boolean description: Token's ownership new spam value example: true required: - assetId - spam UpdateTokensOwnershipSpamRequest: type: array items: $ref: '#/components/schemas/TokenOwnershipSpamUpdatePayload' SessionMetadata: type: object properties: appUrl: type: string description: dApp URL example: https://app.uniswap.org appName: type: string description: dApp Name example: Uniswap appDescription: type: string description: dApp Description (provided by the dApp developers) example: Uniswap Interface appIcon: type: string description: dApp icon URL example: >- https://static.fireblocks.io/wcs/dappIcon/f16fbab26bad5aa296073f682cf6ff32dfe262e333a1b32f6a481b100c8a144b required: - appUrl SessionDTO: type: object properties: id: type: string description: Id of the connection example: 4e9e7051-f3b2-48e9-8ee6-b12492552657 userId: type: string description: Id of the user that created the connection sessionMetadata: description: Metadata of the connection (provided by the dapp) allOf: - $ref: '#/components/schemas/SessionMetadata' vaultAccountId: type: number description: The vault to connect example: 1 feeLevel: type: string description: The default fee level example: MEDIUM enum: - MEDIUM - HIGH chainIds: description: The chains approved for the connection example: - ETH - ETH_TEST - SOL type: array items: type: string connectionType: type: string description: The connection's type example: WalletConnect enum: - WalletConnect connectionMethod: type: string description: The method through which the connection was established example: API enum: - DESKTOP - MOBILE - API creationDate: format: date-time type: string description: Timestamp of the session's creation required: - id - userId - sessionMetadata - vaultAccountId - feeLevel - chainIds - connectionType - connectionMethod - creationDate GetConnectionsResponse: type: object properties: data: description: Array with the requested dApp connection's data type: array items: $ref: '#/components/schemas/SessionDTO' paging: $ref: '#/components/schemas/Paging' required: - data CreateVaultAccountConnectionRequest: type: object properties: vaultAccountId: type: number description: The ID of the vault to connect to the dApp. example: 1 feeLevel: type: string description: The default fee level. Valid values are `MEDIUM` and `HIGH`. example: MEDIUM enum: - MEDIUM - HIGH uri: type: string description: The WalletConnect uri provided by the dapp. example: >- "wc:77752975-906f-48f5-b59f-047826ee947e@1?bridge=https%3A%2F%2F0.bridge.walletconnect.org&key=64be99adc6086b7a729b0ec8c7e1f174927ab92e84f5c6f9527050225344a637" chainIds: description: The IDs of the blockchain networks used in the dApp connection. example: - ETH type: array items: type: string required: - vaultAccountId - feeLevel - uri CreateNcwConnectionRequest: type: object properties: ncwId: type: string description: The ID of the Non-Custodial Wallet to connect to the dApp. example: b8337f1d-bd61-4d6c-afc1-4c9d60aa2132 ncwAccountId: type: number description: The NCW account ID to connect to the dApp. example: 1 feeLevel: type: string description: The default fee level. Valid values are `MEDIUM` and `HIGH`. example: MEDIUM enum: - MEDIUM - HIGH uri: type: string description: The WalletConnect uri provided by the dapp. example: >- "wc:77752975-906f-48f5-b59f-047826ee947e@1?bridge=https%3A%2F%2F0.bridge.walletconnect.org&key=64be99adc6086b7a729b0ec8c7e1f174927ab92e84f5c6f9527050225344a637" chainIds: description: The IDs of the blockchain networks used in the dApp connection. example: - ETH type: array items: type: string required: - ncwId - ncwAccountId - feeLevel - uri CreateConnectionRequest: oneOf: - $ref: '#/components/schemas/CreateVaultAccountConnectionRequest' - $ref: '#/components/schemas/CreateNcwConnectionRequest' CreateConnectionResponse: type: object properties: id: type: string description: The ID of the Web3 connection initiated. example: 4e9e7051-f3b2-48e9-8ee6-b12492552657 sessionMetadata: description: Metadata of the Web3 connection (provided by the dApp). allOf: - $ref: '#/components/schemas/SessionMetadata' required: - id - sessionMetadata RespondToConnectionRequest: type: object properties: approve: type: boolean description: Approval of the initiated dApp connection. example: true required: - approve TravelRuleAddress: type: object properties: street: type: string example: 1234 Example St description: Street address city: type: string example: New York description: City state: type: string example: NY description: State or province postalCode: type: string example: '10001' description: Postal or ZIP code required: - street - city - state - postalCode TravelRuleValidateTransactionRequest: type: object properties: transactionAsset: type: string example: BTC description: Transaction asset symbol BTC,ETH) destination: type: string example: bc1qxy2kgdygjrsqtzq2n0yrf1234p83kkfjhx0wlh description: Transaction destination address transactionAmount: type: string example: '10' description: Transaction amount in the transaction asset originatorVASPdid: type: string example: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2 description: This is the identifier assigned to your VASP originatorEqualsBeneficiary: type: boolean example: false description: >- "True" if the originator and beneficiary is the same person and you therefore do not need to collect any information. "False" if it is a third-party transfer. travelRuleBehavior: type: boolean example: true description: >- This will also check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction beneficiaryVASPdid: type: string example: did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992 description: >- This is the identifier assigned to the VASP the funds are being sent to beneficiaryVASPname: type: string example: HelloCrypto description: Beneficiary VASP name beneficiaryName: type: string example: John Doe description: Beneficiary name beneficiaryAccountNumber: type: string example: 1234-1234-1234-12234 description: Beneficiary name beneficiaryAddress: example: '{"addressLine: [Wayne Manor, Gotham City, New York, USA]"}' description: Beneficiary name allOf: - $ref: '#/components/schemas/TravelRuleAddress' required: - transactionAsset - destination - transactionAmount - originatorVASPdid - originatorEqualsBeneficiary TravelRuleValidateTransactionResponse: type: object properties: isValid: type: boolean description: >- "isValid" will tell you if you have collected all the information needed for the travel rule data transfer. Once this field = "true", you can move on to the next step which is to transfer the front-end information to your back-end and perform Travel Rule Transaction create example: true type: type: string description: >- "type" will tell you if the virtual asset value converted to FIAT value of the withdrawal request is above (=TRAVELRULE) or below (=BELOW_THRESHOLD) the threshold in your jurisdiction. If it is to an unhosted wallet which does not require travel rule information to be sent and only collected, it will say NON_CUSTODIAL. example: TRAVELRULE beneficiaryAddressType: type: string description: >- "beneficiaryAddressType" will tell you if your blockchain analytics provider or internal address book has been able to identify the wallet address. example: UNKNOWN addressSource: type: string description: >- "addressSource" will tell you if the address was found in your internal address book or identified by the blockchain analytics provider. example: UNKNOWN beneficiaryVASPdid: type: string description: The VASP DID of the beneficiary VASP example: did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992 beneficiaryVASPname: type: string description: >- "beneficiaryVASPname" will tell you the name of the VASP that has been identified as the owner of the wallet address. This name is used in a subsequent call to get its DID. example: Fireblocks warnings: description: >- "errors/warnings" will tell you what information about the beneficiary you need to collect from the sender. example: - optional-beneficiaryAccountNumber type: array items: type: string required: - isValid - type - beneficiaryAddressType - addressSource - beneficiaryVASPdid - beneficiaryVASPname - warnings TravelRuleValidateDateAndPlaceOfBirth: type: object description: Represents the date and place of birth for a natural person properties: dateOfBirth: type: string description: Date of birth in ISO 8601 format (YYYY-MM-DD) example: 1990-01-01 placeOfBirth: type: string description: Place of birth (max 70 characters) maxLength: 70 example: New York, USA TravelRuleValidateFullTransactionRequest: type: object properties: originatorVASPdid: type: string description: >- The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. example: "did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2" beneficiaryVASPdid: type: string description: >- The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. example: "did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6" transactionAsset: type: string description: | Transaction asset symbol (e.g., BTC, ETH, USDC). By using the `notation` query string, users can select the type of asset notation - `fireblocks`: Converts asset symbols to Fireblocks notation. - `notabene`: Retains the original Notabene asset symbol format. example: BTC transactionAmount: type: string description: | Transaction amount in the transaction asset. For example, if the asset is BTC, the amount is the value in BTC units. By using the `notation` query string, users can select the type of amount notation - `fireblocks`: Converts the amount to Fireblocks notation (e.g., adjusted for decimals). - `notabene`: Retains the original Notabene amount format. example: "10" originatorVASPname: type: string description: The name of the VASP acting as the transaction originator. example: Originator VASP Ltd. beneficiaryVASPname: type: string description: The name of the VASP acting as the transaction beneficiary. example: Beneficiary VASP Inc. transactionBlockchainInfo: description: Information about the blockchain transaction. allOf: - $ref: '#/components/schemas/TravelRuleTransactionBlockchainInfo' originator: description: Information about the originator of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleValidatePiiIVMS' beneficiary: description: Information about the beneficiary of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleValidatePiiIVMS' encrypted: type: string description: Encrypted data related to the transaction. example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... protocol: type: string description: The protocol used to perform the travel rule. example: IVMS101 skipBeneficiaryDataValidation: type: boolean description: Whether to skip validation of beneficiary data. example: false travelRuleBehavior: type: boolean description: >- Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction. example: true originatorRef: type: string description: A reference ID related to the originator of the transaction. example: ORG123456 beneficiaryRef: type: string description: A reference ID related to the beneficiary of the transaction. example: BEN654321 travelRuleBehaviorRef: type: string description: A reference ID related to the travel rule behavior. example: TRB987654 originatorProof: description: Ownership proof related to the originator of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleOwnershipProof' beneficiaryProof: description: Ownership proof related to the beneficiary of the transaction. allOf: - $ref: '#/components/schemas/TravelRuleOwnershipProof' beneficiaryDid: type: string description: >- The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier is generated when the customer is registered in the Notabene network, or automatically created based on the `beneficiaryRef`. - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. example: "did:key:z6Mkf67890Zghijkl67890" originatorDid: type: string description: >- The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the `originatorRef`. - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. example: "did:key:z6Mkf12345Zabcdef12345" isNonCustodial: type: boolean description: Indicates if the transaction involves a non-custodial wallet. example: true notificationEmail: type: string description: >- The email address where a notification should be sent upon completion of the travel rule pii: description: Personal identifiable information related to the transaction allOf: - $ref: '#/components/schemas/TravelRulePiiIVMS' pii_url: type: string description: >- The URL of the personal identifiable information related to the transaction required: - originator - beneficiary TravelRuleIssuer: type: object properties: issuerDid: type: string required: - issuerDid TravelRuleValidateGeographicAddress: type: object properties: streetName: type: string description: Name of a street or thoroughfare example: 123 Main St townName: type: string description: Name of a built-up area, with defined boundaries, and a local government example: New York country: type: string description: Nation with its own government (ISO-3166 Alpha-2 country code) example: US buildingNumber: type: string description: Number that identifies the position of a building on a street example: 123 postCode: type: string description: Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail example: 12345 addressType: type: string description: >- Specifies the type of address. Acceptable values are: - 'HOME': Residential, the home address - 'BIZZ': Business, the business address - 'GEOG': Geographic, an unspecified physical (geographical) address enum: - HOME - BIZZ - GEOG example: HOME department: type: string description: Identification of a division of a large organisation or building example: IT subDepartment: type: string description: Identification of a sub-division of a large organisation or building example: Security buildingName: type: string description: Name of the building or house example: Acme Building floor: type: string description: Floor or storey within a building example: 1 postBox: type: string description: Numbered box in a post office example: 123 room: type: string description: Building room number example: 101 townLocationName: type: string description: Specific location name within the town example: Downtown districtName: type: string description: Identifies a subdivision within a country subdivision example: Manhattan countrySubDivision: type: string description: Identifies a subdivision of a country such as state, region, or province example: New York addressLine: type: array items: type: string description: Information that locates and identifies a specific address, presented in free format text example: [123 Main St, New York, NY 12345] TravelRuleIssuers: type: object properties: yearFounded: $ref: '#/components/schemas/TravelRuleIssuer' isRegulated: $ref: '#/components/schemas/TravelRuleIssuer' regulatoryAuthorities: $ref: '#/components/schemas/TravelRuleIssuer' name: $ref: '#/components/schemas/TravelRuleIssuer' logo: $ref: '#/components/schemas/TravelRuleIssuer' website: $ref: '#/components/schemas/TravelRuleIssuer' legalName: $ref: '#/components/schemas/TravelRuleIssuer' legalStructure: $ref: '#/components/schemas/TravelRuleIssuer' incorporationCountry: $ref: '#/components/schemas/TravelRuleIssuer' businessNumber: $ref: '#/components/schemas/TravelRuleIssuer' addressLine1: $ref: '#/components/schemas/TravelRuleIssuer' city: $ref: '#/components/schemas/TravelRuleIssuer' country: $ref: '#/components/schemas/TravelRuleIssuer' description: $ref: '#/components/schemas/TravelRuleIssuer' required: - yearFounded - isRegulated - regulatoryAuthorities - name - logo - website - legalName - legalStructure - incorporationCountry - businessNumber - addressLine1 - city - country - description TravelRuleValidateLegalPerson: type: object properties: name: type: object allOf: - $ref: '#/components/schemas/TravelRuleValidateLegalPersonNameIdentifier' description: The structured name of the legal person, referencing name identifiers. geographicAddress: type: array items: $ref: '#/components/schemas/TravelRuleValidateGeographicAddress' description: The array of geographic addresses associated with the legal person. nationalIdentification: $ref: '#/components/schemas/TravelRuleValidateNationalIdentification' customerIdentification: type: string description: A unique identifier that identifies the customer in the organization's context. example: CUST987654 customerNumber: type: string description: A distinct identifier that uniquely identifies the customer within the organization. example: 123456789 countryOfRegistration: type: string description: The ISO-3166 Alpha-2 country code where the legal person is registered. example: US TravelRuleValidateLegalPersonNameIdentifier: type: object properties: legalPersonName: type: string description: Name by which the legal person is known. maxLength: 100 example: Acme Corporation legalPersonNameIdentifierType: type: string description: >- Specifies the type of name for a legal person. Acceptable values are: - 'REGISTERED': The official registered name. - 'TRADE': A trading name or DBA (Doing Business As) name. - 'OTHER': Any other type of name. enum: - REGISTERED - TRADE - OTHER example: REGISTERED TravelRuleValidateNationalIdentification: type: object description: Represents a national identifier for a person or entity properties: countryOfIssue: type: string description: Country that issued the national identifier (ISO-3166 Alpha-2 country code) example: US nationalIdentifier: type: string description: National identifier (max 35 characters) maxLength: 35 example: 123456789 nationalIdentifierType: type: string description: >- Type of national identifier. Acceptable values include: - 'PASSPORT': Passport number - 'NATIONAL_ID': National identification number - 'TAX_ID': Tax identification number - 'SOCIAL_SECURITY': Social security number enum: - PASSPORT - NATIONAL_ID - TAX_ID - SOCIAL_SECURITY example: NATIONAL_ID registrationAuthority: type: string description: Registration authority (format -> RA followed by 6 digits) pattern: ^RA\d{6}$ example: RA123456 TravelRuleValidateNaturalNameIdentifier: type: object properties: primaryIdentifier: type: string description: The primary identifier of the name example: John secondaryIdentifier: type: string description: The secondary identifier of the name example: Doe nameIdentifierType: type: string description: >- Specifies the type of name for a natural person. Acceptable values are: - 'ALIA': Alias name, a name other than the legal name by which a natural person is also known. - 'BIRT': Name at birth, the name given to a natural person at birth. - 'MAID': Maiden name, the original name of a natural person who has changed their name after marriage. - 'LEGL': Legal name, the name that identifies a natural person for legal, official, or administrative purposes. - 'MISC': Unspecified, a name by which a natural person may be known but cannot otherwise be categorized. enum: - ALIA - BIRT - MAID - LEGL - MISC example: LEGL TravelRuleValidateNaturalPersonNameIdentifier: type: object properties: nameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleValidateNaturalNameIdentifier' localNameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleValidateNaturalNameIdentifier' phoneticNameIdentifier: type: array items: $ref: '#/components/schemas/TravelRuleValidateNaturalNameIdentifier' TravelRuleValidatePerson: type: object properties: naturalPerson: type: object allOf: - $ref: '#/components/schemas/TravelRuleValidateNaturalPerson' legalPerson: type: object allOf: - $ref: '#/components/schemas/TravelRuleValidateLegalPerson' TravelRuleValidatePersons: type: object allOf: - $ref: '#/components/schemas/TravelRuleValidatePerson' TravelRuleValidatePiiIVMS: type: object properties: originatorPersons: type: array description: Information about the originator of the transaction items: $ref: '#/components/schemas/TravelRuleValidatePersons' beneficiaryPersons: type: array description: Information about the beneficiary of the transaction items: $ref: '#/components/schemas/TravelRuleValidatePersons' accountNumber: type: array description: Beneficiary account number items: type: string CreateMultipleDepositAddressesJobStatus: type: object properties: status: type: string example: Success addresses: type: array items: $ref: '#/components/schemas/NewAddress' example: [ { address: "addr_test1qp07k5kdwdfx4rpfqud8ry65acxgtgfgrxw0t35cwvl4uasjneqjdc868eqlex5p2f0nyekyyk4ze5xuanvj50ysrj3qqxqhsn", index: 0, description: "Address one", }, ] errorMessage: type: string example: Asset not supported required: - status CreateMultipleDepositAddressesRequest: type: object properties: vaultAccountId: description: Existing Vault account ID to add deposit addresses to type: integer example: 5 assetId: description: asset ID type: string example: ADA count: description: Count of deposit addresses to issue type: integer example: 10 descriptions: description: Desctiptions of the newly created addresses type: array items: type: string example: ["First address", "Second address", "df4c0987-30da-4976-8dcf-bc2dd41ae331"] vaultAccountToCopyDescFrom: description: Existing Vault Account ID to copy deposit addresses descriptions from in case no descriptions were provided type: integer example: 0 vaultAccountToCopyDescFromIndex: description: Existing length within the vault account to copy deposit addresses descriptions from type: integer example: 1000 required: - vaultAccountId - assetId - count NewAddress: type: object properties: address: type: string description: The address string. example: addr_test1qp07k5kdwdfx4rpfqud8ry65acxgtgfgrxw0t35cwvl4uasjneqjdc868eqlex5p2f0nyekyyk4ze5xuanvj50ysrj3qqxqhsn index: type: integer description: The index of the address in the list. example: 0 description: type: string description: A description of the address. example: Address one required: - address - index - description TravelRuleValidateNaturalPerson: type: object properties: name: type: array items: $ref: '#/components/schemas/TravelRuleValidateNaturalPersonNameIdentifier' description: >- An array of structured name identifiers for the natural person, referencing the TravelRuleNaturalPersonNameIdentifier schema. geographicAddress: type: array items: $ref: '#/components/schemas/TravelRuleValidateGeographicAddress' description: >- An array of geographic addresses associated with the natural person, referencing the TravelRuleGeographicAddress schema. nationalIdentification: $ref: '#/components/schemas/TravelRuleValidateNationalIdentification' dateAndPlaceOfBirth: allOf: - $ref: '#/components/schemas/TravelRuleValidateDateAndPlaceOfBirth' description: >- The date and place of birth of the natural person, referencing the TravelRuleDateAndPlaceOfBirth schema. customerIdentification: type: string description: >- A unique identifier for the customer within the organization's context. example: CUST123456 countryOfResidence: type: string description: >- The ISO-3166 Alpha-2 country code of the natural person's residence. example: US customerNumber: type: string description: >- A distinct identifier that uniquely identifies the customer within the organization. example: 123456789 TravelRuleVASP: type: object properties: did: type: string name: type: string verificationStatus: type: string addressLine1: type: string addressLine2: type: string city: type: string country: type: string emailDomains: type: string website: type: string logo: type: string legalStructure: type: string legalName: type: string yearFounded: type: string incorporationCountry: type: string isRegulated: type: string otherNames: type: string identificationType: type: string identificationCountry: type: string businessNumber: type: string regulatoryAuthorities: type: string jurisdictions: type: string street: type: string number: type: string unit: type: string postCode: type: string state: type: string certificates: type: string description: type: string travelRule_OPENVASP: type: string travelRule_SYGNA: type: string travelRule_TRISA: type: string travelRule_TRLIGHT: type: string travelRule_EMAIL: type: string travelRule_TRP: type: string travelRule_SHYFT: type: string travelRule_USTRAVELRULEWG: type: string createdAt: type: string createdBy: type: string updatedAt: type: string updatedBy: type: string lastSentDate: type: string lastReceivedDate: type: string documents: type: string hasAdmin: type: boolean isNotifiable: type: boolean issuers: $ref: '#/components/schemas/TravelRuleIssuers' required: - did - name - verificationStatus - addressLine1 - addressLine2 - city - country - emailDomains - website - logo - legalStructure - legalName - yearFounded - incorporationCountry - isRegulated - otherNames - identificationType - identificationCountry - businessNumber - regulatoryAuthorities - jurisdictions - street - number - unit - postCode - state - certificates - description - travelRule_OPENVASP - travelRule_SYGNA - travelRule_TRISA - travelRule_TRLIGHT - travelRule_EMAIL - travelRule_TRP - travelRule_SHYFT - travelRule_USTRAVELRULEWG - createdAt - createdBy - updatedAt - updatedBy - lastSentDate - lastReceivedDate - documents - hasAdmin - isNotifiable - issuers TravelRuleGetAllVASPsResponse: type: object properties: vasps: type: array items: $ref: '#/components/schemas/TravelRuleVASP' required: - vasps TravelRuleUpdateVASPDetails: type: object properties: did: type: string example: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2 description: The decentralized identifier of the VASP pii_didkey: type: string example: did:key:z6Mks5CZRaiooKYhq5TwtXQC1gWhwiZnmiKfFrMnYY62MhYf description: The PII DID key of the VASP required: - did - pii_didkey TravelRulePolicyRuleResponse: type: object properties: sourceType: type: string sourceSubType: type: string destType: type: string destSubType: type: string destAddress: type: string sourceId: type: string destId: type: string asset: type: string baseAsset: type: string amount: type: number amountUSD: type: number networkProtocol: type: string operation: type: string action: type: string enum: - SCREEN - PASS - FREEZE required: - action ScreeningPolicyResponse: type: object properties: policy: $ref: '#/components/schemas/TravelRulePolicyRuleResponse' policyStatus: type: string isDefault: type: boolean createDate: format: date-time type: string lastUpdate: format: date-time type: string required: - policy - isDefault - lastUpdate ScreeningProviderRulesConfigurationResponse: type: object properties: direction: type: string enum: - INBOUND - OUTBOUND status: type: string enum: - COMPLETED - PENDING - REJECTED - FAILED - CANCELED - BLOCKING_TIME_EXPIRED amountUSD: type: number amount: type: number asset: type: string action: type: string enum: - ACCEPT - REJECT - ALERT - WAIT - FREEZE - CANCEL required: - action ScreeningConfigurationsRequest: type: object properties: bypassScreeningDuringServiceOutages: type: boolean description: Flag to enable or disable bypass screening during service outages. inboundTransactionDelay: type: number description: Inbound transaction delay in seconds. outboundTransactionDelay: type: number description: Outbound transaction delay in seconds. ScreeningUpdateConfigurations: type: object properties: disableBypass: type: boolean description: >- Flag to enable or disable bypass screening on workspace configuration. disableUnfreeze: type: boolean description: >- Flag to enable or disable unfreeze of transaction frozen by policy rule on workspace configuration. ComplianceScreeningResultFullPayload: type: object properties: provider: type: string payload: type: object description: | The payload of the screening result. The payload is a JSON object that contains the screening result. The payload is different for each screening provider. bypassReason: type: string screeningStatus: type: string enum: - COMPLETED - PENDING - BYPASSED - FAILED - FROZEN timestamp: type: number format: date-time AmlRegistrationResultFullPayload: type: object properties: provider: type: string success: type: boolean timestamp: type: number ComplianceResultFullPayload: type: object description: The result of the Compliance AML/Travel Rule screening. properties: aml: type: object description: The end result of the AML screening. items: $ref: '#/components/schemas/ComplianceScreeningResultFullPayload' tr: type: object description: The result of the Travel Rule screening. items: $ref: '#/components/schemas/ComplianceScreeningResultFullPayload' amlList: type: array description: The list of all results of the AML screening. items: $ref: '#/components/schemas/ComplianceScreeningResultFullPayload' status: type: string description: Status of compliance result screening. enum: - Started - NetworkConnectionAddressResolve - ScreeningPrepare - AMLStarted - AMLCompleted - AMLFailed - AMLInBackground - TRPreconditionChecks - TRStarted - TRCompleted - TRFailed - Completed - IncomingStarted - IncomingScreeningPrepare - IncomingWaitForFirstConfirmation - AMLIncomingStarted - AMLIncomingCompleted - AMLIncomingFailed - AMLIncomingInBackground - TRIncomingStarted - TRIncomingCompleted - TRIncomingFailed - IncomingCompleted amlRegistration: type: object description: The results of the AML address registration. items: $ref: '#/components/schemas/AmlRegistrationResultFullPayload' AmlVerdictManualRequest: type: object required: - verdict - txId properties: verdict: type: string enum: - ACCEPT - REJECT description: The AML verdict to set for the transaction. example: ACCEPT txId: type: string format: uuid description: The transaction ID to set the verdict for. example: 550e8400-e29b-41d4-a716-446655440000 AmlVerdictManualResponse: type: object required: - success - message properties: success: type: boolean example: true message: type: string example: "AML verdict set successfully" GetOtaStatusResponse: type: object properties: enabled: type: boolean description: Current One Time Address feature status SetOtaStatusRequest: type: object properties: enabled: type: boolean description: Set true or false to enable or disable OTA transactions SetOtaStatusResponse: oneOf: - type: object properties: message: type: string description: >- Message indicating the result of the operation for example when no config change is needed example: No change needed. The current status is false - type: string description: >- Message indicating the result of the operation when config was successfully updated example: Accepted GetWorkspaceStatusResponse: type: object properties: status: type: string description: Current workspace status PolicySrcOrDestType: type: string enum: - EXCHANGE - UNMANAGED - VAULT - NETWORK_CONNECTION - COMPOUND - FIAT_ACCOUNT - ONE_TIME_ADDRESS - '*' description: > * EXCHANGE - A third-party exchange account connected to your workspace * UNMANAGED - A unmanaged wallet outside of Fireblocks workspace * VAULT - An account in your Fireblocks Vault * NETWORK_CONNECTION - A connection in your Fireblocks network * COMPOUND - (deprecated) An asset retrieved by using the Compound DeFI protocol * FIAT_ACCOUNT - A third-party fiat account connected to your workspace * ONE_TIME_ADDRESS - A non-whitelisted asset from your Fireblocks Workspace * "*" - All types PolicySrcOrDestSubType: type: string enum: - EXTERNAL - INTERNAL - CONTRACT - EXCHANGETEST - '*' description: > * EXTERNAL - A whitelisted wallet assigned as external is typically used for addresses managed by your clients and counterparties * INTERNAL - A whitelisted wallet assigned as internal, is typically used for addresses that you control outside of your Fireblocks workspace * CONTRACT - A whitelisted wallet assigned as contract is for identifying and managing external smart contracts * EXCHANGETEST - Exchanges which operate only on testnet assets * "*" - All subtypes PolicySrcOrDestId: type: string description: | Defines the account id, options are * "*" - All accounts * Specific account id SrcOrDestAttributes: type: array description: > Defines source or destination component, options are: * id only * id and type - first item in the array MUST be id. * id, type and subtype - first item in the array MUST be id and second item MUST be type. items: anyOf: - $ref: '#/components/schemas/PolicySrcOrDestId' - $ref: '#/components/schemas/PolicySrcOrDestType' - $ref: '#/components/schemas/PolicySrcOrDestSubType' minItems: 1 maxItems: 3 AmountAggregationTimePeriodMethod: type: string enum: - PER_SINGLE_MATCH - ACROSS_ALL_MATCHES description: | * PER_SINGLE_MATCH - Apply the limit to each listed entity * ACROSS_ALL_MATCHES - Apply the limit to the sum of all listed entities PolicyRule: type: object description: Policy rule which is enforced on transactions properties: operator: type: string description: >- (deprecated - replaced by "operators") | Defines users who can initiate the type of transaction to which the rule applies. options are * "*" - All users are allowed * Specific User id deprecated: true operators: type: object description: >- Defines users/groups who can initiate the type of transaction to which the rule applies. properties: wildcard: type: string enum: - '*' description: > If used then this property should appear as the only child property * "*" - All users are allowed users: type: array description: Set of users ids items: type: string usersGroups: type: array description: Set of group ids items: type: string services: type: array description: set of services to initiate transactions items: type: string transactionType: type: string enum: - TRANSFER - CONTRACT_CALL - PROGRAM_CALL - APPROVE - MINT - BURN - SUPPLY - REDEEM - STAKE - RAW - TYPED_MESSAGE description: | Defines the type of transaction to which the rule applies. * TRANSFER - Default. Transfers funds from one account to another * CONTRACT_CALL - Calls a smart contract, mainly for DeFi operations. * PROGRAM_CALL - Calls a smart contract for web3 operations on the Solana blockchain. * APPROVE - Allows a smart contract to withdraw from a designated wallet. * MINT - Perform a mint operation (increase supply) on a supported token * BURN - Perform a burn operation (reduce supply) on a supported token * SUPPLY - Use for DeFi to lend assets * REDEEM - Use for DeFi to get lending back * STAKE - Allows you to allocate and lock certain assets for earning staking rewards. * RAW - An off-chain message with no predefined format, use it to sign any message with your private key. * TYPED_MESSAGE - An off-chain message type that follows a predefined format, used to sign specific messages that are not actual transactions. designatedSigner: type: string description: >- (deprecated - replaced by "designatedSigners") Id representing the user who signs transactions that match a specific rule deprecated: true designatedSigners: type: object description: >- Set of ids representing the users who signs transactions that match a specific rule properties: users: type: array description: Set of users ids items: type: string usersGroups: type: array description: Set of group ids items: type: string type: type: string description: Policy rule type enum: - TRANSFER action: type: string enum: - ALLOW - BLOCK - 2-TIER description: > Defines what occurs when a transaction meets the rule's criteria * ALLOW - The transaction goes through and can be signed without requiring additional approvals * BLOCK - The transaction is automatically blocked * 2-TIER - Only these users or user groups can approve If any of them reject the transaction before the required approval threshold is met, the transaction doesn't go through The list of entities are set is "authorizationGroups" field asset: type: string description: | Defines the type of asset being transacted, options are * "*" - All assets * Specific asset srcType: description: (deprecated - replaced by "src") source account type deprecated: true allOf: - $ref: '#/components/schemas/PolicySrcOrDestType' srcSubType: description: (deprecated - replaced by "src") source sub account type deprecated: true allOf: - $ref: '#/components/schemas/PolicySrcOrDestSubType' srcId: description: (deprecated - replaced by "src") source account id deprecated: true allOf: - $ref: '#/components/schemas/PolicySrcOrDestId' src: type: object description: Defines source accounts the rule allows transfers to originate from properties: ids: type: array description: A set of ids in a tuple format items: $ref: '#/components/schemas/SrcOrDestAttributes' dstType: description: (deprecated - replaced by "dst") destination account type deprecated: true allOf: - $ref: '#/components/schemas/PolicySrcOrDestType' dstSubType: description: (deprecated - replaced by "dst") destination sub account type deprecated: true allOf: - $ref: '#/components/schemas/PolicySrcOrDestSubType' dstId: description: (deprecated - replaced by "dst") destination account id deprecated: true allOf: - $ref: '#/components/schemas/PolicySrcOrDestId' dst: type: object description: Defines the destination accounts the rule allows transfers to properties: ids: type: array description: A set of ids in a tuple format items: $ref: '#/components/schemas/SrcOrDestAttributes' dstAddressType: type: string enum: - WHITELISTED - ONE_TIME - '*' description: > Defines whether the destination to which you are sending funds must be whitelisted, to allow one-time transfers to non-whitelisted external addresses, or both. By default, you can only transfer to an external address after it’s whitelisted. * WHITELISTED - Can only be sent to whitelisted addresses. * ONE_TIME - Can only be sent to non-whitelisted external addresses. * "*" - can be sent to whitelisted addresses or non-whitelisted external amountCurrency: type: string enum: - USD - EUR - NATIVE description: > * USD - Limits the amount of any asset users can transfer based on the USD equivalent of the asset. * EUR - Limits the amount of any asset users can transfer based on the EURO equivalent of the asset. * NATIVE - Limits the amount of an asset a user can transfer when using a specific asset. amountScope: type: string enum: - SINGLE_TX - TIMEFRAME description: > * SINGLE_TX - limit applies to a single transaction * TIMEFRAME - limit applies to all transactions within the defined time period amount: description: >- Defines the value a transaction must exceed for the rule to apply to it (according to the amountCurrency field) anyOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) periodSec: type: number description: > Time period in seconds applied by the amountScope field to accumulate transferred amounts in transactions that match the rule, until the total exceeds the value you specify under Minimum. When the specified amount is reached within that period, whether by one or many transactions, further transactions in that period either fail or require more approvals. authorizers: type: array description: >- (deprecated - replaced by "authorizationGroups") Allowed entities which can approves a transaction deprecated: true items: type: string authorizersCount: type: number description: >- (deprecated - replaced by "authorizationGroups") Min amount of entities which are needed to approve a transaction deprecated: true authorizationGroups: type: object description: Defines the transaction approval terms properties: logic: type: string enum: - AND - OR description: > * AND - requires approval of all authorization groups * OR - requires approval of at least one of the authorization groups allowOperatorAsAuthorizer: type: boolean description: >- Defines whether the user who initiates a transaction can approve their own transaction and count toward the approval threshold for their transaction groups: type: array description: Groups of entities which can approve the transaction items: type: object properties: users: type: array description: User ids items: type: string usersGroups: type: array description: Group ids items: type: string th: type: number description: >- Represents the min amount of entities which are required to approve the transaction, default is 1. amountAggregation: type: object description: > Defines the method by which the Policy Engine calculates accumulation. It uses the Initiator, Source, and Destination to calculate accumulation toward the value under Minimum, for the time under Time Period. properties: operators: $ref: '#/components/schemas/AmountAggregationTimePeriodMethod' srcTransferPeers: $ref: '#/components/schemas/AmountAggregationTimePeriodMethod' dstTransferPeers: $ref: '#/components/schemas/AmountAggregationTimePeriodMethod' rawMessageSigning: type: object description: Raw message signing configuration properties: algorithm: type: string derivationPath: type: object properties: path: type: array items: type: number applyForApprove: type: boolean description: >- Applying this rule over APPROVE type transactions (can only be enabled when rule's transaction type is TRANSFER) applyForTypedMessage: type: boolean description: >- Applying this rule over TYPED_MESSAGE type transactions (can only be enabled when rule's transaction type is CONTRACT_CALL) externalDescriptor: type: string description: A unique id identifying the rule required: - type - action - asset - amountCurrency - amountScope - amount - periodSec PolicyMetadata: type: object description: Policy related metadata properties: editedBy: type: string description: The user id of the user who last edited the policy editedAt: type: string description: The timestamp of the last edit of the policy publishedBy: type: string description: The user id of the user who last published the policy publishedAt: type: string description: The timestamp of the last publish of the policy PolicyResponse: type: object description: Response object for policy operations properties: rules: type: array description: A set of policy rules items: $ref: '#/components/schemas/PolicyRule' metadata: $ref: '#/components/schemas/PolicyMetadata' required: - rules - metadata PolicyRuleError: type: object description: Rule validation result error properties: errorMessage: type: string description: Error message errorCode: type: number description: error code errorCodeName: type: string description: error code name errorField: type: string enum: - operator - operators - authorizationGroups - designatedSigner - designatedSigners - contractMethods - amountAggregation - src - dst description: | The field which the error relates to * operator - transaction initiator * operators - transaction initiators * authorizationGroups - transaction authorizer groups * designatedSigner - transaction signer * designatedSigners - transaction signers * contractMethods - contract methods * amountAggregation - transaction amount aggregation configuration * src - transaction source asset configuration * dst - transaction destination asset configuration required: - errorMessage - errorCode - errorCodeName - errorField PolicyRuleCheckResult: type: object description: The rule validation result properties: index: type: number description: Rule index number in the policy status: type: string description: Validation status enum: - ok - failure errors: type: array description: A set of rule validation error objects items: $ref: '#/components/schemas/PolicyRuleError' required: - index - status - errors PolicyCheckResult: type: object description: Policy rules validation result properties: errors: type: number description: Number of errors result: type: array description: A set of validation results items: $ref: '#/components/schemas/PolicyRuleCheckResult' required: - errors - result PolicyValidation: type: object description: Policy validation object properties: status: type: string description: Validation status checkResult: $ref: '#/components/schemas/PolicyCheckResult' required: - status - checkResult PolicyAndValidationResponse: type: object description: Policy validation properties: policy: $ref: '#/components/schemas/PolicyResponse' validation: $ref: '#/components/schemas/PolicyValidation' required: - policy - validation DraftResponse: type: object description: Response object for draft operations properties: status: type: string description: Operation status rules: type: array description: Draft rules items: $ref: '#/components/schemas/PolicyRule' draftId: type: string description: Draft unique id metadata: $ref: '#/components/schemas/PolicyMetadata' required: - draftId - status - rules - metadata DraftReviewAndValidationResponse: type: object description: Draft validation properties: draftResponse: $ref: '#/components/schemas/DraftResponse' validation: $ref: '#/components/schemas/PolicyValidation' required: - draftResponse - validation PolicyRules: type: object properties: rules: description: Policy rules type: array items: $ref: '#/components/schemas/PolicyRule' PolicyStatus: type: string enum: - SUCCESS - UNVALIDATED - INVALID_CONFIGURATION - PENDING - PENDING_CONSOLE_APPROVAL - AWAITING_QUORUM - UNHANDLED_ERROR description: | * SUCCESS - success * UNVALIDATED - not validated yet * INVALID_CONFIGURATION - at least one rule is invalid * PENDING - pending approval * PENDING_CONSOLE_APPROVAL - pending approval from the console app * AWAITING_QUORUM - pending quorum approval * UNHANDLED_ERROR - unhandled error PublishResult: type: object description: Response object of the publish policy operation properties: status: $ref: '#/components/schemas/PolicyStatus' rules: type: array items: $ref: '#/components/schemas/PolicyRule' checkResult: $ref: '#/components/schemas/PolicyCheckResult' metadata: $ref: '#/components/schemas/PolicyMetadata' required: - status - rules - checkResult - metadata UserId: type: string description: The unique identifier of the user UserRole: type: string description: The role of the user enum: - OWNER - ADMIN - SIGNER - COLLATERALS_SIGNER - EDITOR - APPROVER - VIEWER - NON_SIGNING_ADMIN - AUDITOR - NCW_ADMIN - NCW_SIGNER UserEnabled: type: boolean description: Whether the user is enabled or not UserStatus: type: string description: The status of the user enum: - PENDING_ACTIVATION - PENDING_DEVICE_PAIRING - PENDING_DEVICE_SETUP - READY UserType: type: string description: The type of the user (API or Console) enum: - API - CONSOLE ConsoleUser: type: object properties: id: $ref: '#/components/schemas/UserId' firstName: type: string description: The first name of the user example: Some First Name lastName: type: string description: The last name of the user example: Some Last Name email: type: string description: The email address of the user example: user@example.com role: $ref: '#/components/schemas/UserRole' enabled: $ref: '#/components/schemas/UserEnabled' status: $ref: '#/components/schemas/UserStatus' userType: $ref: '#/components/schemas/UserType' ConsoleUsers: type: array items: $ref: '#/components/schemas/ConsoleUser' GetConsoleUsersResponse: type: object properties: users: $ref: '#/components/schemas/ConsoleUsers' required: - users VaultAccountsTagAttachmentsRequest: type: object properties: tagIds: description: The IDs of the tags to attach example: ["df4c0987-30da-4976-8dcf-bc2dd41ae331", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"] type: array minItems: 1 maxItems: 200 items: type: string format: uuid vaultAccountIds: description: The IDs of the vault accounts to attach tags to example: ["0", "1"] type: array minItems: 1 maxItems: 200 items: type: string format: numeric required: - tagIds - vaultAccountIds CreateConsoleUser: type: object properties: firstName: type: string description: User's first name example: Some First Name lastName: type: string description: User' last name example: Some Last Name role: $ref: '#/components/schemas/UserRole' email: type: string description: User's valid email address example: user@example.com required: - firstName - lastName - role - email APIUserRole: type: string description: The role of the API Key enum: - ADMIN - SIGNER - COLLATERALS_SIGNER - EDITOR - APPROVER - VIEWER - NON_SIGNING_ADMIN - AUDITOR - NCW_ADMIN - NCW_SIGNER APIUser: type: object properties: id: $ref: '#/components/schemas/UserId' name: type: string description: The name of the API Key example: My API Key role: $ref: '#/components/schemas/APIUserRole' enabled: $ref: '#/components/schemas/UserEnabled' status: $ref: '#/components/schemas/UserStatus' userType: $ref: '#/components/schemas/UserType' APIUsers: type: array items: $ref: '#/components/schemas/APIUser' GetAPIUsersResponse: type: object properties: users: $ref: '#/components/schemas/APIUsers' required: - users CreateAPIUser: type: object properties: role: $ref: '#/components/schemas/APIUserRole' name: type: string description: User Name example: MyAPIEditor csrPem: type: string description: > API requests are authenticated by providing in each request: a. API Key in the `X-API-Key` header b. Auth header - `Authorization: Bearer ` while the JWT is signed with an RSA 4096 private key. When creating a new API Key, you need to generate an RSA 4096 private key and a CSR file. The CSR file is uploaded to Fireblocks upon the user creation and used later on for signature validation (Auth JWT signature validation). For more info read the following [article](https://developers.fireblocks.com/docs/manage-api-keys) example: >- -----BEGIN CERTIFICATE REQUEST-----aaa-----END CERTIFICATE REQUEST----- coSignerSetupType: type: string description: > Required for Signer/Admin API users that planned to be paired with an API Co-Signer Machine. - SGX_MACHINE: For SGX enabled servers - FIREBLOCKS_CCMT: Fireblocks Communal Co-Signer (for Testnet workspaces only) - NITRO_MACHINE: For AWS Nitro Enclave enabled servers - GCP_CONFIDENTIAL_SPACE: For GCP Confidential Space servers For more information about Fireblocks Co-Signer setup please read the following [article](https://support.fireblocks.io/hc/en-us/articles/12006018592156-API-Co-Signer-Overview). enum: - SGX_MACHINE - FIREBLOCKS_CCMT - NITRO_MACHINE coSignerSetupIsFirstUser: type: boolean description: >- Pass as `true`` if this is the first user on the your Co-Signer machine required: - role - name - csrPem GetWhitelistIpAddressesResponse: type: object properties: userId: type: string description: The ID of the user example: ceb990eb-838d-4de0-accf-924e8132dd67 whitelistedIps: nullable: true type: array items: type: string example: - 246.59.202.145 - 170.198.11.101 description: List of whitelisted ip addresses SmartTransferTicketTerm: type: object description: Data object with result data nullable: true properties: id: type: string description: Unique id of Smart Transfer ticket term example: 84601ee2-b10f-4aa8-be9c-dba259a3533a ticketId: type: string description: Unique id of Smart Transfer ticket example: 900f04c3-83bc-428d-b681-aef682059637 asset: type: string description: Asset name example: BTC x-fb-entity: asset amount: type: string description: Amount example: '133.789161216184' amountUsd: type: string description: Amount USD example: '1333.789161216184' fromNetworkId: type: string description: Identifier of the origination Network Profile example: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670 fromNetworkIdName: type: string description: Source network name example: Source network profile name toNetworkId: type: string description: Identifier of the destination Network Profile example: 5d009697-c29b-48e0-aff8-1f4305d19dc2 toNetworkIdName: type: string description: Destination network name example: Destination network profile name txHash: type: string description: Blockchain TX hash example: '0x2446f1fd773fbb9f080e674b60c6a033c7ed7427b8b9413cf28a2a4a6da9b56c' nullable: true fbTxId: type: string description: >- Fireblocks transaction ID. It is set when the funding transaction is created. example: 79075e8c-1fd9-4c97-9575-3bd9229e5c0d nullable: true txStatus: type: string description: Ticket term transaction status example: COMPLETED nullable: true enum: - queued - submitted - pendingSignature - pendingAuthorization - broadcasting - confirming - pendingAmlScreening - completed - cancelled - failed - rejected - blocked - thirdPartyPendingManualApproval - thirdPartyPending - partiallyCompleted - cancelling status: type: string description: Ticket term status example: CREATED nullable: false enum: - CREATED - FUNDING - FUNDING_FAILED - FUNDED - REJECTED createdAt: format: date-time type: string description: Date and time when the term is created. example: '2023-03-01T11:23:00Z' updatedAt: format: date-time type: string description: Date and time of last term update. example: '2023-03-01T11:23:00Z' required: - id - ticketId - asset - amount - fromNetworkId - fromNetworkIdName - toNetworkId - toNetworkIdName - txHash - fbTxId - txStatus - status - createdAt - updatedAt SmartTransferTicket: type: object description: Data object with result data nullable: true properties: id: type: string description: Unique id of Smart Transfer ticket example: 118320d2-761f-46c7-96cf-65e71a370b36 type: type: string enum: - ASYNC description: Kind of Smart Transfer. Can be either `ASYNC` or `ATOMIC` example: ASYNC direction: enum: - EXCHANGE - SEND - RECEIVE - INTERMEDIATE type: string description: Direction of Smart Transfer. example: EXCHANGE status: enum: - DRAFT - PENDING_APPROVAL - OPEN - IN_SETTLEMENT - FULFILLED - EXPIRED - CANCELED type: string description: Current status of Smart Transfer ticket example: DRAFT terms: description: Ticket terms (legs) example: - id: 84601ee2-b10f-4aa8-be9c-dba259a3533a ticketId: 118320d2-761f-46c7-96cf-65e71a370b36 amount: '10.00' asset: ETH fromNetworkId: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670 toNetworkId: 5d009697-c29b-48e0-aff8-1f4305d19dc2 status: CREATED - id: 84601ee2-b10f-4aa8-be9c-dba259a3533a ticketId: 118320d2-761f-46c7-96cf-65e71a370b36 amount: '10.00' asset: ETH fromNetworkId: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670 fromNetworkIdName: Source network profile 1 toNetworkId: 5d009697-c29b-48e0-aff8-1f4305d19dc2 toNetworkIdName: Destination network profile 1 status: FUNDING connectionId: 14817440-d5c8-4dbd-a754-ad415683610c fbTxId: 79075e8c-1fd9-4c97-9575-3bd9229e5c0d createdAt: '2023-03-01T11:23:00.000Z' updatedAt: '2023-03-01T11:23:00.000Z' - id: 84601ee2-b10f-4aa8-be9c-dba259a3533a ticketId: 118320d2-761f-46c7-96cf-65e71a370b36 amount: '10.00' asset: ETH fromNetworkId: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670 fromNetworkIdName: Source network profile 2 toNetworkId: 5d009697-c29b-48e0-aff8-1f4305d19dc2 toNetworkIdName: Destination network profile 2 status: FUNDED connectionId: 14817440-d5c8-4dbd-a754-ad415683610c fbTxId: 79075e8c-1fd9-4c97-9575-3bd9229e5c0d txHash: >- 0xb5c8bd9430b6cc87a0e2fe110ece6bf527fa4f170a4bc8cd032f768fc5219838 createdAt: '2023-03-01T11:23:00.000Z' updatedAt: '2023-03-01T11:23:00.000Z' type: array items: $ref: '#/components/schemas/SmartTransferTicketTerm' expiresIn: type: number description: >- Number of hours for expiration.This data is valid only it ticket not in DRAFT state and it will be used to calculate expiresAt value example: '13' expiresAt: format: date-time type: string description: >- Date and time at which the ticket will expire if no funding is performed. example: '2023-03-01T11:23:00Z' submittedAt: format: date-time type: string description: Date and time when ticket is submitted. example: '2023-03-01T11:23:00Z' expiredAt: format: date-time type: string description: Date and time when ticket is expired. example: '2023-03-01T11:23:00Z' canceledAt: format: date-time type: string description: Date and time when ticket is canceled. example: '2023-03-01T11:23:00Z' fulfilledAt: format: date-time type: string description: Date and time when ticket is fulfilled. example: '2023-03-01T11:23:00Z' externalRefId: type: string description: External Ref ID for Smart Transfer ticket. example: 2631ffb9d8fe47c6b0825b5be28297da note: type: string description: Note example: Random note createdByNetworkId: type: string description: ID of network profile that created ticket example: 3eaa94c5-128b-4835-bb08-3111bb6564c7 createdByNetworkIdName: type: string description: Name of network profile that created ticket example: Network id name canceledByNetworkIdName: type: string description: Name of network profile that canceled ticket example: Network id name createdAt: format: date-time type: string description: Date and time at which the ticket is created. example: '2023-03-01T11:23:00Z' updatedAt: format: date-time type: string description: Date and time of last ticket update. example: '2023-03-01T11:23:00Z' canceledByMe: type: boolean createdByMe: type: boolean required: - id - type - status - createdByNetworkId - createdByNetworkIdName - createdAt - updatedAt SmartTransferTicketFilteredResponse: type: object properties: message: type: string description: Result message example: Success nullable: true after: type: string description: Unique id of next filtered result example: 118320d2-761f-46c7-96cf-65e71a370b36 data: description: Result that match given query criteria type: array items: $ref: '#/components/schemas/SmartTransferTicket' required: - message - after - data SmartTransferForbiddenResponse: type: object properties: message: type: string description: Forbidden error code example: You do not have permission to execute this action code: type: string description: Error code example: 3002 required: - message - code SmartTransferCreateTicketTerm: type: object properties: asset: type: string description: Asset name example: BTC x-fb-entity: asset amount: type: number description: Amount example: '133.789161216184' fromNetworkId: type: string description: Identifier of the origination Network Profile example: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670 toNetworkId: type: string description: Identifier of the destination Network Profile example: 5d009697-c29b-48e0-aff8-1f4305d19dc2 required: - asset - amount - fromNetworkId - toNetworkId SmartTransferCreateTicket: type: object properties: createdByNetworkId: type: string example: cf6c9e4b-916a-4dae-9421-8782b20a44ea type: type: string enum: - ASYNC - DVP description: >- **Note:** The `DVP` value is in Early Access and should only be used if Fireblocks has enabled it in your workspace. Contact your Customer Success Manager for more information. expiresIn: type: number example: 24 minimum: 1 maximum: 48 description: >- Number of hours after which an OPEN ticket will expire if no term is funded. terms: type: array items: $ref: '#/components/schemas/SmartTransferCreateTicketTerm' externalRefId: type: string maxLength: 64 example: abcdefg note: type: string maxLength: 1024 example: Some Note submit: type: boolean required: - createdByNetworkId - type SmartTransferTicketResponse: type: object properties: message: type: string description: Result message example: Success nullable: true data: $ref: '#/components/schemas/SmartTransferTicket' required: - message SmartTransferBadRequestResponse: type: object properties: message: type: string description: Bad request error message example: Your request contains invalid data code: type: string description: Bad request error code example: 2e7a7a5d-c85c-4ea5-9adf-668cba8b4eb4 required: - message - code SmartTransferNotFoundResponse: type: object properties: message: type: string description: Not found error message example: Requested entity not found code: type: string description: Error code example: c943bdb8-ada0-4ba6-8645-74fcf188a10f required: - message - code SmartTransferSetTicketExpiration: type: object properties: expiresIn: type: number description: >- Sets ticket expiration time (in hours) after a ticket is submitted. If no funding source is set to any term, the ticket will automatically expire after given time. minimum: 1 maximum: 48 required: - expiresIn SmartTransferSetTicketExternalId: type: object properties: externalRefId: type: string example: abcdefg minLength: 5 maxLength: 64 description: >- Each workspace can set their own external id they want to refer to this Ticket required: - externalRefId SmartTransferSubmitTicket: type: object properties: expiresIn: type: number description: >- Sets the ticket expiration time (in hours) after the ticket is submitted. If no funding source is set for any term, the ticket will automatically expire after given time. If expiresIn is not sent ticket will not expire. minimum: 1 maximum: 48 example: 24 SmartTransferFundDvpTicket: type: object properties: fee: type: string description: Transaction fee example: '0.001' feeLevel: type: string enum: - LOW - MEDIUM - HIGH description: Transaction fee level. example: MEDIUM note: type: string description: Transaction note example: Transaction note SmartTransferTicketTermResponse: type: object properties: message: type: string description: Result message example: Success nullable: true data: $ref: '#/components/schemas/SmartTransferTicketTerm' required: - message SmartTransferUpdateTicketTerm: type: object properties: asset: type: string description: Asset name example: BTC x-fb-entity: asset amount: type: number description: Amount example: '133.789161216184' fromNetworkId: type: string description: Identifier of the origination Network Profile example: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670 toNetworkId: type: string description: Identifier of the destination Network Profile example: 5d009697-c29b-48e0-aff8-1f4305d19dc2 required: - asset - amount - fromNetworkId - toNetworkId SmartTransferFundTerm: type: object properties: asset: type: string description: Asset name example: BTC x-fb-entity: asset amount: type: string description: Amount example: '133.789161216184' networkConnectionId: type: string description: Id of the network connection used. example: 0805153d-e77d-4f9b-8818-e507eeb2d122 srcId: type: string description: Id of the vault that is used as the source of the asset. example: '2' srcType: type: string description: Source of the asset. example: VAULT_ACCOUNT fee: type: string description: Transaction fee example: '0.001' feeLevel: type: string description: Transaction fee level. example: MEDIUM note: type: string description: Transaction note example: Transaction note required: - asset - amount - networkConnectionId - srcId - srcType SmartTransferApproveTerm: type: object properties: asset: type: string description: Asset name example: USDC x-fb-entity: asset amount: type: string description: Amount example: '133.789161216184' srcId: type: string description: Id of the vault that is used as the source of the asset. example: '2' fee: type: string description: Transaction fee example: '0.001' feeLevel: type: string enum: - LOW - MEDIUM - HIGH description: Transaction fee level. example: MEDIUM note: type: string description: Transaction note example: Transaction note required: - asset - amount - srcId SmartTransferManuallyFundTerm: type: object properties: txHash: type: string maxLength: 64 example: 23bd90f86b9c65716b3929440c03dc19e5da0981632391e20a24d3057e4fa5e9 required: - txHash SmartTransferUserGroups: type: object description: Smart Transfers User Groups Object nullable: true properties: userGroupIds: description: Data object with result data nullable: true type: array items: type: string example: 1ad4e96c-b59b-4224-84d1-ade6932cacc4 required: - userGroupIds SmartTransferUserGroupsResponse: type: object properties: message: type: string description: Result message example: Success nullable: true data: $ref: '#/components/schemas/SmartTransferUserGroups' required: - message SmartTransferSetUserGroups: type: object properties: userGroupIds: type: array items: type: string example: 1ad4e96c-b59b-4224-84d1-ade6932cacc4 required: - userGroupIds SmartTransferCoinStatistic: type: object description: Smart transfer coin statistic properties: asset: type: string example: BTC amount: type: string example: 15 SmartTransferStatistic: type: object description: Smart transfers statistic properties: inflow: type: object description: Inflow tickets data properties: coins: type: array items: $ref: '#/components/schemas/SmartTransferCoinStatistic' ticketCount: type: integer example: 4 outflow: type: object description: Outflow tickets data properties: coins: type: array items: $ref: '#/components/schemas/SmartTransferCoinStatistic' ticketCount: type: integer example: 4 totalActiveTickets: description: Number of total active tickets type: integer example: 5 totalInactiveTickets: description: Number of total inactive tickets (expired, canceled, completed) type: integer example: 5 required: - inflow - outflow - totalActiveTickets - totalInactiveTickets Task: type: object properties: id: type: string jobId: type: string type: type: string tenantId: type: string created: type: number updated: type: number state: type: string Job: type: object properties: id: type: string tenantId: type: string type: type: string userId: type: string created: type: number updated: type: number state: type: string tasks: type: array items: $ref: '#/components/schemas/Task' Jobs: type: array items: $ref: '#/components/schemas/Job' Tasks: type: array items: $ref: '#/components/schemas/Task' Cosigner: type: object properties: archived: type: boolean description: Whether the cosigner is archived example: false id: type: string description: The unique identifier of the cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid name: type: string description: The name of the cosigner example: My Cosigner 1 nullable: true required: - archived - id CosignersPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/Cosigner' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data RenameCosigner: type: object properties: name: type: string description: The new name of the cosigner example: My Cosigner 1 nullable: true ApiKey: type: object properties: id: type: string description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid lastSeen: format: date-time type: string description: The date the API key was last seen example: '2021-07-01T00:00:00.000Z' required: - id - lastSeen TravelRuleVaspForVault: type: object properties: vaspDid: description: VASP DID type: string example: did:ethr:0x5dddec8dd669c49304ddbcba36ccc6e0798534dc CreateMultipleAccountsRequest: type: object properties: count: description: Count type: integer example: 1000 baseAssetIds: description: Array of asset IDs type: array items: type: string example: - "ETH" - "BTC" - "SOL" names: description: Names to assign to vault accounts. if vaultAccountNamesStartingIndex or prefix is used it'll fail type: array items: type: string example: - "first va" - "client 65502e71-ecdf-48da-a074-c1753befc7fb" vaultAccountNamesStartingIndex: description: Copy vault accounts names starting from this index. If names array is used it'll fail type: integer example: 0 prefix: description: When copying from existing vault accounts (vaultAccountNamesStartingIndex) then adding a prefix to the names. If names array is used it'll fail type: string example: "Copied from: " required: - baseAssetIds - count JobCreated: type: object properties: jobId: type: string CreateAssetsBulkRequest: type: object properties: assetId: description: The ID of the new asset type: string vaultAccountIdFrom: description: The smallest vault account ID in the range type: string vaultAccountIdTo: description: The largest vault account ID in the range type: string GetExchangeAccountsCredentialsPublicKeyResponse: type: object properties: publicKey: type: string description: Public key string tenantId: type: string description: Tenant identifier required: - publicKey - tenantId AssetClass: type: string example: FT enum: - NATIVE - FT - FIAT - NFT - SFT AssetDetailsOnchain: type: object properties: symbol: type: string description: The asset symbol example: USDT name: type: string description: The asset name example: Tether USD address: type: string description: The asset address example: "0xdAC17F958D2ee523a2206206994597C13D831ec8" decimals: type: number description: Number of decimals example: 6 standards: description: Supported standards type: array items: type: string example: - ERC20 required: - symbol - name - decimals Media: type: object properties: url: type: string description: Media URL example: https://example.com/image.png type: type: string description: Media type example: image/svg+xml enum: - image/svg+xml - image/png attributes: description: Media attributes type: object properties: monochrome: type: boolean description: Monochrome flag example: true required: - url - type AssetDetailsMetadata: type: object properties: scope: $ref: '#/components/schemas/AssetScope' deprecated: type: boolean description: Is asset deprecated example: false deprecationReferralId: type: string description: New asset ID replacement example: 056776ab-9efa-4219-9820-9ece0cc4d90d verified: type: boolean description: Is asset verified by Fireblocks example: false website: type: string description: Vendor’s website example: https://example.org media: description: Asset’s media type: array items: $ref: '#/components/schemas/Media' note: $ref: '#/components/schemas/AssetNote' features: description: Asset features type: array items: $ref: '#/components/schemas/AssetFeature' required: - scope - verified - deprecated AssetFeature: type: string description: Asset feature example: STABLECOIN enum: - STABLECOIN AssetNote: type: object properties: text: type: string description: Note content example: "Pay attention to ETH gas fees" userId: type: string format: uuid description: Who updated the note (UUID) example: "056776ab-9efa-4219-9820-9ece0cc4d90d" userName: type: string description: User name example: "Test test" updatedAt: type: string format: date-time description: ISO Timestamp when last updated example: "2025-06-08T19:42:49.000Z" required: - text - userId - userName - updatedAt AssetMetadataRequest: type: object properties: note: $ref: '#/components/schemas/AssetNoteRequest' AssetNoteRequest: type: object properties: text: type: string description: Asset user note example: "Pay attention to ETH gas fees" UpdateAssetUserMetadataRequest: type: object properties: metadata: $ref: '#/components/schemas/AssetMetadataRequest' Asset: type: object properties: id: type: string description: The ID of the asset example: 9f9f7062-df90-4fc0-8697-96685184358d legacyId: type: string description: The Legacy ID of the asset example: USDT_ERC20 blockchainId: type: string description: The ID of the asset's blockchain example: e85208ff-3b15-44e9-af14-0ed0280b2a15 displayName: type: string description: Asset's display name example: Tether USD displaySymbol: type: string description: Asset's display symbol example: USDT assetClass: $ref: '#/components/schemas/AssetClass' onchain: $ref: '#/components/schemas/AssetDetailsOnchain' metadata: $ref: '#/components/schemas/AssetDetailsMetadata' required: - id - legacyId - assetClass - metadata - displayName - displaySymbol AssetNotFoundErrorResponse: type: object properties: message: type: string description: Not found error code example: Asset with specified ID not found code: type: number description: Error code example: 1504 required: - message - code SetAssetPriceRequest: type: object properties: currency: type: string description: Currency (according to ISO 4217 currency codes) example: USD price: type: number description: Price in currency example: 3100 required: - currency - price AssetPriceResponse: type: object properties: legacyId: type: string description: The ID of the asset example: ETH lastUpdateAt: type: number description: Time of last price update example: 1716898542 currency: type: string description: Currency (according to ISO 4217 currency codes) example: USD price: type: number description: Price in currency example: 3500 source: type: string description: Source of the price data example: PRIVATE enum: - PUBLIC - PRIVATE required: - legacyId - lastUpdateAt - currency - price - source AssetPriceForbiddenErrorResponse: type: object properties: message: type: string description: Forbidden error message example: Tenant is not allowed to update asset code: type: number description: Error code example: 3002 required: - message - code AssetPriceNotFoundErrorResponse: type: object properties: message: type: string description: Not found error message example: Currency not found code: type: number description: Error code example: 3001 required: - message - code BlockchainOnchain: type: object properties: protocol: type: string description: The protocol of the blockchain example: EVM chainId: type: string description: Network/chain ID example: 1 test: type: boolean description: Is test blockchain example: false signingAlgo: enum: - ECDSA_SECP256K1 - EDDSA_ED25519 type: string description: Signing alghorithm example: ECDSA_SECP256K1 required: - protocol - test - signingAlgo BlockchainMedia: type: object properties: url: type: string description: Media URL example: https://example.com/image.png type: type: string description: Media type example: image/svg+xml enum: - image/svg+xml - image/png required: - url - type BlockchainExplorer: type: object properties: base: type: string description: Explorer base url example: https://example.com address: type: string description: Explorer address url example: https://example.com/address/{address} tx: type: string description: Explorer transaction url example: https://example.com/tx/{tx} token: type: string description: Explorer token url example: https://example.com/nft/{contract}/{tokenId} required: - base AssetScope: type: string description: The scope of the asset example: GLOBAL enum: - GLOBAL - LOCAL BlockchainMetadata: type: object properties: scope: $ref: '#/components/schemas/AssetScope' deprecated: type: boolean description: Is blockchain deprecated example: false media: description: Blockchain’s media type: array items: $ref: '#/components/schemas/BlockchainMedia' explorer: $ref: '#/components/schemas/BlockchainExplorer' required: - scope - deprecated BlockchainResponse: type: object properties: id: type: string description: The ID of the blockchain example: 9f9f7062-df90-4fc0-8697-96685184357b legacyId: type: string description: The old blockchain ID representation of the blockchain example: ETH displayName: type: string description: The name of the blockchain example: Ethereum nativeAssetId: type: string description: Native asset ID of this blockchain example: 9f9f7062-df90-4fc0-8697-96685184356a onchain: $ref: '#/components/schemas/BlockchainOnchain' metadata: $ref: '#/components/schemas/BlockchainMetadata' required: - id - legacyId - displayName - nativeAssetId - onchain - metadata ListBlockchainsResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/BlockchainResponse' next: type: string description: Cursor to the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data - next BlockchainNotFoundErrorResponse: type: object properties: message: type: string description: Not found error code example: Blockchain with specified ID not found code: type: number description: Error code example: 1505 required: - message - code Players: type: object properties: id: type: string description: id of the player example: 47d3383e-37a3-43d5-90a4-de0ca8c5e258 maxLength: 36 minLength: 36 type: enum: - MOBILE - CLOUD type: string description: Type of the player example: MOBILE required: - id - type MpcKey: type: object properties: keyId: type: string example: 743f82cf-b526-4148-afb1-cd71f1dfee10 maxLength: 36 minLength: 36 userId: type: string example: da084d02-d446-413e-b4ce-1e3256517dfd description: The user id that owns the key maxLength: 36 minLength: 36 algorithm: type: number example: 201 description: The algorithm of the key players: description: The players that are associated with the key type: array items: $ref: '#/components/schemas/Players' lastPreprocessedIndex: type: number minimum: 0 example: '6' description: The last index used on this key required: - keyId - userId - algorithm - players GetMpcKeysResponse: type: object properties: tenantId: type: string example: bdb57751-921d-45d5-99fd-344cffb364f6 description: The workspace id of the keys maxLength: 36 minLength: 36 keys: description: The keys that are associated with the workspace type: array items: $ref: '#/components/schemas/MpcKey' required: - tenantId - keys SearchNetworkIdsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/NetworkIdResponse' next: type: string AddCosignerRequest: type: object properties: apiKeyId: type: string description: The id of the API key to be paired with the cosigner example: 123e4567-e89b-12d3-a456-426614174000 format: uuid name: type: string description: The name of the cosigner example: My Cosigner 1 minLength: 1 existingCosigner: type: boolean description: Whether the cosigner already exists in another workspace default: false example: false required: - apiKeyId - name AddCosignerResponse: type: object properties: apiKeyId: type: string description: The id of the API key to be paired with the cosigner example: 123e4567-e89b-12d3-a456-426614174000 format: uuid name: type: string description: The name of the cosigner example: My Cosigner 1 minLength: 1 existingCosigner: type: boolean description: Whether the cosigner already exists in another workspace default: false example: false pendingCosignerId: type: string description: The unique identifier of a pending cosigner example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid required: - apiKeyId - name - pendingCosignerId PairApiKeyRequest: type: object properties: callbackHandler: $ref: '#/components/schemas/CallbackHandlerRequest' PairApiKeyResponse: type: object properties: id: type: string description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid callbackHandler: $ref: '#/components/schemas/CallbackHandlerRequest' required: - id UpdateCallbackHandlerRequest: type: object properties: callbackHandler: $ref: '#/components/schemas/CallbackHandlerRequest' UpdateCallbackHandlerResponse: type: object properties: id: type: string description: The unique identifier of the API key example: 44fcead0-7053-4831-a53a-df7fb90d440f format: uuid callbackHandler: $ref: '#/components/schemas/CallbackHandlerRequest' required: - id CallbackHandlerRequest: type: object properties: url: type: string description: The callback handler's URL example: https://example.com/callback-handler publicKey: type: string description: The callback handler's public key example: |- -----BEGIN PUBLIC KEY----- ... truncated ...-----END PUBLIC KEY----- cert: type: string description: The callback handler's certificate example: |- -----BEGIN CERTIFICATE----- ... truncated ... -----END CERTIFICATE----- required: - url Status: type: object properties: status: type: string description: The status of the command enum: - WAITING_FOR_APPROVAL - APPROVED - CANCELLED - REJECTED - COMPLETED example: COMPLETED type: type: string description: The type of the command enum: - PAIR_API_KEY - UPDATE_CALLBACK_HANDLER - UNPAIR_API_KEY example: PAIR_API_KEY required: - status - type ApiKeysPaginatedResponse: type: object properties: data: type: array description: The data of the current page items: $ref: '#/components/schemas/ApiKey' next: type: string description: The ID of the next page example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9 nullable: true required: - data responses: Error: description: Error Response headers: X-Request-ID: $ref: '#/components/headers/X-Request-ID' content: application/json: schema: $ref: '#/components/schemas/ErrorSchema' 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 x-readme: explorer-enabled: false samples-languages: - curl - javascript - python