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 tags: - name: Workspace Management description: Workspace Management APIs - name: Policy Editor (Beta) description: Transaction Authorization Policy Management APIs - name: Compliance description: Anti Money Laundering and Travel Rule policies APIs - name: Blockchains & Assets description: Blockchains & Assets Management APIs - name: Vaults description: Vault Accounts Management APIs - name: Transactions description: Transactions Management APIs - name: Gas Station description: Gas Station Management APIs - name: Whitelisted Internal Wallets description: Internal Wallets (Whitelisted Addresses) APIs - name: Whitelisted External Wallets description: External Wallets (Whitelisted Addresses) APIs - name: Whitelisted Contracts description: Contracts (Whitelisted Addresses) APIs - name: Fireblocks Network description: Fireblocks Network Management APIs - name: Smart Transfers description: Smart Transfers Management APIs - name: Exchange Accounts description: Exchange Accounts Management APIs - name: Fiat Accounts description: Fiat Accounts Management APIs - name: Tokenization description: Tokenization Management APIs - name: Contract Templates description: Contract Templates Management APIs - name: Deployed Contracts description: Deployed Contracts Management APIs - name: Contract Interactions description: Contract Interactions Management APIs - name: Staking description: Staking Management APIs - name: NFTs description: NFTs Management APIs - name: dApp Connections description: dApp Connections Management APIs - name: Cosigners (Beta) description: Cosigners Management APIs - name: Webhooks description: Webhooks Management APIs - name: Off Exchange description: Off Exchange Management APIs - name: Payments - Payout description: Payouts Management APIs - name: Payments - Flows description: Flows Management APIs - name: Key Link (Beta) description: Key Link Management APIs paths: /vault/accounts: get: x-internal: true deprecated: true summary: Get vault accounts description: DEPRECATED - Please use `/vault/accounts_paged` endpoint instead tags: - Vaults 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 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 - 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 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: python label: Python source: vaultAccount = fireblocks.create_vault_account(name, hiddenOnUI, customer_ref_id, auto_fueling) - lang: javascript label: Javascript source: const vaultAccount = await fireblocks.createVaultAccount(name, hiddenOnUI, customerRefId, autoFueling); /vault/accounts_paged: get: summary: Get vault accounts (Paginated) description: Gets all vault accounts in your workspace. This endpoint returns a limited amount of results with a quick response time. tags: - Vaults x-readme: code-samples: - language: python code: vault_accounts = fireblocks.get_vault_accounts_with_page_info(filters) name: Fireblocks SDK Python example - 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 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. 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 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: python label: Python source: vault_accounts = fireblocks.get_vault_accounts_with_page_info(filters) - lang: javascript label: Javascript source: const vaultAccounts = await fireblocks.getVaultAccountsWithPageInfo(filters); /vault/accounts/{vaultAccountId}: get: summary: Get a vault account by ID description: Get a vault account by its unique ID tags: - Vaults x-readme: code-samples: - language: python code: vault_account = fireblocks.get_vault_account(vault_account_id) name: Fireblocks SDK Python example - 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 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: python label: Python source: vault_account = fireblocks.get_vault_account(vault_account_id) - lang: javascript label: Javascript source: const vaultAccount = await fireblocks.getVaultAccount(vault_account_id); put: summary: Rename a vault account description: Renames the requested vault account tags: - Vaults x-readme: code-samples: - language: python code: vaultAccount = fireblocks.update_vault_account(vault_account_id, name) name: Fireblocks SDK Python example - 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 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: python label: Python source: vaultAccount = fireblocks.update_vault_account(vault_account_id, name) - lang: javascript label: Javascript source: const vaultAccount = await fireblocks.updateVaultAccount(vautlAccountId, name); /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. tags: - Vaults x-readme: code-samples: - language: python code: vault_accounts = fireblocks.get_asset_wallets(filters) name: Fireblocks SDK Python example - 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 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: python label: Python source: vault_accounts = fireblocks.get_asset_wallets(filters) - lang: javascript label: Javascript source: const vaultAccounts = await fireblocks.getAssetWallets(filters); /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. NOTE: Hiding the vault account from the web console will also hide all the related transactions to/from this vault. tags: - Vaults x-readme: code-samples: - language: python code: vaultAsset = fireblocks.hide_vault_account(vault_account_id) name: Fireblocks SDK Python example - 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 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: python label: Python source: vaultAsset = fireblocks.hide_vault_account(vault_account_id) - lang: javascript label: Javascript source: const vaultAsset = await fireblocks.hideVaultAccount(vaultAccountId); /vault/accounts/{vaultAccountId}/unhide: post: summary: Unhide a vault account in the console description: Makes a hidden vault account visible in web console view tags: - Vaults x-readme: code-samples: - language: python code: vaultAsset = fireblocks.unhide_vault_account(vault_account_id) name: Fireblocks SDK Python example - 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 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: python label: Python source: vaultAsset = fireblocks.unhide_vault_account(vault_account_id) - lang: javascript label: Javascript source: const vaultAsset = await fireblocks.unhideVaultAccount(vaultAccountId); /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). x-readme: code-samples: - language: python code: vaultAsset = fireblocks.activate_vault_asset(vault_account_id, asset_id) name: Fireblocks SDK Python example - language: javascript code: const vaultAsset = await fireblocks.activateVaultAsset(vautlAccountId, assetId); name: Fireblocks SDK Javascript example - 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 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: python label: Python source: vaultAsset = fireblocks.activate_vault_asset(vault_account_id, asset_id) - lang: javascript label: Javascript source: const vaultAsset = await fireblocks.activateVaultAsset(vautlAccountId, assetId); /vault/accounts/{vaultAccountId}/set_customer_ref_id: post: summary: Set an AML/KYT customer reference ID for a vault account description: Assigns an AML/KYT customer reference ID for the vault account 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 - 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 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: python label: Python source: vaultAsset = fireblocks.set_vault_account_customer_ref_id(vault_account_id, customer_ref_id) - lang: javascript label: Javascript source: | const vaultAsset = await fireblocks.setCustomerRefIdForVaultAccount( vaultAccountId, customerRefId ); /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. x-readme: code-samples: - language: python code: result = fireblocks.set_auto_feul(vault_account_id, auto_fuel) name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.setAutoFuel(vaultAccountId, autoFuel; name: Fireblocks SDK Javascript example - 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 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: python label: Python source: result = fireblocks.set_auto_feul(vault_account_id, auto_fuel) - lang: javascript label: Javascript source: const result = await fireblocks.setAutoFuel(vaultAccountId, autoFuel; /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 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 - 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 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: python label: Python source: | vaultAsset = fireblocks.get_vault_account_asset( vault_account_id, asset_id ) - lang: javascript label: Javascript source: | const vaultAsset = await fireblocks.getVaultAccountAsset(vaultAccountId, assetId); post: summary: Create a new vault wallet description: Creates a wallet for a specific asset in a vault account tags: - Vaults x-readme: code-samples: - language: python code: vaultAsset = fireblocks.create_vault_asset(vault_account_id, asset_id) name: Fireblocks SDK Python example - 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 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: python label: Python source: vaultAsset = fireblocks.create_vault_asset(vault_account_id, asset_id) - lang: javascript label: Javascript source: const vaultAsset = await fireblocks.createVaultAsset(vaultAccountId, assetId); /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. 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 - 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 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: python label: Python source: | vaultAsset = fireblocks.refresh_vault_asset_balance( vault_account_id, asset_id ) - lang: javascript label: Javascript source: | const vaultAsset = await fireblocks.refreshVaultAssetBalance( vaultAccountId, assetId ); /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. 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: typescript code: 'const response: Promise> = fireblocks.vaults.getVaultAccountAssetAddresses(vaultsApiGetVaultAccountAssetAddressesRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.vaults().getVaultAccountAssetAddresses(vaultAccountId, assetId); name: Fireblocks SDK Java 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 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 - 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 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: python label: Python source: address = fireblocks.generate_new_address(vault_account_id, asset_id, description, customer_ref_id) - lang: javascript label: Javascript source: const address = await fireblocks.generateNewAddress(vaultAccountId, assetId, description, customerRefId); /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. tags: - Vaults x-readme: code-samples: - language: python code: addresses = vault_accounts = fireblocks.get_paginated_addresses("0","BTC") name: Fireblocks SDK Python example - language: javascript code: const addresses = await fireblocks.getPaginatedAddresses("0","BTC"); 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 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: python label: Python source: addresses = vault_accounts = fireblocks.get_paginated_addresses("0","BTC") - lang: javascript label: Javascript source: const addresses = await fireblocks.getPaginatedAddresses("0","BTC"); /vault/accounts/{vaultAccountId}/{assetId}/max_spendable_amount: get: summary: Get the maximum spendable amount in a single transaction. description: | Get the maximum amount of a particular asset that can be spent in a single transaction from a specified vault account (UTXO assets only). tags: - Vaults x-readme: code-samples: - language: python code: | max_spendable_amount = fireblocks.get_max_spendable_amount( "0", "BTC" ) name: Fireblocks SDK Python example - language: javascript code: const maxSpendableAmount = await fireblocks.getMaxSpendableAmount("0", "BTC") name: Fireblocks SDK Javascript example - 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, manualSignging); name: Fireblocks SDK Java 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: manualSignging description: False by default. The maximum number of inputs depends if 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: python label: Python source: | max_spendable_amount = fireblocks.get_max_spendable_amount( "0", "BTC" ) - lang: javascript label: Javascript source: const maxSpendableAmount = await fireblocks.getMaxSpendableAmount("0", "BTC") /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. 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 - 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 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: python label: Python source: | address = fireblocks.set_address_description( vault_account_id, asset_id, address, tag, description ) - lang: javascript label: Javascript source: | const address = await fireblocks.setAddressDescription( vaultAccountId, assetId, address, tag, description ); /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 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 - 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 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: python label: Python source: vaultAsset = fireblocks.set_customer_ref_id_for_address(vault_account_id, asset_id, address_id, customer_ref_id) - lang: javascript label: Javascript source: const vaultAsset = await fireblocks.setCustomerRefIdForAddress(vaultAccountId, assetId, addressId, customerRefId); /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 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 /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 tags: - Vaults x-readme: code-samples: - language: python code: vaultAsset = fireblocks.get_unspent_inputs(vault_account_id, asset_id) name: Fireblocks SDK Python example - 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 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: python label: Python source: vaultAsset = fireblocks.get_unspent_inputs(vault_account_id, asset_id) - lang: javascript label: Javascript source: | const vaultAsset = await fireblocks.getUnspentInputs(vaultAccountId, assetId); /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. tags: - Vaults x-readme: code-samples: - language: python code: pubKey = fireblocks.get_public_key_info(algorithm, derivation_path, compressed) name: Fireblocks SDK Python example - 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 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 example: - 44 - 60 - 0 - 0 - 0 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: python label: Python source: pubKey = fireblocks.get_public_key_info(algorithm, derivation_path, compressed) - lang: javascript label: Javascript source: | const PublicKeyInfoArgs = { algorithm: 'MPC_ECDSA_SECP256K1', derivationPath: [44,0,0,0,0] } const pubKey = await fireblocks.getPublicKeyInfo(PublicKeyInfoArgs); /vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info: get: summary: Get the public key of an asset in a vault account description: Get the public key information for a specific asset in a vault account 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 - 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 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: python label: Python source: | pubKey = fireblocks.get_public_key_info_for_vault_account( asset_id, vault_account_id, change, address_index, compressed ) - lang: javascript label: Javascript source: | const PublicKeyInfoArgs = { assetId: 'ETH', vaultAccountId: 0, change: 0, addressIndex: 0, compressed: true } const pubKey = await fireblocks.getPublicKeyInfoForVaultAccount(PublicKeyInfoArgs); /vault/assets: get: summary: Get asset balance for chosen assets description: Gets the assets amount summary for all accounts or filtered accounts. 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 - language: javascript code: const assetsBalance = await fireblocks.getVaultAssetsBalance(accountNamePrefix, accountNameSuffix); 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 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/GetVaultAssetsNumberResponse' default: $ref: '#/components/responses/Error' operationId: getVaultAssets x-codeSamples: - lang: python label: Python source: assets_balance = fireblocks.get_vault_assets_balance(accout_name_prefix, account_name_suffix) - lang: javascript label: Javascript source: const assetsBalance = await fireblocks.getVaultAssetsBalance(accountNamePrefix, accountNameSuffix); /vault/assets/{assetId}: get: summary: Get vault balance by an asset description: Get the total balance of an asset across all the vault accounts tags: - Vaults x-readme: code-samples: - language: python code: assets_balance = fireblocks.get_vault_balance_by_asset(asset_id) name: Fireblocks SDK Python example - 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 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/VaultAssetNumber' default: $ref: '#/components/responses/Error' operationId: getVaultBalanceByAsset x-codeSamples: - lang: python label: Python source: assets_balance = fireblocks.get_vault_balance_by_asset(asset_id) - lang: javascript label: Javascript source: const assetsBalance = await fireblocks.getVaultBalanceByAsset(assetId); /workspace/freeze: post: x-internal: true operationId: freezeWorkspace summary: Freeze x-readme: code-samples: - language: python code: vault_accounts = fireblocks.get_vault_accounts() name: Fireblocks SDK Python example - language: javascript code: const vaultAccounts = await fireblocks.getVaultAccounts(); name: Fireblocks SDK Javascript example 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. 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 tags: - Exchange Accounts x-readme: code-samples: - language: python code: exchangeAccounts = fireblocks.get_exchange_accounts() name: Fireblocks SDK Python example - 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(); /exchange_accounts/paged: get: operationId: getPagedExchangeAccounts summary: List connected exchange accounts description: Returns a list of the connected exchange accounts in your workspace 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 - 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 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: javascript label: Javascript source: const exchangeAccounts = await fireblocks.getExchangeAccountsPaged(); - lang: python label: Python source: exchangeAccounts = fireblocks.get_exchange_accounts_paged() /exchange_accounts/{exchangeAccountId}: get: summary: Get a specific exchange account description: Returns an exchange account by ID tags: - Exchange Accounts x-readme: code-samples: - language: python code: exchangeAccount = fireblocks.get_exchange_account(exchangeAccountId) name: Fireblocks SDK Python example - 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 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: python label: Python source: exchangeAccount = fireblocks.get_exchange_account(exchangeAccountId) - lang: javascript label: Javascript source: const exchnageAccount = await fireblocks.get_exchange_account(exchangeAccountId); /exchange_accounts/{exchangeAccountId}/internal_transfer: post: summary: Internal transfer for exchange accounts description: Transfers funds between trading accounts under the same exchange account 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 /exchange_accounts/{exchangeAccountId}/convert: post: summary: Convert exchange account funds from the source asset to the destination asset 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 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 /exchange_accounts/{exchangeAccountId}/{assetId}: get: summary: Get an asset for an exchange account description: Returns an asset for an exchange account tags: - Exchange Accounts x-readme: code-samples: - language: python code: exchangeAsset = fireblocks.get_exchange_account_asset(exchangeAccountId, assetId) name: Fireblocks SDK Python example - 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 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: python label: Python source: exchangeAsset = fireblocks.get_exchange_account_asset(exchangeAccountId, assetId) - lang: javascript label: Javascript source: const exchangeAsset = await fireblocks.getExchangeAsset(exchangeAccountId, assetId); /fiat_accounts: get: summary: List fiat accounts description: Returns all fiat accounts. tags: - Fiat Accounts x-readme: code-samples: - language: python code: transactions = fireblocks.get_fiat_accounts() name: Fireblocks SDK Python example - 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 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: python label: Python source: transactions = fireblocks.get_fiat_accounts() - lang: javascript label: Javascript source: const transactions = await fireblocks.getFiatAccounts(); /fiat_accounts/{accountId}: get: summary: Find a specific fiat account description: Returns a fiat account by ID. tags: - Fiat Accounts x-readme: code-samples: - language: python code: transactions = fireblocks.get_fiat_account_by_id(account_id) name: Fireblocks SDK Python example - 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 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: python label: Python source: transactions = fireblocks.get_fiat_account_by_id(account_id) - lang: javascript label: Javascript source: const transactions = await fireblocks.getFiatAccountById(accountId); /fiat_accounts/{accountId}/redeem_to_linked_dda: post: summary: Redeem funds to DDA description: Redeems funds to the linked DDA. tags: - Fiat Accounts x-readme: code-samples: - language: python code: transactions = fireblocks.redeem_to_linked_dda(account_id, amount) name: Fireblocks SDK Python example - 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 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: python label: Python source: transactions = fireblocks.redeem_to_linked_dda(account_id, amount) - lang: javascript label: Javascript source: const transactions = await fireblocks.redeemToLinkedDDA(accountId, amount); /fiat_accounts/{accountId}/deposit_from_linked_dda: post: summary: Deposit funds from DDA description: Deposits funds from the linked DDA. tags: - Fiat Accounts x-readme: code-samples: - language: python code: transactions = fireblocks.deposit_from_linked_dda(account_id, amount) name: Fireblocks SDK Python example - 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 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: python label: Python source: transactions = fireblocks.deposit_from_linked_dda(account_id, amount) - lang: javascript label: Javascript source: const transactions = await fireblocks.depositFromLinkedDDA(accountId, amount); /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`). tags: - Fireblocks Network x-readme: code-samples: - language: python code: network_connections = fireblocks.get_network_connections() name: Fireblocks SDK Python example - language: javascript code: const networkConnections = await fireblocks.getNetworkConnections(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.fireblocksNetwork.getNetworkConnections();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.fireblocksNetwork().getNetworkConnections(); name: Fireblocks SDK Java 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: python label: Python source: network_connections = fireblocks.get_network_connections() - lang: javascript label: Javascript source: const networkConnections = await fireblocks.getNetworkConnections(); 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 police can be found at `/network_ids/routing_policy_asset_groups` - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`). 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.fireblocksNetwork.createNetworkConnection(fireblocksNetworkApiCreateNetworkConnectionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().createNetworkConnection(networkConnection, idempotencyKey); name: Fireblocks SDK Java example /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 police can be found at `/network_ids/routing_policy_asset_groups` - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`). 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.fireblocksNetwork.setRoutingPolicy(fireblocksNetworkApiSetRoutingPolicyRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().setRoutingPolicy(connectionId, setRoutingPolicyRequest); name: Fireblocks SDK Java example /network_connections/{connectionId}/is_third_party_routing/{assetType}: get: summary: Retrieve third-party network routing validation by asset type. 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. 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.fireblocksNetwork.checkThirdPartyRouting(fireblocksNetworkApiCheckThirdPartyRoutingRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().checkThirdPartyRouting(connectionId, assetType); name: Fireblocks SDK Java example /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`). tags: - Fireblocks Network x-readme: code-samples: - language: python code: network_connection = fireblocks.get_network_connection_by_id(connectionId) name: Fireblocks SDK Python example - language: javascript code: const network_connection = await fireblocks.getNetworkConnection(connectionId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.fireblocksNetwork.getNetwork(fireblocksNetworkApiGetNetworkRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().getNetwork(connectionId); name: Fireblocks SDK Java 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: python label: Python source: network_connection = fireblocks.get_network_connection_by_id(connectionId) - lang: javascript label: Javascript source: const network_connection = await fireblocks.getNetworkConnection(connectionId); 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`). 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.fireblocksNetwork.deleteNetworkConnection(fireblocksNetworkApiDeleteNetworkConnectionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().deleteNetworkConnection(connectionId); name: Fireblocks SDK Java example /network_ids: get: summary: Returns all network IDs, both local IDs and discoverable remote 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`). 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.fireblocksNetwork.getNetworkIds();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.fireblocksNetwork().getNetworkIds(); name: Fireblocks SDK Java example 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 police can be found at `/network_ids/routing_policy_asset_groups` - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`). 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.fireblocksNetwork.createNetworkId(fireblocksNetworkApiCreateNetworkIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().createNetworkId(createNetworkIdRequest, idempotencyKey); name: Fireblocks SDK Java example /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. 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.fireblocksNetwork.getRoutingPolicyAssetGroups();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.fireblocksNetwork().getRoutingPolicyAssetGroups(); name: Fireblocks SDK Java example /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`). 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.fireblocksNetwork.getNetworkId(fireblocksNetworkApiGetNetworkIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().getNetworkId(networkId); name: Fireblocks SDK Java example 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`). 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.fireblocksNetwork.deleteNetworkId(fireblocksNetworkApiDeleteNetworkIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().deleteNetworkId(networkId); name: Fireblocks SDK Java example /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 police can be found at `/network_ids/routing_policy_asset_groups` - **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`). 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.fireblocksNetwork.setNetworkIdRoutingPolicy(fireblocksNetworkApiSetNetworkIdRoutingPolicyRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().setNetworkIdRoutingPolicy(networkId, setNetworkIdRoutingPolicyRequest); name: Fireblocks SDK Java example /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`). 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.fireblocksNetwork.setNetworkIdDiscoverability(fireblocksNetworkApiSetNetworkIdDiscoverabilityRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().setNetworkIdDiscoverability(setNetworkIdDiscoverabilityRequest, networkId); name: Fireblocks SDK Java example /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`). 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.fireblocksNetwork.setNetworkIdName(fireblocksNetworkApiSetNetworkIdNameRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.fireblocksNetwork().setNetworkIdName(setNetworkIdNameRequest, networkId); name: Fireblocks SDK Java example /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, Blockchair, being unavailable for this 60 second period. Please wait until the next minute to retrieve BTC-based assets. 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 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.whitelistedInternalWallets.getInternalWallets();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.whitelistedInternalWallets().getInternalWallets(); name: Fireblocks SDK Java example 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 - language: javascript code: const internalWallet = await fireblocks.createInternalWallet(name, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedInternalWallets.createInternalWallet(whitelistedInternalWalletsApiCreateInternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedInternalWallets().createInternalWallet(createWalletRequest, idempotencyKey); name: Fireblocks SDK Java example description: Creates a new internal wallet with the requested name. 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: python label: Python source: internalWallet = fireblocks.create_internal_wallet(name, customer_ref_id) - lang: javascript label: Javascript source: const internalWallet = await fireblocks.createInternalWallet(name, customerRefId); /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: | Returns all assets in 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 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: python label: Python source: internalWallet = fireblocks.get_internal_wallet(walletId) - lang: javascript label: Javascript source: const result = await fireblocks.getInternalWallet(walletId); 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 - language: javascript code: const result = await fireblocks.deleteInternalWallet(walletId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedInternalWallets.deleteInternalWallet(whitelistedInternalWalletsApiDeleteInternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedInternalWallets().deleteInternalWallet(walletId); name: Fireblocks SDK Java 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 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: python label: Python source: result = firebocks.delete_internal_wallet(walletId) - lang: javascript label: Javascript source: const result = await fireblocks.deleteInternalWallet(walletId); /internal_wallets/{walletId}/set_customer_ref_id: post: summary: Set an AML/KYT customer reference ID for an 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 - language: javascript code: const result = await fireblocks.setCustomerRefIdForInternalWallet(walletId, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedInternalWallets.setCustomerRefIdForInternalWallet(whitelistedInternalWalletsApiSetCustomerRefIdForInternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedInternalWallets().setCustomerRefIdForInternalWallet(setCustomerRefIdRequest, walletId, idempotencyKey); name: Fireblocks SDK Java 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 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: python label: Python source: result = firebocks.set_customer_ref_id_for_internal_wallet(wallet_id, customer_ref_id) - lang: javascript label: Javascript source: const result = await fireblocks.setCustomerRefIdForInternalWallet(walletId, customerRefId); /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 - language: javascript code: const internalWalletAsset = fireblocks.getInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedInternalWallets.getInternalWalletAsset(whitelistedInternalWalletsApiGetInternalWalletAssetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedInternalWallets().getInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Java 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 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: python label: Python source: internalWalletAsset = fireblocks.get_internal_wallet_asset(walletId, assetId) - lang: javascript label: Javascript source: const internalWalletAsset = fireblocks.getInternalWalletAsset(walletId, assetId); 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 - language: javascript code: const internalWalletAsset = await fireblocks.createInternalWalletAsset(walletContainerId, assetId, address, tag); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedInternalWallets.createInternalWalletAsset(whitelistedInternalWalletsApiCreateInternalWalletAssetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedInternalWallets().createInternalWalletAsset(walletId, assetId, createInternalWalletAssetRequest, idempotencyKey); name: Fireblocks SDK Java 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 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: python label: Python source: internalWalletAsset = fireblocks.create_internal_wallet_asset(walletId, assetId, address, tag) - lang: javascript label: Javascript source: const internalWalletAsset = await fireblocks.createInternalWalletAsset(walletContainerId, assetId, address, tag); delete: summary: Delete a whitelisted address from an internal wallet tags: - Whitelisted Internal Wallets x-readme: code-samples: - language: python code: result = fireblocks.delete_internal_wallet_asset(walletId, assetId) name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.deleteInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedInternalWallets.deleteInternalWalletAsset(whitelistedInternalWalletsApiDeleteInternalWalletAssetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedInternalWallets().deleteInternalWalletAsset(walletId, assetId); name: Fireblocks SDK Java 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 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: python label: Python source: result = fireblocks.delete_internal_wallet_asset(walletId, assetId) - lang: javascript label: Javascript source: const result = await fireblocks.deleteInternalWalletAsset(walletId, assetId); /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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 /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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 x-codeSamples: - lang: typescript label: Typescript source: 'const response: Promise> = fireblocks.keyLink.getSigningKey(keyLinkApiGetSigningKeyRequest);' - lang: java label: Java source: CompletableFuture> response = fireblocks.keyLink().getSigningKey(keyId); patch: operationId: updateSigningKey summary: Modify the signing by Fireblocks provided `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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 x-codeSamples: - lang: typescript label: Typescript source: 'const response: Promise> = fireblocks.keyLink.updateSigningKey(keyLinkApiUpdateSigningKeyRequest);' - lang: java label: Java source: CompletableFuture> response = fireblocks.keyLink().updateSigningKey(modifySigningKeyDto, keyId); /key_link/signing_keys/{keyId}/agent_user_id: patch: operationId: setAgentId summary: Set agent user id that can sign with the signing key identified by the Fireblocks provided `keyId` 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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 x-codeSamples: - lang: typescript label: Typescript source: 'const response: Promise> = fireblocks.keyLink.setAgentId(keyLinkApiSetAgentIdRequest);' - lang: java label: Java source: CompletableFuture> response = fireblocks.keyLink().setAgentId(modifySigningKeyAgentIdDto, keyId); /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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 x-codeSamples: - lang: typescript label: Typescript source: 'const response: Promise> = fireblocks.keyLink.createValidationKey(keyLinkApiCreateValidationKeyRequest);' - lang: java label: Java source: CompletableFuture> response = fireblocks.keyLink().createValidationKey(createValidationKeyDto, idempotencyKey); 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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 x-codeSamples: - lang: typescript label: Typescript source: 'const response: Promise> = fireblocks.keyLink.getValidationKeysList(keyLinkApiGetValidationKeysListRequest);' - lang: java label: Java source: CompletableFuture> response = fireblocks.keyLink().getValidationKeysList(pageCursor, pageSize, sortBy, 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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 x-codeSamples: - lang: typescript label: Typescript source: 'const response: Promise> = fireblocks.keyLink.getValidationKey(keyLinkApiGetValidationKeyRequest);' - lang: java label: Java source: CompletableFuture> response = fireblocks.keyLink().getValidationKey(keyId); 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. **Note:** This endpoint is currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Key Link, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com. 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 (Beta) 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 x-codeSamples: - lang: typescript label: Typescript source: 'const response: Promise> = fireblocks.keyLink.disableValidationKey(keyLinkApiDisableValidationKeyRequest);' - lang: java label: Java source: CompletableFuture> response = fireblocks.keyLink().disableValidationKey(modifyValidationKeyDto, keyId); /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. tags: - Whitelisted External Wallets x-readme: code-samples: - language: python code: externalWallets = fireblocks.get_external_wallets() name: Fireblocks SDK Python example - language: javascript code: const externalWallets = await fireblocks.getExternalWallets(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.getExternalWallets();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.whitelistedExternalWallets().getExternalWallets(); name: Fireblocks SDK Java 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: python label: Python source: externalWallets = fireblocks.get_external_wallets() - lang: javascript label: Javascript source: const externalWallets = await fireblocks.getExternalWallets(); 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. 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 - language: javascript code: const externalWallet = await fireblocks.createExternalWallet(name, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.createExternalWallet(whitelistedExternalWalletsApiCreateExternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedExternalWallets().createExternalWallet(createWalletRequest, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: externalWallet = fireblocks.create_external_wallet(name, customer_ref_id) - lang: javascript label: Javascript source: const externalWallet = await fireblocks.createExternalWallet(name, customerRefId); /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. tags: - Whitelisted External Wallets x-readme: code-samples: - language: python code: externalWallet = fireblocks.get_external_wallet(walletId) name: Fireblocks SDK Python example - language: javascript code: const externalWallet = await fireblocks.getExternalWallet(walletId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.getExternalWallet(whitelistedExternalWalletsApiGetExternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedExternalWallets().getExternalWallet(walletId); name: Fireblocks SDK Java 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: python label: Python source: externalWallet = fireblocks.get_external_wallet(walletId) - lang: javascript label: Javascript source: const externalWallet = await fireblocks.getExternalWallet(walletId); 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. tags: - Whitelisted External Wallets x-readme: code-samples: - language: python code: result = firebocks.delete_external_wallet(walletId) name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.deleteExternalWallet(walletId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.deleteExternalWallet(whitelistedExternalWalletsApiDeleteExternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedExternalWallets().deleteExternalWallet(walletId); name: Fireblocks SDK Java 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: python label: Python source: result = firebocks.delete_external_wallet(walletId) - lang: javascript label: Javascript source: const result = await fireblocks.deleteExternalWallet(walletId); /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. 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 - language: javascript code: const result = await fireblocks.setCustomerRefIdForExternalWallet(walletId, customerRefId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.setExternalWalletCustomerRefId(whitelistedExternalWalletsApiSetExternalWalletCustomerRefIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedExternalWallets().setExternalWalletCustomerRefId(setCustomerRefIdRequest, walletId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: result = firebocks.set_customer_ref_id_for_external_wallet(wallet_id, customer_ref_id) - lang: javascript label: Javascript source: const result = await fireblocks.setCustomerRefIdForExternalWallet(walletId, customerRefId); /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. tags: - Whitelisted External Wallets x-readme: code-samples: - language: python code: externalWalletAsset = fireblocks.get_external_wallet_asset(walletId, assetId) name: Fireblocks SDK Python example - language: javascript code: const externalWalletAsset = fireblocks.getExternalWalletAsset(walletId, assetId) name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.getExternalWalletAsset(whitelistedExternalWalletsApiGetExternalWalletAssetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedExternalWallets().getExternalWalletAsset(walletId, assetId); name: Fireblocks SDK Java 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: python label: Python source: externalWalletAsset = fireblocks.get_external_wallet_asset(walletId, assetId) - lang: javascript label: Javascript source: const externalWalletAsset = fireblocks.getExternalWalletAsset(walletId, assetId) post: summary: Add an asset to an external wallet. description: Adds an asset to an existing external wallet. 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 - language: javascript code: const externalWalletAsset = await fireblocks.createExternalWalletAsset(walletContainerId, assetId, address, tag); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.addAssetToExternalWallet(whitelistedExternalWalletsApiAddAssetToExternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedExternalWallets().addAssetToExternalWallet(walletId, assetId, addAssetToExternalWalletRequest, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: externalWalletAsset = fireblocks.create_external_wallet_asset(walletId, assetId, address, tag) - lang: javascript label: Javascript source: const externalWalletAsset = await fireblocks.createExternalWalletAsset(walletContainerId, assetId, address, tag); delete: summary: Delete an asset from an external wallet description: Deletes an external wallet asset by ID. tags: - Whitelisted External Wallets x-readme: code-samples: - language: python code: result = fireblocks.delete_external_wallet_asset(walletId, assetId) name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.deleteExternalWalletAsset(walletId, assetId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.whitelistedExternalWallets.removeAssetFromExternalWallet(whitelistedExternalWalletsApiRemoveAssetFromExternalWalletRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedExternalWallets().removeAssetFromExternalWallet(walletId, assetId); name: Fireblocks SDK Java 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: python label: Python source: result = fireblocks.delete_external_wallet_asset(walletId, assetId) - lang: javascript label: Javascript source: const result = await fireblocks.deleteExternalWalletAsset(walletId, assetId); /contracts: get: summary: List Whitelisted Contracts description: Gets a list of whitelisted contracts. 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.whitelistedContracts.getContracts();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.whitelistedContracts().getContracts(); name: Fireblocks SDK Java example post: summary: Create a Whitelisted Contract description: Creates a new whitelisted contract. 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.whitelistedContracts.createContract(whitelistedContractsApiCreateContractRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedContracts().createContract(createContractRequest, idempotencyKey); name: Fireblocks SDK Java example /contracts/{contractId}: get: summary: Find a Specific Whitelisted Contract description: Returns a whitelisted contract by Fireblocks Contract ID 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.whitelistedContracts.getContract(whitelistedContractsApiGetContractRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedContracts().getContract(contractId); name: Fireblocks SDK Java example delete: summary: Delete a Whitelisted Contract description: Deletes a whitelisted contract by Fireblocks Contract ID 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.whitelistedContracts.deleteContract(whitelistedContractsApiDeleteContractRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedContracts().deleteContract(contractId); name: Fireblocks SDK Java example /contracts/{contractId}/{assetId}: get: summary: Find a whitelisted contract's asset description: Returns a whitelisted contract's asset by ID. 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.whitelistedContracts.getContractAsset(whitelistedContractsApiGetContractAssetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedContracts().getContractAsset(contractId, assetId); name: Fireblocks SDK Java example post: summary: Add an Asset to a Whitelisted Contract description: Adds an asset to an existing whitelisted contract. 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.whitelistedContracts.addContractAsset(whitelistedContractsApiAddContractAssetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedContracts().addContractAsset(contractId, assetId, addContractAssetRequest, idempotencyKey); name: Fireblocks SDK Java example delete: summary: Delete a Whitelisted Contract's Asset description: Deletes a whitelisted contract's asset by Fireblocks Contract ID and Asset ID. 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.whitelistedContracts.deleteContractAsset(whitelistedContractsApiDeleteContractAssetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.whitelistedContracts().deleteContractAsset(contractId, assetId); name: Fireblocks SDK Java example /supported_assets: get: summary: List all asset types supported by Fireblocks description: | Returns all asset types supported by Fireblocks. The response includes all assets supported by Fireblocks globally in addition to assets added to the specific workspace. tags: - Blockchains & Assets x-readme: code-samples: - language: python code: supportedAssets = fireblocks.get_supported_assets() name: Fireblocks SDK Python example - 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 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: python label: Python source: supportedAssets = fireblocks.get_supported_assets() - lang: javascript label: Javascript source: const supportedAssets = await fireblocks.getSupportedAssets(); /assets: post: operationId: registerNewAsset summary: Register an asset description: | Register a new asset to a workspace and return the newly created asset's details. Currently supported chains are: - EVM based chains - Stellar - Algorand - TRON - NEAR - Solana 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 - 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 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 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/AssetNotFoundErrorResponse' '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' requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterNewAssetRequest' x-codeSamples: - lang: python label: Python source: supportedAssets = fireblocks.register_new_asset(blockchainId, address, symbol) - lang: javascript label: Javascript source: const supportedAssets = await fireblocks.registerNewAsset(blockchainId, address, symbol); /transactions: get: summary: Get transaction history description: Get the transaction history for your workspace. tags: - Transactions x-readme: code-samples: - language: python code: transactions = fireblocks.get_transactions(status, after) name: Fireblocks SDK Python example - 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 parameters: - in: query name: before description: Unix timestamp in milliseconds. Returns only transactions created before the specified date required: false schema: type: string example: '1716735252' - in: query name: after description: Unix timestamp in milliseconds. Returns only transactions created after the specified date required: false schema: type: string example: '1716735250' - 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 with transactions that receive updates as you request the next or previous pages of results, resulting with 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 - 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: python label: Python source: transactions = fireblocks.get_transactions(status, after) - lang: javascript label: Javascript source: | const transactions = await fireblocks.getTransactions({ status: args.status, after: from }); 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 RAW and Typed messages signing, the required parameters are: `operation.RAW/TYPED_MESSAGE`, `assetId` or `derivationPath`, `source` or `derivationPath`, `extraParameters` with [rawMessageData object](https://developers.fireblocks.com/reference/raw-signing-objects). - 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). - For MEV Protection configuration the required parameters are: `extraParameters` with the [`nodeControls` object](https://developers.fireblocks.com/reference/transaction-objects#nodecontrols) Note: MEV Protection is a premium feature. Please contact your Customer Success Manager or the Fireblocks Support team for more information. 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 - language: javascript code: | const payload: TransactionArguments = { assetId: asset, source: { type: sourceType, id: sourceId || 0 }, destination: { type: destinationType, id: String(destinationId) }, amount: String(amount), 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 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: python label: Python source: | 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 ) ) - lang: javascript label: Javascript source: | const payload: TransactionArguments = { assetId: asset, source: { type: sourceType, id: sourceId || 0 }, destination: { type: destinationType, id: String(destinationId) }, amount: String(amount), note: "Created by fireblocks SDK" }; const result = await fireblocks.createTransaction(payload); /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). 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 - 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 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: python label: Python source: | 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) ) - lang: javascript label: Javascript source: | 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); /transactions/{txId}: get: summary: Get a specific transaction by Fireblocks transaction ID description: Get a specific transaction data by Fireblocks Transaction ID tags: - Transactions x-readme: code-samples: - language: python code: tx = fireblocks.get_transaction_by_id(txId) name: Fireblocks SDK Python example - 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 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: python label: Python source: tx = fireblocks.get_transaction_by_id(txId) - lang: javascript label: Javascript source: const tx = await fireblocks.getTransactionById(txId); /transactions/external_tx_id/{externalTxId}: get: summary: Get a specific transaction by external transaction ID description: Returns transaction by external transaction ID. tags: - Transactions x-readme: code-samples: - language: python code: tx = fireblocks.get_transaction_by_external_tx_id(externalTxId) name: Fireblocks SDK Python example - 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 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: python label: Python source: tx = fireblocks.get_transaction_by_external_tx_id(externalTxId) - lang: javascript label: Javascript source: const tx = await fireblocks.getTransactionByExternalTxId(externalTxId); /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. 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 - 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 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: python label: Python source: set_conf_threshold = client.set_confirmation_threshold_by_tx_id(body) - lang: javascript label: Javascript source: const setConfThreshold = await fireblocks.setConfirmationThresholdByTxId(body); /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. tags: - Transactions x-readme: code-samples: - language: python code: result = fireblocks.drop_transaction(txId, fee_level) name: Fireblocks SDK Python example - 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 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: python label: Python source: result = fireblocks.drop_transaction(txId, fee_level) - lang: javascript label: Javascript source: const result = await fireblocks.dropTransaction(txId, feeLevel); /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. tags: - Transactions x-readme: code-samples: - language: python code: result = fireblocks.cancel_transaction_by_id(txId) name: Fireblocks SDK Python example - 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 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: python label: Python source: result = fireblocks.cancel_transaction_by_id(txId) - lang: javascript label: Javascript source: const result = await fireblocks.cancelTransactionById(txId); /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 tags: - Transactions x-readme: code-samples: - language: python code: result = fireblocks.freeze_transaction_by_id(txId); name: Fireblocks SDK Python example - 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 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: python label: Python source: result = fireblocks.freeze_transaction_by_id(txId); - lang: javascript label: Javascript source: const result = await fireblocks.freezeTransactionById(txId); /transactions/{txId}/unfreeze: post: summary: Unfreeze a transaction description: Unfreezes a transaction by Fireblocks Transaction ID and makes the transaction available again. tags: - Transactions x-readme: code-samples: - language: python code: result = fireblocks.unfreeze_transaction_by_id(txId) name: Fireblocks SDK Python example - 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 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: python label: Python source: result = fireblocks.unfreeze_transaction_by_id(txId) - lang: javascript label: Javascript source: const result = await fireblocks.unfreezeTransactionById(txId); /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). tags: - Blockchains & Assets x-readme: code-samples: - language: python code: result = fireblocks.validate_address("XRP"", "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn") name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.validateAddress("XRP", "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn") name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.blockchainsAssets.validateAddress(blockchainsAssetsApiValidateAddressRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.blockchainsAssets().validateAddress(assetId, address); name: Fireblocks SDK Java 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: python label: Python source: result = fireblocks.validate_address("XRP"", "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn") - lang: javascript label: Javascript source: const result = await fireblocks.validateAddress("XRP", "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn") /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. 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 - 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 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: python label: Python source: set_conf_threshold = client.set_confirmation_threshold_by_tx_hash(body) - lang: javascript label: Javascript source: const setConfThreshold = await fireblocks.setConfirmationThresholdByTxHash(body); /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. - For UTXO based assets, the response will contain the suggested fee per byte - For ETH (and all EVM) based assets, the suggested gas price - For XRP/XLM, the transaction fee tags: - Blockchains & Assets x-readme: code-samples: - language: python code: fee_result = fireblocks.get_fee_for_asset(asset_id) name: Fireblocks SDK Python example - language: javascript code: const feeResult = await fireblocks.getFeeForAsset(assetId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.blockchainsAssets.estimateNetworkFee(blockchainsAssetsApiEstimateNetworkFeeRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.blockchainsAssets().estimateNetworkFee(assetId); name: Fireblocks SDK Java 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: python label: Python source: fee_result = fireblocks.get_fee_for_asset(asset_id) - lang: javascript label: Javascript source: const feeResult = await fireblocks.getFeeForAsset(assetId); /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.
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 /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. 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 /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.
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 /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. 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". 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". 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". 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" 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. 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. tags: - Gas Station x-readme: code-samples: - language: python code: gas_station_info = fireblocks.get_gas_station_info() name: Fireblocks SDK Python example - language: javascript code: const gasStationInfo = await fireblocks.gasStationInfo(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.gasStation.getGasStationInfo();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.gasStation().getGasStationInfo(); name: Fireblocks SDK Java 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: python label: Python source: gas_station_info = fireblocks.get_gas_station_info() - lang: javascript label: Javascript source: const gasStationInfo = await fireblocks.gasStationInfo(); /gas_station/{assetId}: get: summary: Get gas station settings by asset description: Returns gas station settings and balances for a requested asset. 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 - language: javascript code: const gasStationInfo = await fireblocks.gasStationInfo(assetId); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.gasStation.getGasStationByAssetId(gasStationApiGetGasStationByAssetIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.gasStation().getGasStationByAssetId(assetId); name: Fireblocks SDK Java 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: python label: Python source: gas_station_info = fireblocks.get_gas_station_info(asset_id) - lang: javascript label: Javascript source: const gasStationInfo = await fireblocks.gasStationInfo(assetId); /gas_station/configuration: put: summary: Edit gas station settings description: Configures gas station settings for ETH. 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 - language: javascript code: const gasStation = await fireblocks.setGasStationConfiguration(gasThreshold, gasCap, maxGasPrice) name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.gasStation.updateGasStationConfiguration(gasStationApiUpdateGasStationConfigurationRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.gasStation().updateGasStationConfiguration(gasStationConfiguration, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: gas_station = fireblocks.set_gas_station_configuration(gas_threshold, gas_cap, max_gas_price, asset_id) - lang: javascript label: Javascript source: const gasStation = await fireblocks.setGasStationConfiguration(gasThreshold, gasCap, maxGasPrice) /gas_station/configuration/{assetId}: put: operationId: updateGasStationConfigurationByAssetId summary: Edit gas station settings for an asset description: Configures gas station settings for a requested asset. 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.gasStation.updateGasStationConfigurationByAssetId(gasStationApiUpdateGasStationConfigurationByAssetIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.gasStation().updateGasStationConfigurationByAssetId(gasStationConfiguration, assetId, idempotencyKey); name: Fireblocks SDK Java example /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. x-readme: code-samples: - language: javascript code: const res = const res = await fireblocks.getUserGroups(); name: Fireblocks SDK Javascript example - language: python code: res = fireblocks.get_user_groups() name: Fireblocks SDK Python example - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getUserGroups();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.workspaceManagement().getUserGroups(); name: Fireblocks SDK Java 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: javascript label: Javascript source: const res = const res = await fireblocks.getUserGroups(); - lang: python label: Python source: res = fireblocks.get_user_groups() post: operationId: createUserGroup summary: Create user group description: | Create a new user group. - Please note that this endpoint is available only for API keys with Admin/Non Signing Admin permissions. x-readme: code-samples: - language: javascript code: const res = await fireblocks.createUserGroup( "MyUserGroup", [ "1d8b04f3-f90b-406b-a4d8-71d5d16f6862", "30e8a73a-6300-4b35-a11a-9c69341805fc" ] ) name: Fireblocks SDK Javascript example - language: python code: res = fireblocks.create_user_group( "MyUserGroup", [ "1d8b04f3-f90b-406b-a4d8-71d5d16f6862", "30e8a73a-6300-4b35-a11a-9c69341805fc" ] ) name: Fireblocks SDK Python example - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.createUserGroup(workspaceManagementApiCreateUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().createUserGroup(userGroupCreateRequest, idempotencyKey); name: Fireblocks SDK Java 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: javascript label: Javascript source: const res = await fireblocks.createUserGroup( "MyUserGroup", [ "1d8b04f3-f90b-406b-a4d8-71d5d16f6862", "30e8a73a-6300-4b35-a11a-9c69341805fc" ] ) - lang: python label: Python source: res = fireblocks.create_user_group( "MyUserGroup", [ "1d8b04f3-f90b-406b-a4d8-71d5d16f6862", "30e8a73a-6300-4b35-a11a-9c69341805fc" ] ) /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. 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.workspaceManagement.getUserGroup(workspaceManagementApiGetUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getUserGroup(groupId); name: Fireblocks SDK Java example 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. 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.workspaceManagement.updateUserGroup(workspaceManagementApiUpdateUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().updateUserGroup(userGroupUpdateRequest, groupId, idempotencyKey); name: Fireblocks SDK Java example 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. 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.workspaceManagement.deleteUserGroup(workspaceManagementApiDeleteUserGroupRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().deleteUserGroup(groupId); name: Fireblocks SDK Java example /users: get: summary: List users deprecated: true description: | DEPRECATED - please use `GET /management/users` instead tags: - Workspace Management x-readme: code-samples: - language: python code: users = fireblocks.get_users() name: Fireblocks SDK Python example - language: javascript code: const users = await fireblocks.getUsers(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getUsers();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture>> response = fireblocks.workspaceManagement().getUsers(); name: Fireblocks SDK Java 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: python label: Python source: users = fireblocks.get_users() - lang: javascript label: Javascript source: const users = await fireblocks.getUsers(); /audits: get: summary: Get audit logs deprecated: true description: Deprecated. Please use the `GET /management/audit_logs` endpoint instead. 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. tags: - Workspace Management x-readme: code-samples: - language: javascript code: | const res = await fireblocks.getPaginatedAuditLogs() name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getAuditLogs(workspaceManagementApiGetAuditLogsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getAuditLogs(timePeriod, cursor); 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 - 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: javascript label: Javascript source: | const res = await fireblocks.getPaginatedAuditLogs() /off_exchange/add: post: summary: add collateral description: add collateral, create deposit request 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.offExchange.addOffExchange(offExchangeApiAddOffExchangeRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.offExchange().addOffExchange(addCollateralRequestBody, idempotencyKey); name: Fireblocks SDK Java example /off_exchange/remove: post: summary: remove collateral description: remove collateral, create withdraw request 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.offExchange.removeOffExchange(offExchangeApiRemoveOffExchangeRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.offExchange().removeOffExchange(removeCollateralRequestBody, idempotencyKey); name: Fireblocks SDK Java example /off_exchange/settlements/trader: post: summary: create settlement for a trader description: create settlement for a trader 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.offExchange.settleOffExchangeTrades(offExchangeApiSettleOffExchangeTradesRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.offExchange().settleOffExchangeTrades(settlementRequestBody, idempotencyKey); name: Fireblocks SDK Java example /off_exchange/settlements/transactions: get: summary: get settlements transactions from exchange description: get settlements transactions from exchange 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.offExchange.getOffExchangeSettlementTransactions(offExchangeApiGetOffExchangeSettlementTransactionsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.offExchange().getOffExchangeSettlementTransactions(mainExchangeAccountId); name: Fireblocks SDK Java example /off_exchange/collateral_accounts/{mainExchangeAccountId}: get: summary: Find a specific collateral exchange account description: Returns a collateral account by mainExchangeAccountId. 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.offExchange.getOffExchangeCollateralAccounts(offExchangeApiGetOffExchangeCollateralAccountsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.offExchange().getOffExchangeCollateralAccounts(mainExchangeAccountId); name: Fireblocks SDK Java example /webhooks/resend: post: summary: Resend failed webhooks description: Resends all failed webhook notifications tags: - Webhooks x-readme: code-samples: - language: python code: result = fireblocks.resend_webhooks() name: Fireblocks SDK Python example - 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 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: python label: Python source: result = fireblocks.resend_webhooks() - lang: javascript label: Javascript source: const result = await fireblocks.resendWebhooks(); /webhooks/resend/{txId}: post: summary: Resend webhooks for a transaction by ID description: Resends webhook notifications for a transaction by its unique identifier 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 - 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 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: python label: Python source: result = fireblocks.resend_transaction_webhooks_by_id(txId, resend_created, resend_status_updated) - lang: javascript label: Javascript source: const result = await fireblocks.resendTransactionWebhooksById(txId, resendCreated, resendStatusUpdated); /tokenization/templates: get: operationId: getContractTemplates summary: List all contract templates description: Return minimal representation of all the contract templates available for the workspace 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: 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 - 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(pageCursor, pageSize, type, initializationPhase); name: Fireblocks SDK Java 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: python label: Python source: contract_templates = fireblocks.get_contract_templates() - lang: javascript label: Javascript source: const contractTemplates = await fireblocks.getContractTemplates(); post: operationId: uploadContractTemplate summary: Upload contract template description: Upload a new contract template. This contract template will be available for the workspace 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 - 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 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: python label: Python source: template = fireblocks.upload_contract_template(upload_request) - lang: javascript label: Javascript source: const contractTemplate = await fireblocks.uploadContractTemplate(uploadRequest); /tokenization/templates/{contractTemplateId}: get: operationId: getContractTemplateById summary: Return contract template by id description: Return detailed information about the contract template 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 - 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 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: python label: Python source: contract_template = fireblocks.get_contract_template(contract_id) - lang: javascript label: Javascript source: const contractTemplate = await fireblocks.getContractTemplate(contractId); 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!' 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 - 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 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: python label: Python source: fireblocks.deleteContractTemplate(contract_id) - lang: javascript label: Javascript source: await fireblocks.getContractTemplate(contractId); /tokenization/templates/{contractTemplateId}/constructor: get: operationId: getConstructorByContractTemplateId summary: Return contract template's constructor description: Return contract template's constructor ABI 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 - 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 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: python label: Python source: contract_constructor_abi = fireblocks.get_contract_template_constructor(contract_id) - lang: javascript label: Javascript source: const contractConstructorAbi = await fireblocks.getContractTemplateConstructor(contractId); /tokenization/templates/{contractTemplateId}/function: get: operationId: getFunctionAbiByContractTemplateId summary: Return contract template's function description: Return contract template`s function ABI by signature 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 /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 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 - 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 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: python label: Python source: response = fireblocks.deploy_contract(contract_id, contract_deploy_request) - lang: javascript label: Javascript source: const { txId } = await fireblocks.deployContract(contractId, contractDeployRequest); /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) 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: assetId description: The blockchain asset ID example: ETH required: false in: query schema: type: string - name: templateId 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 - 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, assetId, templateId); name: Fireblocks SDK Java 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: python label: Python source: deployed_contracts = fireblocks.get_contracts_by_filter(template_id) - lang: javascript label: Javascript source: const deployedContracts = await fireblocks.getContractsByFilter(templateId); /tokenization/contracts/{id}: get: operationId: getDeployedContractById summary: Return deployed contract data by id description: Return deployed contract data by id 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 - 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 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeployedContractResponseDto' default: $ref: '#/components/responses/Error' tags: - Deployed Contracts x-codeSamples: - lang: python label: Python source: deployed_contracts = fireblocks.get_contract_by_id(contract_id) - lang: javascript label: Javascript source: const deployedContracts = await fireblocks.getContractById(contractId); /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 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 - 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 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeployedContractResponseDto' default: $ref: '#/components/responses/Error' tags: - Deployed Contracts x-codeSamples: - lang: python label: Python source: deployed_contract = fireblocks.get_contract_by_address(base_asset_id, contract_address) - lang: javascript label: Javascript source: const deployedContract = await fireblocks.getContractByAddress(baseAssetId, contractAddress); /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. 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 - 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 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: python label: Python source: token = fireblocks.issue_new_token(payload) - lang: javascript label: Javascript source: const token = await fireblocks.issueNewToken(payload); get: operationId: getLinkedTokens summary: List all linked tokens description: Return all linked tokens (paginated) 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 - 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 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/TokensPaginatedResponse' default: $ref: '#/components/responses/Error' tags: - Tokenization x-codeSamples: - lang: python label: Python source: linked_tokens = fireblocks.get_linked_tokens(payload) - lang: javascript label: Javascript source: const linkedTokens = await fireblocks.getLinkedTokens(payload); /tokenization/tokens/link: post: operationId: link summary: Link a token description: Link an already existing token (by assetId, collectionId or contractId as refId) to a workspace across EVM, Stellar, or Ripple platforms. The token will be linked to the workspace if it does not already exist. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TokenLinkRequestDto' x-readme: code-samples: - language: python code: token = fireblocks.link_token("FUNGIBLE_TOKEN", ref_id) name: Fireblocks SDK Python example - language: javascript code: const token = await fireblocks.linkToken("FUNGIBLE_TOKEN", refId); name: Fireblocks SDK Javascript example - 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 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 token identifier (refId) to link the token to content: application/json: schema: $ref: '#/components/schemas/AssetDoesNotExistHttpError' '409': description: Token link for {refId} already exists content: application/json: schema: $ref: '#/components/schemas/TokenLinkExistsHttpError' default: $ref: '#/components/responses/Error' tags: - Tokenization x-codeSamples: - lang: python label: Python source: token = fireblocks.link_token("FUNGIBLE_TOKEN", ref_id) - lang: javascript label: Javascript source: const token = await fireblocks.linkToken("FUNGIBLE_TOKEN", refId); /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. 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 - 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 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: python label: Python source: token = fireblocks.unlink_token(token_id) - lang: javascript label: Javascript source: const token = await fireblocks.unlinkToken(tokenId); get: operationId: getLinkedToken summary: Return a linked token description: Return a linked token, with its status and metadata. 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 - 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 responses: '200': description: Token fetched successfully content: application/json: schema: $ref: '#/components/schemas/TokenLinkDto' default: $ref: '#/components/responses/Error' tags: - Tokenization x-codeSamples: - lang: python label: Python source: token = fireblocks.get_linked_token(token_id) - lang: javascript label: Javascript source: const token = await fireblocks.getLinkedToken(tokenId); /contract_interactions/base_asset_id/{assetId}/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 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: assetId 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_contract_abi(base_asset_id, contract_address) name: Fireblocks SDK Python example - 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, assetId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: deployed_contract_abi = fireblocks.get_contract_abi(base_asset_id, contract_address) - lang: javascript label: Javascript source: const deployedContractAbi = await fireblocks.getContractAbi(baseAssetId, contractAddress); /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions/read: post: operationId: readCallFunction summary: Call a read function on a deployed contract description: Call a read function on a deployed contract by blockchain native asset id and contract address 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: assetId 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 - 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, assetId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: read_response = fireblocks.read_contract_call_function(base_asset_id, contract_address, payload) - lang: javascript label: Javascript source: const readResponse= await fireblocks.readContractCallFunction(baseAssetId, contractAddress, payload); /contract_interactions/base_asset_id/{assetId}/contract_address/{contractAddress}/functions/write: post: operationId: writeCallFunction summary: Call a write function on a deployed contract 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 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: assetId 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 - 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, assetId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: write_function_response = fireblocks.write_contract_call_function(base_asset_id, contract_address, payload) - lang: javascript label: Javascript source: const writeFunctionResponse = await fireblocks.writeContractCallFunction(baseAssetId, contractAddress, payload); /staking/chains: get: operationId: getChains summary: List supported chains for Fireblocks Staking description: Return an alphabetical list of supported chains. x-readme: code-samples: - language: python code: chains = fireblocks.get_staking_chains() name: Fireblocks SDK Python example - language: javascript code: const chains = await fireblocks.getStakingChains(); name: Fireblocks SDK Javascript example - 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 responses: '200': content: application/json: schema: $ref: '#/components/schemas/StakingGetChainsResponse' example: - ETH - SOL description: Supported Chains for Fireblocks Staking tags: - Staking x-codeSamples: - lang: python label: Python source: chains = fireblocks.get_staking_chains() - lang: javascript label: Javascript source: const chains = await fireblocks.getStakingChains(); /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.). x-readme: code-samples: - language: python code: chain_info = fireblocks.get_staking_chain_info("ETH") name: Fireblocks SDK Python example - language: javascript code: const chainInfo = await fireblocks.getStakingChainInfo("ETH"); name: Fireblocks SDK Javascript example - 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 parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use schema: type: string example: ETH enum: - ETH - SOL - ETH_TEST3 (Deprecated) - SOL_TEST - ETH_TEST6 - MATIC responses: '200': description: Chain specific info summary was returned successfully content: application/json: schema: $ref: '#/components/schemas/ChainInfoResponseDto' tags: - Staking x-codeSamples: - lang: python label: Python source: chain_info = fireblocks.get_staking_chain_info("ETH") - lang: javascript label: Javascript source: const chainInfo = await fireblocks.getStakingChainInfo("ETH"); /staking/chains/{chainDescriptor}/{actionId}: post: operationId: executeAction summary: Execute a staking action description: Perform a chain-specific staking action (e.g. stake, unstake, withdraw). x-readme: code-samples: - language: python code: stake_request = fireblocks.execute_staking_stake(chain_descriptor, request_body) name: Fireblocks SDK Python example - language: javascript code: | // Stake: const res = await fireblocks.executeStakingStake( "ETH", { vaultAccountId: "0", providerId: "kiln", stakeAmount: "100" } ) // Unstake: const res = await fireblocks.executeStakingUnstake( "ETH", { id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d" } ) // Withdraw: const res = await fireblocks.executeStakingWithdraw( "ETH", { id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d" } ) //Claim Rewards: const res = await fireblocks.executeStakingWithdraw( "ETH", { id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d" } ) name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.staking.executeAction(stakingApiExecuteActionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.staking().executeAction(executeActionRequest, chainDescriptor, actionId, idempotencyKey); name: Fireblocks SDK Java example parameters: - name: chainDescriptor required: true in: path description: The protocol identifier (e.g. "ETH"/"SOL") to use schema: type: string enum: - ETH - SOL - ETH_TEST3 (Deprecated) - SOL_TEST - ETH_TEST6 - MATIC - name: actionId required: true in: path description: The operation that can be executed on a vault/position schema: type: string enum: - stake - unstake - withdraw - claimRewards - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ExecuteActionRequest' examples: stake: value: vaultAccountId: '22' providerId: kiln stakeAmount: '32' chainDescriptor: ETH txNote: stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1 of 32ETH created on 02.04.23 feeLevel: MEDIUM unstake: value: id: b70701f4-d7b1-4795-a8ee-b09cdb5b850b txNote: 'unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH' feeLevel: MEDIUM withdraw: value: id: b70701f4-d7b1-4795-a8ee-b09cdb5b850c txNote: 'withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH' feeLevel: MEDIUM responses: '201': description: A chain-specific action has been executed successfully on vault/position and is associated with 201 status code. content: application/json: schema: $ref: '#/components/schemas/ExecuteActionResponse' tags: - Staking x-codeSamples: - lang: python label: Python source: stake_request = fireblocks.execute_staking_stake(chain_descriptor, request_body) - lang: javascript label: Javascript source: | // Stake: const res = await fireblocks.executeStakingStake( "ETH", { vaultAccountId: "0", providerId: "kiln", stakeAmount: "100" } ) // Unstake: const res = await fireblocks.executeStakingUnstake( "ETH", { id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d" } ) // Withdraw: const res = await fireblocks.executeStakingWithdraw( "ETH", { id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d" } ) //Claim Rewards: const res = await fireblocks.executeStakingWithdraw( "ETH", { id: "b70701f4-d7b1-4795-a8ee-b09cdb5b850d" } ) /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. x-readme: code-samples: - language: python code: | positions = fireblocks.get_staking_positions() eth_positions = fireblocks.get_staking_positions("SOL") name: Fireblocks SDK Python example - language: javascript code: | const positions = await fireblocks.getStakingPositions(); const ethPositions = await fireblocks.getStakingPositions("SOL"); name: Fireblocks SDK Javascript example - 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 parameters: - name: chainDescriptor required: false in: query description: Use "ETH" / "SOL"/ "MATIC" 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: type: string example: SOL responses: '200': description: An array of position data was returned successfully content: application/json: schema: $ref: '#/components/schemas/StakingGetAllDelegationsResponse' tags: - Staking x-codeSamples: - lang: python label: Python source: | positions = fireblocks.get_staking_positions() eth_positions = fireblocks.get_staking_positions("SOL") - lang: javascript label: Javascript source: | const positions = await fireblocks.getStakingPositions(); const ethPositions = await fireblocks.getStakingPositions("SOL"); /staking/positions/summary: get: operationId: getSummary summary: Get staking summary details x-readme: code-samples: - language: python code: | positions_summary = fireblocks.get_staking_positions_summary() name: Fireblocks SDK Python example - language: javascript code: | const positionsSummary = await fireblocks.getPositionsSummary(); name: Fireblocks SDK Javascript example - 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 description: Return a summary of all vaults, categorized by their status (active, inactive), the total amounts staked and total rewards per-chain. responses: '200': description: A summary for all vaults were returned successfully content: application/json: schema: $ref: '#/components/schemas/DelegationSummaryDto' 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' tags: - Staking x-codeSamples: - lang: python label: Python source: | positions_summary = fireblocks.get_staking_positions_summary() - lang: javascript label: Javascript source: | const positionsSummary = await fireblocks.getPositionsSummary(); /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. x-readme: code-samples: - language: python code: | positions_summary_by_vault = fireblocks.get_staking_positions_summary_by_vault() name: Fireblocks SDK Python example - language: javascript code: | const positionsSummary = await fireblocks.getPositionsSummaryByVault(); name: Fireblocks SDK Javascript example - 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 responses: '200': description: A summary for each vault were returned successfully 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' tags: - Staking x-codeSamples: - lang: python label: Python source: | positions_summary_by_vault = fireblocks.get_staking_positions_summary_by_vault() - lang: javascript label: Javascript source: | const positionsSummary = await fireblocks.getPositionsSummaryByVault(); /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. x-readme: code-samples: - language: python code: position = fireblocks.get_staking_position("b70701f4-d7b1-4795-a8ee-b09cdb5b850d") name: Fireblocks SDK Python example - language: javascript code: const position = await fireblocks.getPosition("b70701f4-d7b1-4795-a8ee-b09cdb5b850d"); name: Fireblocks SDK Javascript example - 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 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 content: application/json: schema: $ref: '#/components/schemas/DelegationDto' tags: - Staking x-codeSamples: - lang: python label: Python source: position = fireblocks.get_staking_position("b70701f4-d7b1-4795-a8ee-b09cdb5b850d") - lang: javascript label: Javascript source: const position = await fireblocks.getPosition("b70701f4-d7b1-4795-a8ee-b09cdb5b850d"); /staking/providers: get: operationId: getProviders summary: List staking providers details description: Return information on all the available staking providers. x-readme: code-samples: - language: python code: providers = fireblocks.get_staking_providers() name: Fireblocks SDK Python example - language: javascript code: const providers = await fireblocks.getStakingProviders() name: Fireblocks SDK Javascript example - 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 responses: '200': description: An array of supported providers was returned successfully content: application/json: schema: $ref: '#/components/schemas/StakingGetProvidersResponse' tags: - Staking x-codeSamples: - lang: python label: Python source: providers = fireblocks.get_staking_providers() - lang: javascript label: Javascript source: const providers = await fireblocks.getStakingProviders() /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. x-readme: code-samples: - language: python code: approve_request = fireblocks.approve_staking_provider_terms_of_service("kiln") name: Fireblocks SDK Python example - language: javascript code: const approveRequest = await fireblocks.approveStakingProviderTermsOfService("kiln"); name: Fireblocks SDK Javascript example - 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 parameters: - name: providerId required: true in: path description: The unique identifier of the staking provider schema: type: string enum: - kiln - figment - $ref: '#/components/parameters/X-Idempotency-Key' responses: '201': description: The terms of service have been successfully approved and is associated with 201 status code. content: application/json: schema: $ref: '#/components/schemas/ProvidersResponseDto' tags: - Staking x-codeSamples: - lang: python label: Python source: approve_request = fireblocks.approve_staking_provider_terms_of_service("kiln") - lang: javascript label: Javascript source: const approveRequest = await fireblocks.approveStakingProviderTermsOfService("kiln"); /admin_quorum: put: x-internal: true operationId: setAdminQuorumThreshold summary: Update admin quorum threshold description: Update admin quorum threshold tags: - Workspace Management x-readme: code-samples: - language: python code: result = fireblocks.set_admin_quorum_threshold(adminQuorumThreshold) name: Fireblocks SDK Python example - 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. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.updateNFTOwnershipsStatus([ { "NFT-cb6db032c00fcc483ae0dea333a7f6b2279aa757", "ARCHIVED" } ]) name: Fireblocks SDK Javascript example - 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 parameters: - name: blockchainDescriptor required: true in: query description: Blockchain descriptor filter schema: enum: - ETH - ETH_TEST3 - ETH_TEST5 - ETH_TEST6 - POLYGON - POLYGON_TEST_MUMBAI - AMOY_POLYGON_TEST - BASECHAIN_ETH 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: javascript label: Javascript source: | const res = await fireblocks.updateNFTOwnershipsStatus([ { "NFT-cb6db032c00fcc483ae0dea333a7f6b2279aa757", "ARCHIVED" } ]) get: operationId: getOwnershipTokens summary: List all owned tokens (paginated) description: | Returns all tokens and their data in your workspace. 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 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 /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. x-readme: code-samples: - language: javascript code: const res = await fireblocks.listOwnedAssets(); name: Fireblocks SDK Javascript example - 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 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: javascript label: Javascript source: const res = await fireblocks.listOwnedAssets(); /nfts/ownership/collections: get: operationId: listOwnedCollections summary: List owned collections (paginated) description: | Returns all collections in your workspace x-readme: code-samples: - language: javascript code: const res = await fireblocks.listOwnedCollections() name: Fireblocks SDK Javascript example - 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 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: 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: javascript label: Javascript source: const res = await fireblocks.listOwnedCollections() /nfts/tokens/{id}: put: operationId: refreshNFTMetadata summary: Refresh token metadata description: | Updates the latest token metadata. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.refreshNFTMetadata("NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd") name: Fireblocks SDK Javascript example - 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 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: javascript label: Javascript source: | const res = await fireblocks.refreshNFTMetadata("NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd") get: operationId: getNFT summary: List token data by ID description: | Returns the requested token data. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.getNFT("NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f") name: Fireblocks SDK Javascript example - 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 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: javascript label: Javascript source: | const res = await fireblocks.getNFT("NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f") /nfts/tokens: get: operationId: getNFTs summary: List tokens by IDs description: | Returns the requested tokens data. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.getNFTs({ ids: [ "NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd", "NFT-cbcbcbcbcbcbabcdefabcdefabcdefabcdefabab" ] }) name: Fireblocks SDK Javascript example - 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 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: javascript label: Javascript source: | const res = await fireblocks.getNFTs({ ids: [ "NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd", "NFT-cbcbcbcbcbcbabcdefabcdefabcdefabcdefabab" ] }) /nfts/ownership/tokens/{id}/status: put: operationId: updateTokenOwnershipStatus summary: Update token ownership status description: | Updates token status for a workspace, in all workspace vaults. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.updateNFTOwnershipStatus( "NFT-cb6db032c00fcc483ae0dea333a7f6b2279aa757", "ARCHIVED" ) name: Fireblocks SDK Javascript example - 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 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: javascript label: Javascript source: | const res = await fireblocks.updateNFTOwnershipStatus( "NFT-cb6db032c00fcc483ae0dea333a7f6b2279aa757", "ARCHIVED" ) /nfts/ownership/tokens/status: put: operationId: updateTokensOwnershipStatus summary: Update tokens ownership status description: Updates tokens status for a workspace, in all vault accounts. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.updateNFTOwnershipsStatus([ { "NFT-cb6db032c00fcc483ae0dea333a7f6b2279aa757", "ARCHIVED" } ]) name: Fireblocks SDK Javascript example - 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 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: javascript label: Javascript source: | const res = await fireblocks.updateNFTOwnershipsStatus([ { "NFT-cb6db032c00fcc483ae0dea333a7f6b2279aa757", "ARCHIVED" } ]) /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. x-readme: code-samples: - language: python code: | res = fireblocks.update_nft_token_ownerships_spam_status([ { assetId: "NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd", spam: true } ]); name: Fireblocks SDK Python example - language: javascript code: | const res = await fireblocks.updateNFTTokenOwnershipSpamStatus([ { assetId: "NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd", spam: true } ]); name: Fireblocks SDK Javascript example - 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 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: python label: Python source: | res = fireblocks.update_nft_token_ownerships_spam_status([ { assetId: "NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd", spam: true } ]); - lang: javascript label: Javascript source: | const res = await fireblocks.updateNFTTokenOwnershipSpamStatus([ { assetId: "NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd", spam: true } ]); /connections: get: operationId: get summary: List all open dApp connections description: List all open dApp connections. 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.dAppConnections.get(dAppConnectionsApiGetRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.dAppConnections().get(order, filter, sort, pageSize, next); name: Fireblocks SDK Java example /connections/wc: post: operationId: create summary: Create a new dApp connection. description: |- Initiate a new dApp connection. * Note: After this succeeds, make a request to `PUT /v1/connections/wc/{id}` (below) to approve or reject the new Web3 connection. 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.dAppConnections.create(dAppConnectionsApiCreateRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.dAppConnections().create(createConnectionRequest, idempotencyKey); name: Fireblocks SDK Java example /connections/wc/{id}: put: operationId: submit summary: Respond to a pending dApp connection request description: | Submit a response to *approve* or *reject* an initiated dApp connection. * Note: This call is used to complete your `POST /v1/connections/wc/` request. After this succeeds, your new dApp connection is created and functioning. 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.dAppConnections.submit(dAppConnectionsApiSubmitRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.dAppConnections().submit(respondToConnectionRequest, id, idempotencyKey); name: Fireblocks SDK Java example delete: operationId: remove summary: Remove an existing dApp connection description: Remove an existing dApp connection 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.dAppConnections.remove(dAppConnectionsApiRemoveRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.dAppConnections().remove(id); name: Fireblocks SDK Java example /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. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). parameters: - $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.compliance.validateTravelRuleTransaction(complianceApiValidateTravelRuleTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().validateTravelRuleTransaction(travelRuleValidateTransactionRequest, idempotencyKey); name: Fireblocks SDK Java example /screening/travel_rule/transaction/validate/full: post: operationId: validateFullTravelRuleTransaction summary: Validate Full Travel Rule Transaction description: |- Validate Full Travel Rule transactions. Checks for all required information on the originator and beneficiary VASPs. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). parameters: - $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.compliance.validateFullTravelRuleTransaction(complianceApiValidateFullTravelRuleTransactionRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().validateFullTravelRuleTransaction(travelRuleValidateFullTransactionRequest, idempotencyKey); name: Fireblocks SDK Java example /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. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). 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.compliance.getVASPByDID(complianceApiGetVASPByDIDRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().getVASPByDID(did, fields); name: Fireblocks SDK Java example /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. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). 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 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.compliance.getVASPs(complianceApiGetVASPsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().getVASPs(order, perPage, page, fields); name: Fireblocks SDK Java example /screening/travel_rule/vasp/update: put: operationId: updateVasp summary: Add jsonDidKey to VASP details description: |- Update VASP Details. Updates a VASP with the provided parameters. Use this endpoint to add your public jsonDIDkey generated by Notabene. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). 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.compliance.updateVasp(complianceApiUpdateVaspRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().updateVasp(travelRuleUpdateVASPDetails, idempotencyKey); name: Fireblocks SDK Java example /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. 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 /screening/travel_rule/screening_policy: get: operationId: getScreeningPolicy summary: Travel Rule - View Screening Policy description: Get the screening policy for Travel Rule. 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 /screening/travel_rule/policy_configuration: get: operationId: getScreeningConfiguration summary: Get Travel Rule Screening Policy Configuration description: Retrieves the configuration for Travel Rule screening policy. 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.compliance.getScreeningConfiguration();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().getScreeningConfiguration(); name: Fireblocks SDK Java example put: operationId: updateTravelRuleConfig summary: Update Travel Rule Configuration description: Updates bypass screening, inbound delay, or outbound delay configurations for Travel Rule. 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 /screening/aml/policy_configuration: get: operationId: getAmlScreeningConfiguration summary: Get AML Screening Policy Configuration description: Retrieves the configuration for Travel Rule screening policy. 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.compliance.getAmlScreeningConfiguration();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.compliance().getAmlScreeningConfiguration(); name: Fireblocks SDK Java example put: operationId: updateAmlScreeningConfiguration summary: Update AML Configuration description: Updates bypass screening, inbound delay, or outbound delay configurations for AML. 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 /screening/aml/screening_policy: get: operationId: getAmlScreeningPolicy summary: AML - View Screening Policy description: Get the screening policy for AML. 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 /screening/aml/post_screening_policy: get: operationId: getAmlPostScreeningPolicy summary: AML - View Post-Screening Policy description: Get the post-screening policy for AML. 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 /screening/configurations: put: operationId: updateScreeningConfiguration summary: Screening Configuration Update description: Update Workspace screening configuration. parameters: - $ref: '#/components/parameters/X-Idempotency-Key' responses: '200': description: Screening configuration updated successfully. content: application/json: schema: $ref: '#/components/schemas/ScreeningUpdateConfigurationsRequest' 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(idempotencyKey); name: Fireblocks SDK Java example /management/ota: put: operationId: setOtaStatus summary: Enable or disable transactions to One Time Addresses 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. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.updateOtaConfiguration(true) name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.setOtaStatus(workspaceManagementApiSetOtaStatusRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().setOtaStatus(setOtaStatusRequest, idempotencyKey); name: Fireblocks SDK Java 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: javascript label: Javascript source: | const res = await fireblocks.updateOtaConfiguration(true) get: operationId: getOtaStatus summary: Returns current One Time Address 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. x-readme: code-samples: - language: javascript code: | const res = await fireblocks.getOtaConfiguration(true) name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getOtaStatus();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getOtaStatus(); name: Fireblocks SDK Java 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: javascript label: Javascript source: | const res = await fireblocks.getOtaConfiguration(true) /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. 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.workspaceManagement.getWorkspaceStatus();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getWorkspaceStatus(); name: Fireblocks SDK Java example /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. tags: - Policy Editor (Beta) x-readme: code-samples: - language: python code: policy = fireblocks.get_active_policy() name: Fireblocks SDK Python example - 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 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: python label: Python source: policy = fireblocks.get_active_policy() - lang: javascript label: Javascript source: const policy = await fireblocks.getActivePolicy(); /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. tags: - Policy Editor (Beta) x-readme: code-samples: - language: python code: policy = fireblocks.get_draft() name: Fireblocks SDK Python example - 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 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: python label: Python source: policy = fireblocks.get_draft() - lang: javascript label: Javascript source: const policy = await fireblocks.getDraft(); 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. 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 - 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 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: python label: Python source: policy = fireblocks.update_draft() - lang: javascript label: Javascript source: const policy = await fireblocks.updateDraft(); 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. tags: - Policy Editor (Beta) x-readme: code-samples: - language: python code: policy = fireblocks.publish_draft() name: Fireblocks SDK Python example - 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 parameters: - $ref: '#/components/parameters/X-Idempotency-Key' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PublishDraftRequest' 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: python label: Python source: policy = fireblocks.publish_draft() - lang: javascript label: Javascript source: const policy = await fireblocks.publishDraft(); /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. tags: - Policy Editor (Beta) x-readme: code-samples: - language: python code: policy = fireblocks.publish_rules() name: Fireblocks SDK Python example - 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 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: python label: Python source: policy = fireblocks.publish_rules() - lang: javascript label: Javascript source: const policy = await fireblocks.publishRules(); /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. 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 - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getConsoleUsers();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getConsoleUsers(); name: Fireblocks SDK Java 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: javascript label: Javascript source: const consoleUsers = await fireblocks.getConsoleUsers(); - lang: python label: Python source: consoleUsers = fireblocks.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. 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 - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.createConsoleUser(workspaceManagementApiCreateConsoleUserRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().createConsoleUser(createConsoleUser, idempotencyKey); name: Fireblocks SDK Java 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: javascript label: Javascript source: const res = await fireblocks.createConsoleUser(firstName, lastName, email, role); - lang: python label: Python source: res = fireblocks.create_console_user(first_name, last_name, email, role) /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. 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 - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getApiUsers();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getApiUsers(); name: Fireblocks SDK Java 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: javascript label: Javascript source: const apiUsers = await fireblocks.getApiUsers(); - lang: python label: Python source: apiUsers = fireblocks.get_api_users() post: operationId: createApiUser summary: Create API Key description: Create a new API key in your workspace 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 - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.createApiUser(workspaceManagementApiCreateApiUserRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().createApiUser(createAPIUser, idempotencyKey); name: Fireblocks SDK Java 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: javascript label: Javascript source: const res = await fireblocks.createApiUser(name, role, csrForNewUser, coSignerType, isFirstUser); - lang: python label: Python source: res = fireblocks.create_api_user(name, role, csr_pem, co_signer_setup, co_signer_setup_is_first_user) /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. 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 - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.resetDevice(workspaceManagementApiResetDeviceRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().resetDevice(id, idempotencyKey); name: Fireblocks SDK Java 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: javascript label: Javascript source: const res = await fireblocks.resetDeviceRequest(consoleUserId); - lang: python label: Python source: res = fireblocks.reset_device_request(console_user_id) /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. 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 - language: typescript code: 'const response: Promise> = fireblocks.workspaceManagement.getWhitelistIpAddresses(workspaceManagementApiGetWhitelistIpAddressesRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.workspaceManagement().getWhitelistIpAddresses(userId); name: Fireblocks SDK Java 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: javascript label: Javascript source: const whitelistedAddresses = await fireblocks.getWhitelistedAddresses(apiUserId); - lang: python label: Python source: whitelisted_addresses = fireblocks.get_whitelisted_ip_addresses(api_user_id) /smart-transfers: post: operationId: createTicket summary: Create Ticket description: Creates new Smart Transfer ticket x-readme: code-samples: - language: python code: | terms = [ { asset: "BTC", amount: "133.789161216184", fromNetworkId: "cf6c9e4b-916a-4dae-9421-8782b20a44ea", toNetworkId: "5d009697-c29b-48e0-aff8-1f4305d19dc2" } ] result = fireblocks.create_smart_transfer_ticket( "ASYNC", "cf6c9e4b-916a-4dae-9421-8782b20a44ea", terms, 24, true, "Smart Transfer Note", "some-external-reference" ) name: Fireblocks SDK Python example - language: javascript code: | const terms = [{ asset: "BTC", amount: "133.789161216184", fromNetworkId: "cf6c9e4b-916a-4dae-9421-8782b20a44ea", toNetworkId: "5d009697-c29b-48e0-aff8-1f4305d19dc2" }] const data = { createdByNetworkId: "cf6c9e4b-916a-4dae-9421-8782b20a44ea", type: "ASYNC", expiresIn: 24, terms, externalRefId: "some-external-reference", note: "Smart Transfer Note", submit: true } const result = await fireblocks.createSmartTransferTicket(data); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.createTicket(smartTransfersApiCreateTicketRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().createTicket(smartTransferCreateTicket, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: | terms = [ { asset: "BTC", amount: "133.789161216184", fromNetworkId: "cf6c9e4b-916a-4dae-9421-8782b20a44ea", toNetworkId: "5d009697-c29b-48e0-aff8-1f4305d19dc2" } ] result = fireblocks.create_smart_transfer_ticket( "ASYNC", "cf6c9e4b-916a-4dae-9421-8782b20a44ea", terms, 24, true, "Smart Transfer Note", "some-external-reference" ) - lang: javascript label: Javascript source: | const terms = [{ asset: "BTC", amount: "133.789161216184", fromNetworkId: "cf6c9e4b-916a-4dae-9421-8782b20a44ea", toNetworkId: "5d009697-c29b-48e0-aff8-1f4305d19dc2" }] const data = { createdByNetworkId: "cf6c9e4b-916a-4dae-9421-8782b20a44ea", type: "ASYNC", expiresIn: 24, terms, externalRefId: "some-external-reference", note: "Smart Transfer Note", submit: true } const result = await fireblocks.createSmartTransferTicket(data); get: operationId: searchTickets summary: Find Ticket description: Finds Smart Transfer tickets that match the submitted criteria x-readme: code-samples: - language: python code: | result = fireblocks.get_smart_transfer_tickets() name: Fireblocks SDK Python example - language: javascript code: | const result = await fireblocks.getSmartTransferTickets(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.searchTickets(smartTransfersApiSearchTicketsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().searchTickets(q, statuses, networkId, createdByMe, expiresAfter, expiresBefore, type, externalRefId, after, limit); name: Fireblocks SDK Java 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 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: python label: Python source: | result = fireblocks.get_smart_transfer_tickets() - lang: javascript label: Javascript source: | const result = await fireblocks.getSmartTransferTickets(); /smart-transfers/{ticketId}: get: operationId: findTicketById summary: Search Ticket by ID description: Find Smart Transfer ticket by id x-readme: code-samples: - language: python code: | result = fireblocks.get_smart_transfer_ticket( "118320d2-761f-46c7-96cf-65e71a370b36" ) name: Fireblocks SDK Python example - language: javascript code: | const result = await fireblocks.getSmartTransferTicket( "118320d2-761f-46c7-96cf-65e71a370b36" ); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.findTicketById(smartTransfersApiFindTicketByIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().findTicketById(ticketId); name: Fireblocks SDK Java 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: python label: Python source: | result = fireblocks.get_smart_transfer_ticket( "118320d2-761f-46c7-96cf-65e71a370b36" ) - lang: javascript label: Javascript source: | const result = await fireblocks.getSmartTransferTicket( "118320d2-761f-46c7-96cf-65e71a370b36" ); /smart-transfers/{ticketId}/expires-in: put: operationId: setTicketExpiration summary: Set expiration description: Set expiration date on Smart Transfer ticket x-readme: code-samples: - language: python code: result = fireblocks.set_smart_transfer_ticket_expires_in("118320d2-761f-46c7-96cf-65e71a370b36", 24) name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.setSmartTransferTicketExpiresIn("118320d2-761f-46c7-96cf-65e71a370b36", 24); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.setTicketExpiration(smartTransfersApiSetTicketExpirationRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().setTicketExpiration(smartTransferSetTicketExpiration, ticketId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: result = fireblocks.set_smart_transfer_ticket_expires_in("118320d2-761f-46c7-96cf-65e71a370b36", 24) - lang: javascript label: Javascript source: const result = await fireblocks.setSmartTransferTicketExpiresIn("118320d2-761f-46c7-96cf-65e71a370b36", 24); /smart-transfers/{ticketId}/external-id: put: operationId: setExternalRefId summary: Add external ref. ID description: Set external id Smart Transfer ticket x-readme: code-samples: - language: python code: result = fireblocks.set_smart_transfer_ticket_external_ref_id("118320d2-761f-46c7-96cf-65e71a370b36", "abcdefg") name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.setSmartTransferTicketExternalId("118320d2-761f-46c7-96cf-65e71a370b36", "abcdefg"); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.setExternalRefId(smartTransfersApiSetExternalRefIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().setExternalRefId(smartTransferSetTicketExternalId, ticketId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: result = fireblocks.set_smart_transfer_ticket_external_ref_id("118320d2-761f-46c7-96cf-65e71a370b36", "abcdefg") - lang: javascript label: Javascript source: const result = await fireblocks.setSmartTransferTicketExternalId("118320d2-761f-46c7-96cf-65e71a370b36", "abcdefg"); /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 x-readme: code-samples: - language: python code: result = fireblocks.submit_smart_transfer_ticket("118320d2-761f-46c7-96cf-65e71a370b36", 24) name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.submitSmartTransferTicket("118320d2-761f-46c7-96cf-65e71a370b36", 24); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.submitTicket(smartTransfersApiSubmitTicketRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().submitTicket(smartTransferSubmitTicket, ticketId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: result = fireblocks.submit_smart_transfer_ticket("118320d2-761f-46c7-96cf-65e71a370b36", 24) - lang: javascript label: Javascript source: const result = await fireblocks.submitSmartTransferTicket("118320d2-761f-46c7-96cf-65e71a370b36", 24); /smart-transfers/{ticketId}/fulfill: put: operationId: fulfillTicket summary: Fund ticket manually description: Manually fulfill ticket, in case when all terms (legs) are funded manually x-readme: code-samples: - language: python code: result = fireblocks.fulfill_smart_transfer_ticket("118320d2-761f-46c7-96cf-65e71a370b36") name: Fireblocks SDK Python example - language: javascript code: const result = await fireblocks.fulfillSmartTransferTicket("118320d2-761f-46c7-96cf-65e71a370b36"); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.fulfillTicket(smartTransfersApiFulfillTicketRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().fulfillTicket(ticketId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: result = fireblocks.fulfill_smart_transfer_ticket("118320d2-761f-46c7-96cf-65e71a370b36") - lang: javascript label: Javascript source: const result = await fireblocks.fulfillSmartTransferTicket("118320d2-761f-46c7-96cf-65e71a370b36"); /smart-transfers/{ticketId}/cancel: put: operationId: cancelTicket summary: Cancel Ticket description: Cancel Smart Transfer ticket x-readme: code-samples: - language: python code: result = fireblocks.cancel_smart_transfer_ticket("118320d2-761f-46c7-96cf-65e71a370b36") name: Fireblocks SDK Python example - language: javascript code: const policy = await fireblocks.cancelSmartTransferTicket("118320d2-761f-46c7-96cf-65e71a370b36"); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.cancelTicket(smartTransfersApiCancelTicketRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().cancelTicket(ticketId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: result = fireblocks.cancel_smart_transfer_ticket("118320d2-761f-46c7-96cf-65e71a370b36") - lang: javascript label: Javascript source: const policy = await fireblocks.cancelSmartTransferTicket("118320d2-761f-46c7-96cf-65e71a370b36"); /smart-transfers/{ticketId}/terms: post: operationId: createTicketTerm summary: Create leg (term) description: Creates new smart transfer ticket term (when the ticket status is DRAFT) x-readme: code-samples: - language: python code: | result = fireblocks.create_smart_transfer_ticket_term( "118320d2-761f-46c7-96cf-65e71a370b36", "BTC", "133.789161216184", "0805153d-e77d-4f9b-8818-e507eeb2d122", "2c540e66-b5b7-45fb-b3e5-935e34735836" ) name: Fireblocks SDK Python example - language: javascript code: | const ticketTerm = { asset: "BTC", amount: "133.789161216184", fromNetworkId: "0805153d-e77d-4f9b-8818-e507eeb2d122", toNetworkId: "2c540e66-b5b7-45fb-b3e5-935e34735836" } const result = await fireblocks.createSmartTransferTicketTerm( "118320d2-761f-46c7-96cf-65e71a370b36", ticketTerm ); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.createTicketTerm(smartTransfersApiCreateTicketTermRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().createTicketTerm(smartTransferCreateTicketTerm, ticketId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: | result = fireblocks.create_smart_transfer_ticket_term( "118320d2-761f-46c7-96cf-65e71a370b36", "BTC", "133.789161216184", "0805153d-e77d-4f9b-8818-e507eeb2d122", "2c540e66-b5b7-45fb-b3e5-935e34735836" ) - lang: javascript label: Javascript source: | const ticketTerm = { asset: "BTC", amount: "133.789161216184", fromNetworkId: "0805153d-e77d-4f9b-8818-e507eeb2d122", toNetworkId: "2c540e66-b5b7-45fb-b3e5-935e34735836" } const result = await fireblocks.createSmartTransferTicketTerm( "118320d2-761f-46c7-96cf-65e71a370b36", ticketTerm ); /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 x-readme: code-samples: - language: python code: | result = fireblocks.get_smart_transfer_ticket_term( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4" ) name: Fireblocks SDK Python example - language: javascript code: | const result = await fireblocks.getSmartTransferTicketTerms( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4" ); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.findTicketTermById(smartTransfersApiFindTicketTermByIdRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().findTicketTermById(ticketId, termId); name: Fireblocks SDK Java 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: python label: Python source: | result = fireblocks.get_smart_transfer_ticket_term( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4" ) - lang: javascript label: Javascript source: | const result = await fireblocks.getSmartTransferTicketTerms( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4" ); put: operationId: updateTicketTerm summary: Update ticket leg (term) description: Update ticket term (when ticket status is DRAFT) 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.smartTransfers.updateTicketTerm(smartTransfersApiUpdateTicketTermRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().updateTicketTerm(smartTransferUpdateTicketTerm, ticketId, termId, idempotencyKey); name: Fireblocks SDK Java example delete: operationId: removeTicketTerm summary: Delete ticket leg (term) description: Delete ticket term when ticket is in DRAFT status 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.smartTransfers.removeTicketTerm(smartTransfersApiRemoveTicketTermRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().removeTicketTerm(ticketId, termId); name: Fireblocks SDK Java example /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) x-readme: code-samples: - language: python code: | result = fireblocks.fund_smart_transfer_ticket_term( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", "BTC", "133.789161216184", "0805153d-e77d-4f9b-8818-e507eeb2d122", "2", "VAULT_ACCOUNT", "0.001", "MEDIUM" ) name: Fireblocks SDK Python example - language: javascript code: | const data = { asset: "BTC", amount: "133.789161216184", networkConnectionId: "0805153d-e77d-4f9b-8818-e507eeb2d122", srcId: "2", srcType: "VAULT_ACCOUNT", fee: "0.001", feeLevel: "MEDIUM" } const result = await fireblocks.fundSmartTransferTicketTerm( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", data ); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.fundTicketTerm(smartTransfersApiFundTicketTermRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().fundTicketTerm(smartTransferFundTerm, ticketId, termId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: | result = fireblocks.fund_smart_transfer_ticket_term( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", "BTC", "133.789161216184", "0805153d-e77d-4f9b-8818-e507eeb2d122", "2", "VAULT_ACCOUNT", "0.001", "MEDIUM" ) - lang: javascript label: Javascript source: | const data = { asset: "BTC", amount: "133.789161216184", networkConnectionId: "0805153d-e77d-4f9b-8818-e507eeb2d122", srcId: "2", srcType: "VAULT_ACCOUNT", fee: "0.001", feeLevel: "MEDIUM" } const result = await fireblocks.fundSmartTransferTicketTerm( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", data ); /smart-transfers/{ticketId}/terms/{termId}/manually-fund: put: operationId: manuallyFundTicketTerm summary: Manually add term transaction description: Manually set ticket term transaction x-readme: code-samples: - language: python code: | result = fireblocks.submit_smart_transfer_ticket( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", "23bd90f86b9c65716b3929440c03dc19e5da0981632391e20a24d3057e4fa5e9" ) name: Fireblocks SDK Python example - language: javascript code: | const result = await fireblocks.manuallyFundSmartTransferTicketTerms( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", "23bd90f86b9c65716b3929440c03dc19e5da0981632391e20a24d3057e4fa5e9" ); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.manuallyFundTicketTerm(smartTransfersApiManuallyFundTicketTermRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().manuallyFundTicketTerm(smartTransferManuallyFundTerm, ticketId, termId, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: | result = fireblocks.submit_smart_transfer_ticket( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", "23bd90f86b9c65716b3929440c03dc19e5da0981632391e20a24d3057e4fa5e9" ) - lang: javascript label: Javascript source: | const result = await fireblocks.manuallyFundSmartTransferTicketTerms( "118320d2-761f-46c7-96cf-65e71a370b36", "88587a11-5a3e-4d90-8a63-5008d7a40fb4", "23bd90f86b9c65716b3929440c03dc19e5da0981632391e20a24d3057e4fa5e9" ); /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 x-readme: code-samples: - language: python code: | result = fireblocks.set_smart_transfer_user_group_ids( ["1ad4e96c-b59b-4224-84d1-ade6932cacc4"] ) name: Fireblocks SDK Python example - language: javascript code: | const result = await fireblocks.setSmartTransferTicketUserGroups( ["1ad4e96c-b59b-4224-84d1-ade6932cacc4"] ); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.setUserGroups(smartTransfersApiSetUserGroupsRequest);' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().setUserGroups(smartTransferSetUserGroups, idempotencyKey); name: Fireblocks SDK Java 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: python label: Python source: | result = fireblocks.set_smart_transfer_user_group_ids( ["1ad4e96c-b59b-4224-84d1-ade6932cacc4"] ) - lang: javascript label: Javascript source: | const result = await fireblocks.setSmartTransferTicketUserGroups( ["1ad4e96c-b59b-4224-84d1-ade6932cacc4"] ); get: operationId: getSmartTransferUserGroups summary: Get user group description: Get Smart Transfer user groups x-readme: code-samples: - language: python code: | result = fireblocks.get_smart_transfer_user_group_ids() name: Fireblocks SDK Python example - language: javascript code: | const result = await fireblocks.getSmartTransferTicketUserGroups(); name: Fireblocks SDK Javascript example - language: typescript code: 'const response: Promise> = fireblocks.smartTransfers.getSmartTransferUserGroups();' name: Fireblocks SDK TypeScript example - language: java code: CompletableFuture> response = fireblocks.smartTransfers().getSmartTransferUserGroups(); name: Fireblocks SDK Java 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: python label: Python source: | result = fireblocks.get_smart_transfer_user_group_ids() - lang: javascript label: Javascript source: | const result = await fireblocks.getSmartTransferTicketUserGroups(); /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. 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 /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. 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 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. 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 /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. 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 /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. 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 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. schemas: 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 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 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' GetVaultAssetsNumberResponse: type: array items: $ref: '#/components/schemas/VaultAssetNumber' ExchangeType: type: string enum: - BINANCE - BINANCEUS - BITFINEX - BITHUMB - BITMEX - BITSO - BITSTAMP - BITTREX - CIRCLE - COINBASEPRO - COINMETRO - COINSPRO - CRYPTOCOM - DERIBIT - FTX - FIXUS - GEMINI - HITBTC - HUOBI - KORBIT - KRAKEN - LIQUID - POLONIEX - OKCOIN - OKEX - SEEDCX ExchangeAsset: type: object properties: id: type: string balance: type: string lockedAmount: type: string total: type: string available: 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' 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 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 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 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 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: - type: object properties: address: type: string description: The wallet's address (or xpub) of the wallet tag: type: string description: For XRP wallets, the destination tag; for EOS/XLM, the memo; for the fiat providers (BLINC by BCB Group), the Bank Transfer Description required: - address - type: object properties: additionalInfo: type: object oneOf: - 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 iban: type: string ibanCity: type: string ibanCountry: type: string required: - accountHolderGivenName - accountHolderCity - accountHolderCountry - accountHolderAddress1 - accountHolderPostalCode - iban - ibanCity - ibanCountry - 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 required: - accountHolderGivenName - accountHolderCity - accountHolderCountry - accountHolderAddress1 - accountHolderPostalCode - abaRoutingNumber - abaAccountNumber - abaCountry - type: object properties: speiClabe: type: string speiName: type: string required: - speiClabe required: - additionalInfo 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 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 - Stellar (XLM): issuer address - Algorand (ALGO): asset ID - TRON (TRX): token contract address - NEAR: token address - Solana: token's mint account address example: 0xe7A9as1oa38bc4da0248s179E30aa94CcF453991 symbol: type: string description: Asset symbol example: TST3 required: - blockchainId - address AssetResponse: type: object properties: legacyId: type: string example: TST3_ETH assetClass: type: string example: FT enum: - NATIVE - FT - NFT - SFT onchain: type: object properties: symbol: type: string description: The asset's symbol example: TST3 name: type: string description: The asset's name example: Test 3 address: type: string description: The asset's address example: 0xe7A9as1oa38bc4da0248s179E30aa94CcF453991 decimals: type: number description: Number of decimals example: 18 standard: type: string description: The asset's standard example: ERC20 required: - symbol - name - decimals metadata: type: object properties: scope: type: string description: The scope of the asset (Supported in all Fireblocks workspaces or in a specific workspace) example: Global enum: - Global - Local deprecated: type: boolean description: Is asset deprecated example: false required: - scope - deprecated required: - legacyId - assetClass - 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 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 AssetNotFoundErrorResponse: type: object properties: message: type: string description: Not found error code example: Invalid address, could not get asset information code: type: string 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 - ENABLE_ASSET - STAKE - UNSTAKE - WITHDRAW - REDEEM_FROM_COMPOUND - SUPPLY_TO_COMPOUND 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 are not natively supported by Fireblocks. [Learn more about raw signing transactions.](https://developers.fireblocks.com/docs/raw-message-signing) * `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. TransferPeerPathType: type: string enum: - VAULT_ACCOUNT - EXCHANGE_ACCOUNT - INTERNAL_WALLET - EXTERNAL_WALLET - CONTRACT - NETWORK_CONNECTION - FIAT_ACCOUNT - COMPOUND - GAS_STATION - ONE_TIME_ADDRESS - UNKNOWN - END_USER_WALLET 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/get_vault-accounts-paged), [listing exchange account](https://developers.fireblocks.com/reference/get_exchange-accounts), [listing fiat accounts](https://developers.fireblocks.com/reference/get_fiat-accounts), [listing internal wallets](https://developers.fireblocks.com/reference/get_internal-wallets), [listing external wallets](https://developers.fireblocks.com/reference/get_external-wallets), [listing network connections](https://developers.fireblocks.com/reference/get_network-connections). 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/get_vault-accounts-paged), [listing exchange account](https://developers.fireblocks.com/reference/get_exchange-accounts), [listing fiat accounts](https://developers.fireblocks.com/reference/get_fiat-accounts), [listing internal wallets](https://developers.fireblocks.com/reference/get_internal-wallets), [listing external wallets](https://developers.fireblocks.com/reference/get_external-wallets), [listing network connections](https://developers.fireblocks.com/reference/get_network-connections). 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: destinationAddress: description: Address where the asset was transferred. type: string example: '0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6' destinationAddressDescription: description: Description of the address. type: string example: Some Dest address description 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's fee. 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: type: string 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 sourceAddress: type: string amountUSD: type: string index: type: number rewardInfo: $ref: '#/components/schemas/RewardInfo' ComplianceScreeningResult: 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 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. * Note: This is a premium feature that should be enabled in your workspace. Please contract your Customer Success Manager/Fireblocks Support for more info. type: object properties: mevProtection: $ref: '#/components/schemas/MevProtection' UnsignedMessage: type: object properties: content: description: Content to sign 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' 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. description: | Additional protocol / operation specific key-value parameters: For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set 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. *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 required: - id - status - operation properties: id: type: string description: Fireblocks Transaction ID example: cfe5be48-9307-4aa3-8ead-b959fca35dd6 externalTxId: type: string description: Unique externbal transaction identifier provided by the user. Fireblocks highly recommends setting an `externalTxId` for every transaction created, to avoid submitting the same transaction twice. 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 assetId: type: string description: The ID of the asset to transfer, 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/get_supported-assets) x-fb-entity: asset example: BTC 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: 1716727963 lastUpdated: type: number description: The transaction’s last update date and time, in unix timestamp. example: 1716727961 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' 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' 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 GetTransactionsResponse: type: array items: $ref: '#/components/schemas/TransactionResponse' TransactionOperation: type: string default: TRANSFER enum: - TRANSFER - BURN - CONTRACT_CALL - MINT - RAW - TYPED_MESSAGE 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. * `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 - 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 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' required: - type TransactionRequestDestination: type: object properties: amount: type: string destination: $ref: '#/components/schemas/DestinationTransferPeerPath' TravelRuleTransactionBlockchainInfo: type: object properties: txHash: type: string origin: type: string destination: type: string TravelRulePiiIVMS: type: object properties: fullName: type: string dateOfBirth: type: string placeOfBirth: type: string address: type: string identificationNumber: type: string nationality: type: string countryOfResidence: type: string taxIdentificationNumber: type: string customerNumber: type: string TravelRuleOwnershipProof: type: object properties: type: type: string example: passport description: Type of ownership proof proof: type: string example: '123456789' description: Identification number TravelRuleCreateTransactionRequest: type: object properties: originatorVASPdid: type: string description: The VASP ID of the transaction originator beneficiaryVASPdid: type: string description: The VASP ID of the transaction beneficiary beneficiaryVASPname: type: string description: The name of the VASP acting as the beneficiary 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 protocol: type: string description: The protocol used to perform the travel rule skipBeneficiaryDataValidation: type: boolean description: Whether to skip validation of beneficiary data travelRuleBehavior: type: boolean description: Whether to check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction 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' pii: description: Personal identifiable information related to the transaction allOf: - $ref: '#/components/schemas/TravelRulePiiIVMS' required: - originator - beneficiary 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: |- An optional but highly recommended parameter. Fireblocks will reject future transactions with same ID. You should set this to a unique ID representing the transaction, to avoid submitting the same transaction twice. This helps with cases where submitting the transaction responds with an error code due to Internet interruptions, but the transaction was actually sent and processed. To validate whether a transaction has been processed, [Find a specific transaction by external transaction ID](https://developers.fireblocks.com/reference/gettransactionbyexternalid). There is no specific format required for this parameter. example: some_unique_external_tx_id assetId: type: string description: The ID of the asset to transfer, for `TRANSFER`, `MINT` or `BURN` operations. [See the list of supported assets and their IDs on Fireblocks.](https://developers.fireblocks.com/reference/getsupportedassets-1) 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, 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. Fireblocks recommends using a numeric string for accurate 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 for EIP-1559 transaction pricing mechanism. Value is in Gwei. 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: '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 payed 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 accurate precision. type: string example: '120' gasLimit: description: 'For EVM-based blockchains only. Units of gas required to process the transaction. Note: Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice` and `networkFee`. 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: '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). Note: Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice` and `networkFee`. Fireblocks recommends using a numeric string for accurate precision. Although a number input exists, it is deprecated.' oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) networkFee: description: |- For EVM-based blockchains only. The total transaction fee in the blockchain’s largest unit. Note: Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice` and `networkFee`. Fireblocks recommends using a numeric string for accurate precision. Although a number input exists, it is deprecated. - The transaction blockchain fee. - For Ethereum, you can't pass gasPrice, gasLimit and networkFee all together. - A numeric value representation is required. oneOf: - type: string description: Numeric string (recommended) - type: number description: Number (deprecated) replaceTxByHash: type: string description: For EVM-based blockchains only. In case a transaction is stuck, specify the hash of the stuck transaction to replace it by this transaction with a higher fee, or to replace it with this transaction with a zero fee and drop it from the blockchain. 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) 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' required: - low - medium - high 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' 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 example: e7fd158f-2e95-4ce7-a094-ad0fcc72aa46 timestamp: type: string description: The timestamp of the audit log example: 1716923925218 createdAt: type: string description: The timestamp of the audit log creation example: 1716923925253 user: type: string description: The user name of the user that performed the action example: Some User Name subject: type: string description: The subject of the action example: NFT event: type: string description: The event that was performed example: Marked as spam tenantId: type: string description: The workspace ID of the audit log example: be5fec76-e6e3-5ae5-9d74-ada52a4e39a5 userId: type: string description: The user ID of the user that performed the action example: 9be4e59d-3a18-4da1-b927-16b3d76b0083 workspace: type: string description: Workspace Name example: My Workspace Name 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 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 AuditorData: type: object properties: name: type: string imageURL: type: string link: type: string required: - name - imageURL - link 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 baseAssetId: type: string description: The blockchain's base assetId example: ETH required: - id - contractAddress - contractTemplateId - baseAssetId 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 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 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 type: string description: The type of token example: FUNGIBLE_TOKEN refId: type: string description: The Fireblocks' reference id. Can be a Fireblocks' supported asset, collectionId or contractId example: BQ5R_MY_TOKEN displayName: type: string description: The token display name. If was not provided, would be taken from the contract template name 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 constructorParams: 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 constructor parameters and values of the contract template type: array items: 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 CreateTokenRequestDto: type: object properties: assetId: type: string example: ETH 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' displayName: type: string 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 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 required: - type - refId AssetDoesNotExistHttpError: 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 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 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: stateMutability: type: string enum: - pure - view example: pure outputs: type: array items: $ref: '#/components/schemas/Parameter' name: type: string type: type: string inputs: type: array items: $ref: '#/components/schemas/ParameterWithValue' description: type: string required: - stateMutability - type - inputs 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: array items: $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: example: - inputs: - name: to type: address internalType: address value: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66' - name: amount type: uint256 internalType: uint256 value: 1000000 stateMutability: nonpayable type: function name: mint description: The abi of the read function you wish to call type: array items: $ref: '#/components/schemas/WriteAbiFunction' 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 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 StakingGetChainsResponse: type: array items: type: string enum: - ETH - ETH_TEST6 - SOL - SOL_TEST - MATIC AdditionalInfoDto: type: object 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 ChainInfoResponseDto: 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. lastUpdated: type: number example: 1716905806289 description: Last update timestamp in milliseconds additionalInfo: description: Additional information related to the blockchain. This may include extra details about the blockchain network. allOf: - $ref: '#/components/schemas/AdditionalInfoDto' required: - chainDescriptor - lastUpdated - currentEpoch - epochElapsed - epochDuration - additionalInfo StakeRequestDto: type: object properties: vaultAccountId: type: string example: '22' description: The source vault account to stake from providerId: type: string example: kiln description: The ID of the provider 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: 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. required: - vaultAccountId - providerId - stakeAmount UnstakeRequestDto: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850e description: ID of the 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: 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. txNote: type: string example: 'Unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH' description: The tranasction note to associate with the transactions. required: - id WithdrawRequestDto: type: object 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: 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. txNote: type: string example: 'withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH' description: The note to associate with the transactions. required: - id ClaimRewardsRequestDto: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d 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: 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. txNote: type: string example: claim rewards request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The note to associate with the transactions. required: - id ExecuteActionRequest: oneOf: - $ref: '#/components/schemas/StakeRequestDto' - $ref: '#/components/schemas/UnstakeRequestDto' - $ref: '#/components/schemas/WithdrawRequestDto' - $ref: '#/components/schemas/ClaimRewardsRequestDto' StakeResponseDto: type: object properties: id: type: string example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d description: The unique identifier of the staking position required: - id UnstakeResponseDto: type: object properties: {} WithdrawResponseDto: type: object properties: {} ClaimRewardsResponseDto: type: object properties: {} ExecuteActionResponse: oneOf: - $ref: '#/components/schemas/StakeResponseDto' - $ref: '#/components/schemas/UnstakeResponseDto' - $ref: '#/components/schemas/WithdrawResponseDto' - $ref: '#/components/schemas/ClaimRewardsResponseDto' RelatedTransactionDto: 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 SolanaBlockchainDataDto: type: object properties: stakeAccountAddress: type: string example: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq description: The stake account address matching the stakeAccountId. required: - stakeAccountAddress DelegationDto: 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: type: string example: '2023-07-13T15:55:34.256Z' description: When was the request made (ISO Date). status: type: string enum: - error - failed - creating - canceled - pending - activating - active - deactivating - deactivated - withdrawing - withdrawn 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/RelatedTransactionDto' validatorAddress: type: string example: FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f description: The destination address of the staking transaction. providerId: type: string example: kiln description: The unique identifier of the staking provider availableActions: description: An array of available actions that can be performed. for example, actions like "unstake" or "withdraw". type: array items: type: string example: - unstake 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: 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. allOf: - $ref: '#/components/schemas/SolanaBlockchainDataDto' required: - id - vaultAccountId - validatorName - providerName - chainDescriptor - amount - rewardsAmount - dateCreated - status - relatedTransactions - validatorAddress - providerId - availableActions - inProgress - blockchainPositionInfo StakingGetAllDelegationsResponse: type: array items: $ref: '#/components/schemas/DelegationDto' 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 DelegationSummaryDto: 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/DelegationSummaryDto' ValidatorDto: 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 required: - chainDescriptor - feePercent ProviderDto: 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: SOL feePercent: 5 - chainDescriptor: ETH 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/ValidatorDto' 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 required: - id - providerName - validators - iconUrl - termsOfServiceUrl - isTermsOfServiceApproved StakingGetProvidersResponse: type: array items: $ref: '#/components/schemas/ProviderDto' ProvidersResponseDto: type: object properties: {} 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 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 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 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 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 dApp 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 TravelRuleValidateFullTransactionRequest: type: object properties: transactionAsset: type: string description: The asset involved in the transaction transactionAmount: type: string description: The amount of the transaction originatorDid: type: string description: The DID of the transaction originator beneficiaryDid: type: string description: The DID of the transaction beneficiary originatorVASPdid: type: string description: The VASP ID of the transaction originator beneficiaryVASPdid: type: string description: The VASP ID of the transaction beneficiary beneficiaryVASPname: type: string description: The name of the VASP acting as the beneficiary 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 protocol: type: string description: The protocol used to perform the travel rule notificationEmail: type: string description: The email address where a notification should be sent upon completion of the travel rule skipBeneficiaryDataValidation: type: boolean description: Whether to skip validation of beneficiary data travelRuleBehavior: type: boolean description: Whether to check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction 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' pii: description: Personal identifiable information related to the transaction allOf: - $ref: '#/components/schemas/TravelRulePiiIVMS' required: - originator - beneficiary TravelRuleIssuer: type: object properties: issuerDid: type: string required: - issuerDid 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 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. ScreeningUpdateConfigurationsRequest: 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. 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 - 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. * 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' PublishDraftRequest: type: object properties: draftId: description: draft unique identifier type: string 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 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/quickstart) 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 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 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 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 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 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 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