openapi: 3.0.0
info:
title: Fireblocks API
description: >
Fireblocks provides a suite of applications to manage digital asset
operations and a complete development platform to build your business on the
blockchain.
- Visit our website for more information: [Fireblocks
Website](https://fireblocks.com)
- Visit our developer docs: [Fireblocks
DevPortal](https://developers.fireblocks.com)
version: 1.8.0
contact:
email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
description: Fireblocks Sandbox Environment Base URL
paths:
/vault/accounts:
get:
x-internal: true
deprecated: true
summary: Get vault accounts
description: >-
DEPRECATED - Please use `/vault/accounts_paged` endpoint instead.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: vault_accounts = fireblocks.get_vault_accounts()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const vaultAccounts = await fireblocks.getVaultAccounts();
name: Fireblocks SDK Javascript example
parameters:
- in: query
name: namePrefix
required: false
schema:
type: string
- in: query
name: nameSuffix
required: false
schema:
type: string
- in: query
name: minAmountThreshold
required: false
schema:
type: number
- in: query
name: assetId
required: false
schema:
type: string
x-fb-entity: asset
responses:
'200':
description: A list of vault accounts
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetVaultAccountsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getVaultAccounts
post:
summary: Create a new vault account
operationId: createVaultAccount
description: >-
Creates a new vault account with the requested name.
**Note: ** Vault account names should consist of ASCII characters only.
Learn more about Fireblocks Vault Accounts in the following
[guide](https://developers.fireblocks.com/reference/create-vault-account).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAccount = fireblocks.create_vault_account(name, hiddenOnUI,
# customer_ref_id, auto_fueling)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAccount = await fireblocks.createVaultAccount(name,
hiddenOnUI, customerRefId, autoFueling);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultAccount>> =
fireblocks.vaults.createVaultAccount(vaultsApiCreateVaultAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultAccount>> response =
fireblocks.vaults().createVaultAccount(createVaultAccountRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.create_vault_account(create_vault_account_request,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVaultAccountRequest'
responses:
'200':
description: A Vault Account object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAccount'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultAccount>> =
fireblocks.vaults.createVaultAccount(vaultsApiCreateVaultAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultAccount>> response =
fireblocks.vaults().createVaultAccount(createVaultAccountRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.create_vault_account(create_vault_account_request,
idempotency_key);
/vault/accounts/addresses/bulk:
post:
operationId: createMultipleDepositAddresses
summary: Bulk creation of new deposit addresses
description: |
- **For UTXO blockchains only.**
- **This endpoint is currently in beta mode and may be subject to change. To learn more, contact your Fireblocks Customer Success Manager or email csm@fireblocks.com.**
Create multiple deposit addresses by running an async job.
- The target Vault account should already have a UTXO asset wallet with a permanent address.
- Limited to a maximum of 10,000 addresses per operation. Use multiple operations for the same Vault account/permanent address if needed.
**Endpoint Permissions:** Admin, Non-Signing Admin.
tags:
- Vaults
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMultipleDepositAddressesRequest'
responses:
"200":
description: A JobCreated object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/JobCreated'
default:
$ref: '#/components/responses/Error'
/vault/accounts/addresses/bulk/{jobId}:
get:
summary: Get the job status of the bulk deposit address creation
description: |
Returns the current status of (or an error for) the specified deposit addresss bulk creation job.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, and Viewer.
tags:
- Vaults
parameters:
- in: path
name: jobId
required: true
description: The ID of the job to create addresses
schema:
type: string
example: 019681b4-107d-7243-942d-4c3c30e36fae
responses:
"200":
description: A Job with status
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMultipleDepositAddressesJobStatus'
default:
$ref: '#/components/responses/Error'
operationId: getCreateMultipleDepositAddressesJobStatus
/vault/accounts/bulk/:
post:
operationId: createMultipleAccounts
summary: Bulk creation of new vault accounts
description: |
- **This endpoint is currently in Early Availability (EA) mode and may be subject to change. To learn more, contact your Fireblocks Customer Success Manager or email csm@fireblocks.com.**
Create multiple vault accounts by running an async job.
- The HBAR, TON, SUI, TERRA, ALGO, and DOT blockchains are not supported.
- Limited to a maximum of 10,000 accounts per operation.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMultipleAccountsRequest'
responses:
"200":
description: A JobCreated object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/JobCreated'
default:
$ref: '#/components/responses/Error'
/vault/accounts/bulk/{jobId}:
get:
summary: Get job status of bulk creation of new vault accounts
description: |
Returns the current status of (or error for) the specified vault account bulk creation job.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-rate-limit-category: async
parameters:
- in: path
name: jobId
required: true
description: The ID of the job to create addresses
schema:
type: string
example: 019681b4-107d-7243-942d-4c3c30e36fae
responses:
"200":
description: A Job with status
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMultipleVaultAccountsJobStatus'
default:
$ref: '#/components/responses/Error'
operationId: getCreateMultipleVaultAccountsJobStatus
/vault/accounts/attached_tags:
post:
summary: Attach or detach tags from vault accounts
description: |
Attach or detach one or more tags from the requested vault accounts.
**Endpoint Permissions:**
- For protected tags: Owner, Admin, Non-Signing Admin.
- For non protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver.
tags:
- Vaults
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAccountsTagAttachmentOperationsRequest'
responses:
"200":
description: Tags were attached/detached successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAccountsTagAttachmentOperationsResponse'
"400":
description: |
- Invalid request parameters.
- Same tag ID is provided in both tagIdsToAttach and tagIdsToDetach.
- Vault accounts are archived.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchema'
"404":
description: |
- Tags with the requested ID not found.
- Vault accounts with the requested ID not found.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchema'
operationId: attachOrDetachTagsFromVaultAccounts
/vault/accounts_paged:
get:
summary: Get vault accounts (Paginated)
description: |
Retrieves a paginated list of all vault accounts in your workspace matching your query's criteria.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vault_accounts =
# fireblocks.get_vault_accounts_with_page_info(filters)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAccounts = await
fireblocks.getVaultAccountsWithPageInfo(filters);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<VaultAccountsPagedResponse>> =
fireblocks.vaults.getPagedVaultAccounts(vaultsApiGetPagedVaultAccountsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultAccountsPagedResponse>>
response = fireblocks.vaults().getPagedVaultAccounts(namePrefix,
nameSuffix, minAmountThreshold, assetId, orderBy, before, after,
limit);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.vaults.get_paged_vault_accounts(name_prefix,
name_suffix, min_amount_threshold, asset_id, order_by, before,
after, limit);
name: Fireblocks SDK Python example
parameters:
- in: query
name: namePrefix
required: false
schema:
type: string
example: MyVaultPrefix
- in: query
name: nameSuffix
required: false
schema:
type: string
example: MyVaultSuffix
- in: query
name: minAmountThreshold
required: false
description: >-
Specifying minAmountThreshold will filter accounts with balances
greater than this value, otherwise, it will return all accounts. The
amount set in this parameter is the native asset amount and not its
USD value.
schema:
type: number
example: 10
- in: query
name: assetId
required: false
schema:
type: string
x-fb-entity: asset
example: ETH
- in: query
name: orderBy
required: false
schema:
type: string
enum:
- ASC
- DESC
default: DESC
- in: query
name: before
required: false
schema:
type: string
example: c3RhcnRpbmdWYXVsdElkeD04NTgzNzA2Mw==
- in: query
name: after
required: false
schema:
type: string
example: c3RhcnRpbmdWYXVsdElkeD01NTM1NzUzNg==
- in: query
name: limit
required: false
schema:
type: number
minimum: 1
maximum: 500
default: 200
- in: query
name: tagIds
required: false
description: List of tag IDs to filter vault accounts.
schema:
type: array
items:
type: string
format: uuid
maxItems: 100
responses:
'200':
description: A VaultAccountsPagedResponse object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAccountsPagedResponse'
operationId: getPagedVaultAccounts
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<VaultAccountsPagedResponse>> =
fireblocks.vaults.getPagedVaultAccounts(vaultsApiGetPagedVaultAccountsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultAccountsPagedResponse>> response
= fireblocks.vaults().getPagedVaultAccounts(namePrefix, nameSuffix,
minAmountThreshold, assetId, orderBy, before, after, limit);
- lang: Python
source: >-
response = fireblocks.vaults.get_paged_vault_accounts(name_prefix,
name_suffix, min_amount_threshold, asset_id, order_by, before,
after, limit);
/vault/accounts/{vaultAccountId}:
get:
summary: Get a vault account by ID
description: >-
Get a vault account by its unique ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: vault_account = fireblocks.get_vault_account(vault_account_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAccount = await
fireblocks.getVaultAccount(vault_account_id);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultAccount>> =
fireblocks.vaults.getVaultAccount(vaultsApiGetVaultAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultAccount>> response =
fireblocks.vaults().getVaultAccount(vaultAccountId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.vaults.get_vault_account(vault_account_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
responses:
'200':
description: A Vault Account object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAccount'
default:
$ref: '#/components/responses/Error'
operationId: getVaultAccount
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultAccount>> =
fireblocks.vaults.getVaultAccount(vaultsApiGetVaultAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultAccount>> response =
fireblocks.vaults().getVaultAccount(vaultAccountId);
- lang: Python
source: response = fireblocks.vaults.get_vault_account(vault_account_id);
put:
summary: Rename a vault account
description: >-
Renames the requested vault account.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAccount = fireblocks.update_vault_account(vault_account_id,
# name)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAccount = await
fireblocks.updateVaultAccount(vautlAccountId, name);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<RenameVaultAccountResponse>> =
fireblocks.vaults.updateVaultAccount(vaultsApiUpdateVaultAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<RenameVaultAccountResponse>>
response =
fireblocks.vaults().updateVaultAccount(updateVaultAccountRequest,
vaultAccountId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.update_vault_account(update_vault_account_request,
vault_account_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVaultAccountRequest'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/RenameVaultAccountResponse'
default:
$ref: '#/components/responses/Error'
operationId: updateVaultAccount
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<RenameVaultAccountResponse>> =
fireblocks.vaults.updateVaultAccount(vaultsApiUpdateVaultAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<RenameVaultAccountResponse>> response
= fireblocks.vaults().updateVaultAccount(updateVaultAccountRequest,
vaultAccountId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.update_vault_account(update_vault_account_request,
vault_account_id, idempotency_key);
/vault/asset_wallets:
get:
summary: Get vault wallets (Paginated)
description: >-
Get all vault wallets of the vault accounts in your workspace.
A vault wallet is an asset in a vault account.
This method allows fast traversal of all account balances.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: vault_accounts = fireblocks.get_asset_wallets(filters)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const vaultAccounts = await fireblocks.getAssetWallets(filters);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<PaginatedAssetWalletResponse>> =
fireblocks.vaults.getAssetWallets(vaultsApiGetAssetWalletsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PaginatedAssetWalletResponse>>
response =
fireblocks.vaults().getAssetWallets(totalAmountLargerThan,
assetId, orderBy, before, after, limit);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.get_asset_wallets(total_amount_larger_than,
asset_id, order_by, before, after, limit);
name: Fireblocks SDK Python example
parameters:
- in: query
name: totalAmountLargerThan
description: >-
When specified, only vault wallets with total balance greater than
this amount are returned.
required: false
schema:
type: number
example: 14
- in: query
name: assetId
required: false
description: >-
When specified, only vault wallets with the specified ID are
returned.
schema:
type: string
x-fb-entity: asset
example: ETH
- in: query
name: orderBy
required: false
schema:
type: string
enum:
- ASC
- DESC
default: DESC
- in: query
name: before
required: false
description: >
Fetches the next paginated response before this element.
This element is a cursor and is returned at the response of the
previous page.
schema:
type: string
example: c3RhcnRpbmdWYXVsdElkeD04NTgzNzA2Mw
- in: query
name: after
required: false
description: >-
Fetches the next paginated response after this element. This element
is a cursor and is returned at the response of the previous page.
schema:
type: string
example: c3RhcnRpbmdWYXVsdElkeD01NTM1NzUzNg
- in: query
name: limit
required: false
description: |
The maximum number of vault wallets in a single response.
The default is 200 and the maximum is 1000.
schema:
type: number
minimum: 1
maximum: 1000
default: 200
responses:
'200':
description: A PaginatedAssetWalletResponse object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAssetWalletResponse'
operationId: getAssetWallets
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<PaginatedAssetWalletResponse>> =
fireblocks.vaults.getAssetWallets(vaultsApiGetAssetWalletsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PaginatedAssetWalletResponse>>
response =
fireblocks.vaults().getAssetWallets(totalAmountLargerThan, assetId,
orderBy, before, after, limit);
- lang: Python
source: >-
response =
fireblocks.vaults.get_asset_wallets(total_amount_larger_than,
asset_id, order_by, before, after, limit);
/vault/accounts/{vaultAccountId}/hide:
post:
summary: Hide a vault account in the console
description: >-
Hides the requested vault account from the web console view.
This operation is required when creating thousands of vault accounts to
serve your end-users.
Used for preventing the web console to be swamped with too much vault
accounts.
Learn more in the following [guide](https://developers.fireblocks.com/docs/create-direct-custody-wallets#hiding-vault-accounts).
NOTE: Hiding the vault account from the web console will also hide all
the related transactions to/from this vault.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: vaultAsset = fireblocks.hide_vault_account(vault_account_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.hideVaultAccount(vaultAccountId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.hideVaultAccount(vaultsApiHideVaultAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().hideVaultAccount(vaultAccountId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.vaults.hide_vault_account(vault_account_id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The vault account to hide
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultActionStatus'
default:
$ref: '#/components/responses/Error'
operationId: hideVaultAccount
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.hideVaultAccount(vaultsApiHideVaultAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().hideVaultAccount(vaultAccountId,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.vaults.hide_vault_account(vault_account_id,
idempotency_key);
/vault/accounts/{vaultAccountId}/unhide:
post:
summary: Unhide a vault account in the console
description: >-
Makes a hidden vault account visible in web console view.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: vaultAsset = fireblocks.unhide_vault_account(vault_account_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.unhideVaultAccount(vaultAccountId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.unhideVaultAccount(vaultsApiUnhideVaultAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().unhideVaultAccount(vaultAccountId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.unhide_vault_account(vault_account_id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The vault account to unhide
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultActionStatus'
default:
$ref: '#/components/responses/Error'
operationId: unhideVaultAccount
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.unhideVaultAccount(vaultsApiUnhideVaultAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().unhideVaultAccount(vaultAccountId,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.vaults.unhide_vault_account(vault_account_id,
idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}/activate:
post:
summary: Activate a wallet in a vault account
description: >-
Initiates activation for a wallet in a vault account.
Activation is required for tokens that need an on-chain transaction for
creation (XLM tokens, SOL tokens etc).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateVaultAssetResponse>> =
fireblocks.vaults.activateAssetForVaultAccount(vaultsApiActivateAssetForVaultAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateVaultAssetResponse>> response
= fireblocks.vaults().activateAssetForVaultAccount(vaultAccountId,
assetId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.activate_asset_for_vault_account(vault_account_id,
asset_id, idempotency_key);
name: Fireblocks SDK Python example
tags:
- Vaults
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: SOL_USDC_PTHX
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVaultAssetResponse'
default:
$ref: '#/components/responses/Error'
operationId: activateAssetForVaultAccount
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateVaultAssetResponse>> =
fireblocks.vaults.activateAssetForVaultAccount(vaultsApiActivateAssetForVaultAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateVaultAssetResponse>> response =
fireblocks.vaults().activateAssetForVaultAccount(vaultAccountId,
assetId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.activate_asset_for_vault_account(vault_account_id,
asset_id, idempotency_key);
/vault/accounts/{vaultAccountId}/set_customer_ref_id:
post:
summary: Set an AML/KYT ID for a vault account
description: >-
Assigns an AML/KYT customer reference ID for the vault account.
Learn more about Fireblocks AML management in the following
[guide](https://developers.fireblocks.com/docs/define-aml-policies).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAsset =
# fireblocks.set_vault_account_customer_ref_id(vault_account_id,
# customer_ref_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.setCustomerRefIdForVaultAccount(vaultAccountId,
customerRefId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.setVaultAccountCustomerRefId(vaultsApiSetVaultAccountCustomerRefIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().setVaultAccountCustomerRefId(setCustomerRefIdRequest,
vaultAccountId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.set_vault_account_customer_ref_id(set_customer_ref_id_request,
vault_account_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The vault account ID
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerRefIdRequest'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultActionStatus'
default:
$ref: '#/components/responses/Error'
operationId: setVaultAccountCustomerRefId
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.setVaultAccountCustomerRefId(vaultsApiSetVaultAccountCustomerRefIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().setVaultAccountCustomerRefId(setCustomerRefIdRequest,
vaultAccountId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.set_vault_account_customer_ref_id(set_customer_ref_id_request,
vault_account_id, idempotency_key);
/vault/accounts/{vaultAccountId}/set_auto_fuel:
post:
summary: Set auto fueling to on or off
description: >-
Toggles the auto fueling property of the vault account to enabled or
disabled.
Vault Accounts with 'autoFuel=true' are monitored and auto fueled by the
Fireblocks Gas Station.
Learn more about the Fireblocks Gas Station in the following
[guide](https://developers.fireblocks.com/docs/work-with-gas-station).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.setVaultAccountAutoFuel(vaultsApiSetVaultAccountAutoFuelRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().setVaultAccountAutoFuel(setAutoFuelRequest,
vaultAccountId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.set_vault_account_auto_fuel(set_auto_fuel_request,
vault_account_id, idempotency_key);
name: Fireblocks SDK Python example
tags:
- Vaults
parameters:
- in: path
name: vaultAccountId
required: true
description: The vault account ID
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetAutoFuelRequest'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultActionStatus'
default:
$ref: '#/components/responses/Error'
operationId: setVaultAccountAutoFuel
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.setVaultAccountAutoFuel(vaultsApiSetVaultAccountAutoFuelRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().setVaultAccountAutoFuel(setAutoFuelRequest,
vaultAccountId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.set_vault_account_auto_fuel(set_auto_fuel_request,
vault_account_id, idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}:
get:
summary: Get the asset balance for a vault account
description: |-
Returns a specific vault wallet balance information for a specific asset.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAsset = fireblocks.get_vault_account_asset(vault_account_id,
# asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.getVaultAccountAsset(vaultAccountId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultAsset>> =
fireblocks.vaults.getVaultAccountAsset(vaultsApiGetVaultAccountAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultAsset>> response =
fireblocks.vaults().getVaultAccountAsset(vaultAccountId, assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.get_vault_account_asset(vault_account_id,
asset_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
responses:
'200':
description: A VaultAsset object
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAsset'
default:
$ref: '#/components/responses/Error'
operationId: getVaultAccountAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultAsset>> =
fireblocks.vaults.getVaultAccountAsset(vaultsApiGetVaultAccountAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultAsset>> response =
fireblocks.vaults().getVaultAccountAsset(vaultAccountId, assetId);
- lang: Python
source: >-
response =
fireblocks.vaults.get_vault_account_asset(vault_account_id,
asset_id);
post:
summary: Create a new vault wallet
description: >-
Creates a wallet for a specific asset in a vault account.
Learn more about Fireblocks Vault Wallets in the following
[guide](https://developers.fireblocks.com/reference/create-vault-wallet).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAsset = fireblocks.create_vault_asset(vault_account_id,
# asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.createVaultAsset(vaultAccountId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateVaultAssetResponse>> =
fireblocks.vaults.createVaultAccountAsset(vaultsApiCreateVaultAccountAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateVaultAssetResponse>> response
= fireblocks.vaults().createVaultAccountAsset(vaultAccountId,
assetId, createAssetsRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.create_vault_account_asset(vault_account_id,
asset_id, create_assets_request, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: >-
The ID of the vault account to return, or 'default' for the default
vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAssetsRequest'
responses:
'200':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVaultAssetResponse'
default:
$ref: '#/components/responses/Error'
operationId: createVaultAccountAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateVaultAssetResponse>> =
fireblocks.vaults.createVaultAccountAsset(vaultsApiCreateVaultAccountAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateVaultAssetResponse>> response =
fireblocks.vaults().createVaultAccountAsset(vaultAccountId, assetId,
createAssetsRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.create_vault_account_asset(vault_account_id,
asset_id, create_assets_request, idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}/balance:
post:
summary: Refresh asset balance data
description: |-
Updates the balance of a specific asset in a vault account.
This API endpoint is subject to a strict rate limit.
Should be used by clients in very specific scenarios.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAsset =
# fireblocks.refresh_vault_asset_balance(vault_account_id, asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.refreshVaultAssetBalance(vaultAccountId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultAsset>> =
fireblocks.vaults.updateVaultAccountAssetBalance(vaultsApiUpdateVaultAccountAssetBalanceRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultAsset>> response =
fireblocks.vaults().updateVaultAccountAssetBalance(vaultAccountId,
assetId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.update_vault_account_asset_balance(vault_account_id,
asset_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account to return
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A VaultAsset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAsset'
default:
$ref: '#/components/responses/Error'
operationId: updateVaultAccountAssetBalance
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultAsset>> =
fireblocks.vaults.updateVaultAccountAssetBalance(vaultsApiUpdateVaultAccountAssetBalanceRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultAsset>> response =
fireblocks.vaults().updateVaultAccountAssetBalance(vaultAccountId,
assetId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.update_vault_account_asset_balance(vault_account_id,
asset_id, idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}/addresses:
get:
deprecated: true
summary: Get asset addresses
description: >-
DEPRECATED!
- If your application logic or scripts rely on the deprecated endpoint,
you should update to account for
GET/V1/vault/accounts/{vaultAccountId}/{assetId}/addresses_paginated
before Mar 31,2024.
- All workspaces created after Mar 31,2024. will have it disabled. If it
is disabled for your workspace and you attempt to use it, you will
receive the following error message: "This endpoint is unavailable.
- Please use the GET
/v1/vault/accounts/{vaultAccountId}/{assetId}/addresses_paginated
endpoint to return all the wallet addresses associated with the
specified vault account and asset in a paginated list.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account to return
schema:
type: string
format: numeric
x-fb-entity: vault_account
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
responses:
'200':
description: A list of deposit addresses
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetVaultAccountAssetAddressesResponse'
default:
$ref: '#/components/responses/Error'
operationId: getVaultAccountAssetAddresses
x-readme:
code-samples:
# - language: python
# code: >-
# depositAddresses =
# fireblocks.get_deposit_addresses(vault_account_id, asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const depositAddresses = await
fireblocks.getDepositAddresses(vaultAccountId, assetId);
name: Fireblocks SDK Javascript example
post:
summary: Create new asset deposit address
description: |-
Creates a new deposit address for an asset of a vault account.
Should be used for UTXO or Tag/Memo based assets ONLY.
Requests with account based assets will fail.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# address = fireblocks.generate_new_address(vault_account_id,
# asset_id, description, customer_ref_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const address = await
fireblocks.generateNewAddress(vaultAccountId, assetId,
description, customerRefId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<CreateAddressResponse>>
=
fireblocks.vaults.createVaultAccountAssetAddress(vaultsApiCreateVaultAccountAssetAddressRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateAddressResponse>> response =
fireblocks.vaults().createVaultAccountAssetAddress(vaultAccountId,
assetId, createAddressRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.create_vault_account_asset_address(vault_account_id,
asset_id, create_address_request, idempotency_key);
name: Fireblocks SDK Python example
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAddressRequest'
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account to return
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: The created address
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAddressResponse'
default:
$ref: '#/components/responses/Error'
operationId: createVaultAccountAssetAddress
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<CreateAddressResponse>> =
fireblocks.vaults.createVaultAccountAssetAddress(vaultsApiCreateVaultAccountAssetAddressRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateAddressResponse>> response =
fireblocks.vaults().createVaultAccountAssetAddress(vaultAccountId,
assetId, createAddressRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.create_vault_account_asset_address(vault_account_id,
asset_id, create_address_request, idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}/addresses_paginated:
get:
summary: Get addresses (Paginated)
description: >-
Returns a paginated response of the addresses for a given vault account
and asset.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# addresses = vault_accounts =
# fireblocks.get_paginated_addresses("0","ETH_TEST3")
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const addresses = await
fireblocks.getPaginatedAddresses("0","ETH_TEST3");
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<PaginatedAddressResponse>> =
fireblocks.vaults.getVaultAccountAssetAddressesPaginated(vaultsApiGetVaultAccountAssetAddressesPaginatedRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PaginatedAddressResponse>> response
=
fireblocks.vaults().getVaultAccountAssetAddressesPaginated(vaultAccountId,
assetId, limit, before, after);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.get_vault_account_asset_addresses_paginated(vault_account_id,
asset_id, limit, before, after);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account to return
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- in: query
name: limit
description: Limit the number of results per page
schema:
type: number
example: 50
- in: query
name: before
description: Cursor string for the previous page
schema:
type: string
example: >-
eyJhZGRyZXNzSWQiOiIzNjg4MzE5MiIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ==
- in: query
name: after
description: Cursor string for the next page
schema:
type: string
example: >-
eyJhZGRyZXNzSWQiOiIzNDU3MDM4MSIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ==
responses:
'200':
description: A paginated list of addresses, and pagination info.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAddressResponse'
default:
$ref: '#/components/responses/Error'
operationId: getVaultAccountAssetAddressesPaginated
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<PaginatedAddressResponse>> =
fireblocks.vaults.getVaultAccountAssetAddressesPaginated(vaultsApiGetVaultAccountAssetAddressesPaginatedRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PaginatedAddressResponse>> response =
fireblocks.vaults().getVaultAccountAssetAddressesPaginated(vaultAccountId,
assetId, limit, before, after);
- lang: Python
source: >-
response =
fireblocks.vaults.get_vault_account_asset_addresses_paginated(vault_account_id,
asset_id, limit, before, after);
/vault/accounts/{vaultAccountId}/{assetId}/max_spendable_amount:
get:
summary: Get max spendable amount in a transaction
description: |
**UTXO assets only.**
Retrieve the maximum amount of the specified asset that can be spent in a single transaction from the specified vault account.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# address = fireblocks.set_address_description(vault_account_id,
# asset_id, address, tag, description)
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetMaxSpendableAmountResponse>> =
fireblocks.vaults.getMaxSpendableAmount(vaultsApiGetMaxSpendableAmountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetMaxSpendableAmountResponse>>
response =
fireblocks.vaults().getMaxSpendableAmount(vaultAccountId, assetId,
manualSigning);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.get_max_spendable_amount(vault_account_id,
asset_id, manual_signing);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: >-
The ID of the vault account, or 'default' for the default vault
account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- in: query
name: manualSigning
description: >-
False by default. The maximum number of inputs depends on whether the
transaction will be signed by an automated co-signer server or on a
mobile device.
schema:
type: boolean
responses:
'200':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetMaxSpendableAmountResponse'
default:
$ref: '#/components/responses/Error'
operationId: getMaxSpendableAmount
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetMaxSpendableAmountResponse>> =
fireblocks.vaults.getMaxSpendableAmount(vaultsApiGetMaxSpendableAmountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetMaxSpendableAmountResponse>>
response = fireblocks.vaults().getMaxSpendableAmount(vaultAccountId,
assetId, manualSignging);
- lang: Python
source: >-
response =
fireblocks.vaults.get_max_spendable_amount(vault_account_id,
asset_id, manual_signging);
/vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}:
put:
summary: Update address description
description: >-
Updates the description of an existing address of an asset in a vault
account.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# address = fireblocks.set_address_description(vault_account_id,
# asset_id, address, tag, description)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const address = await
fireblocks.setAddressDescription(vaultAccountId, assetId, address,
tag, description);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.updateVaultAccountAssetAddress(vaultsApiUpdateVaultAccountAssetAddressRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().updateVaultAccountAssetAddress(vaultAccountId,
assetId, addressId, updateVaultAccountAssetAddressRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.update_vault_account_asset_address(vault_account_id,
asset_id, address_id, update_vault_account_asset_address_request,
idempotency_key);
name: Fireblocks SDK Python example
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVaultAccountAssetAddressRequest'
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- in: path
name: addressId
required: true
description: >-
The address for which to add a description. For XRP, use
<address>:<tag>, for all other assets, use only the address
schema:
type: string
example: 1Fn5bZ9V9bkt8F1wVZTouG2xVfAT9ZX4Lv
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultActionStatus'
default:
$ref: '#/components/responses/Error'
operationId: updateVaultAccountAssetAddress
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.updateVaultAccountAssetAddress(vaultsApiUpdateVaultAccountAssetAddressRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().updateVaultAccountAssetAddress(vaultAccountId,
assetId, addressId, updateVaultAccountAssetAddressRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.update_vault_account_asset_address(vault_account_id,
asset_id, address_id, update_vault_account_asset_address_request,
idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id:
post:
summary: Assign AML customer reference ID
description: >-
Sets an AML/KYT customer reference ID for a specific address.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAsset =
# fireblocks.set_customer_ref_id_for_address(vault_account_id,
# asset_id, address_id, customer_ref_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.setCustomerRefIdForAddress(vaultAccountId, assetId,
addressId, customerRefId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.setCustomerRefIdForAddress(vaultsApiSetCustomerRefIdForAddressRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().setCustomerRefIdForAddress(setCustomerRefIdForAddressRequest,
vaultAccountId, assetId, addressId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.set_customer_ref_id_for_address(set_customer_ref_id_for_address_request,
vault_account_id, asset_id, address_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- in: path
name: addressId
required: true
description: >-
The address for which to add a description. For XRP, use
<address>:<tag>, for all other assets, use only the address
schema:
type: string
example: ltc1qt7d7pcaycq9r0n35d9k2tuff5sf8qdsl84aex6
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerRefIdForAddressRequest'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultActionStatus'
default:
$ref: '#/components/responses/Error'
operationId: setCustomerRefIdForAddress
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultActionStatus>> =
fireblocks.vaults.setCustomerRefIdForAddress(vaultsApiSetCustomerRefIdForAddressRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultActionStatus>> response =
fireblocks.vaults().setCustomerRefIdForAddress(setCustomerRefIdForAddressRequest,
vaultAccountId, assetId, addressId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.vaults.set_customer_ref_id_for_address(set_customer_ref_id_for_address_request,
vault_account_id, asset_id, address_id, idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/create_legacy:
post:
summary: Convert a segwit address to legacy format
description: >-
Converts an existing segwit address to the legacy format.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Vaults
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
- in: path
name: addressId
required: true
description: The segwit address to translate
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: The created address
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAddressResponse'
default:
$ref: '#/components/responses/Error'
operationId: createLegacyAddress
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<CreateAddressResponse>>
=
fireblocks.vaults.createLegacyAddress(vaultsApiCreateLegacyAddressRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateAddressResponse>> response =
fireblocks.vaults().createLegacyAddress(vaultAccountId, assetId,
addressId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.create_legacy_address(vault_account_id,
asset_id, address_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<CreateAddressResponse>> =
fireblocks.vaults.createLegacyAddress(vaultsApiCreateLegacyAddressRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateAddressResponse>> response =
fireblocks.vaults().createLegacyAddress(vaultAccountId, assetId,
addressId, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.vaults.create_legacy_address(vault_account_id,
asset_id, address_id, idempotency_key);
/vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs:
get:
summary: Get UTXO unspent inputs information
description: |-
Returns unspent inputs information of an UTXO asset in a vault account.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# vaultAsset = fireblocks.get_unspent_inputs(vault_account_id,
# asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const vaultAsset = await
fireblocks.getUnspentInputs(vaultAccountId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetUnspentInputsResponse>> =
fireblocks.vaults.getUnspentInputs(vaultsApiGetUnspentInputsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<UnspentInputsResponse>>>
response = fireblocks.vaults().getUnspentInputs(vaultAccountId,
assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.vaults.get_unspent_inputs(vault_account_id,
asset_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: BTC
responses:
'200':
description: List of Unspent information per input
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetUnspentInputsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getUnspentInputs
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetUnspentInputsResponse>> =
fireblocks.vaults.getUnspentInputs(vaultsApiGetUnspentInputsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<UnspentInputsResponse>>> response
= fireblocks.vaults().getUnspentInputs(vaultAccountId, assetId);
- lang: Python
source: >-
response = fireblocks.vaults.get_unspent_inputs(vault_account_id,
asset_id);
/vault/public_key_info:
get:
summary: Get the public key for a derivation path
description: >-
Gets the public key information based on derivation path and signing
algorithm.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# pubKey = fireblocks.get_public_key_info(algorithm,
# derivation_path, compressed)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >
const PublicKeyInfoArgs = { algorithm: 'MPC_ECDSA_SECP256K1',
derivationPath: '[44,0,0,0,0]' } const pubKey = await
fireblocks.getPublicKeyInfo(PublicKeyInfoArgs);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<PublicKeyInformation>>
=
fireblocks.vaults.getPublicKeyInfo(vaultsApiGetPublicKeyInfoRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PublicKeyInformation>> response =
fireblocks.vaults().getPublicKeyInfo(derivationPath, algorithm,
compressed);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.vaults.get_public_key_info(derivation_path,
algorithm, compressed);
name: Fireblocks SDK Python example
parameters:
- in: query
name: derivationPath
description: >
An array of integers representing the full BIP44 derivation path of
the requested public key.
The first element must always be 44.
required: true
schema:
type: array
maxItems: 5
minItems: 5
items:
type: integer
- in: query
name: algorithm
required: true
schema:
type: string
enum:
- MPC_ECDSA_SECP256K1
- MPC_ECDSA_SECP256R1
- MPC_EDDSA_ED25519
- in: query
name: compressed
schema:
type: boolean
responses:
'200':
description: Public key information
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PublicKeyInformation'
default:
$ref: '#/components/responses/Error'
operationId: getPublicKeyInfo
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<PublicKeyInformation>> =
fireblocks.vaults.getPublicKeyInfo(vaultsApiGetPublicKeyInfoRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PublicKeyInformation>> response =
fireblocks.vaults().getPublicKeyInfo(derivationPath, algorithm,
compressed);
- lang: Python
source: >-
response = fireblocks.vaults.get_public_key_info(derivation_path,
algorithm, compressed);
/vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info:
get:
summary: Get an asset's public key
description: >-
Get the public key information for a specific asset in a vault account.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# pubKey =
# fireblocks.get_public_key_info_for_vault_account(asset_id,
# vault_account_id, change, address_index, compressed)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >
const PublicKeyInfoArgs = { assetId: 'ETH', vaultAccountId: 0,
change: 0, addressIndex: 0, compressed: true } const pubKey =
await
fireblocks.getPublicKeyInfoForVaultAccount(PublicKeyInfoArgs);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<PublicKeyInformation>>
=
fireblocks.vaults.getPublicKeyInfoForAddress(vaultsApiGetPublicKeyInfoForAddressRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PublicKeyInformation>> response =
fireblocks.vaults().getPublicKeyInfoForAddress(vaultAccountId,
assetId, change, addressIndex, compressed);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.vaults.get_public_key_info_for_address(vault_account_id,
asset_id, change, address_index, compressed);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
schema:
type: string
format: numeric
x-fb-entity: vault_account
example: '0'
- in: path
name: assetId
required: true
schema:
type: string
x-fb-entity: asset
example: BTC
- in: path
name: change
description: BIP44 derivation path - change value
required: true
schema:
type: number
example: 0
- in: path
name: addressIndex
description: BIP44 derivation path - index value
required: true
schema:
type: number
example: 0
- in: query
name: compressed
description: Compressed/Uncompressed public key format
schema:
type: boolean
responses:
'200':
description: Public Key Information
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PublicKeyInformation'
default:
$ref: '#/components/responses/Error'
operationId: getPublicKeyInfoForAddress
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<PublicKeyInformation>> =
fireblocks.vaults.getPublicKeyInfoForAddress(vaultsApiGetPublicKeyInfoForAddressRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PublicKeyInformation>> response =
fireblocks.vaults().getPublicKeyInfoForAddress(vaultAccountId,
assetId, change, addressIndex, compressed);
- lang: Python
source: >-
response =
fireblocks.vaults.get_public_key_info_for_address(vault_account_id,
asset_id, change, address_index, compressed);
/vault/accounts/attached/tags/attach:
post:
summary: Attach tags to a vault accounts
deprecated: true
description: |
**This endpoint has been deprecated. Please use `vault/accounts/attached_tags` instead.**
Attach one or more tags to the requested vault accounts.
tags:
- Vaults
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAccountsTagAttachmentsRequest'
responses:
"204":
description: Tags were attached successfully
operationId: attachTagsToVaultAccounts
/vault/accounts/attached/tags/detached:
post:
summary: Detach tags from a vault accounts
deprecated: true
description: |
**This endpoint has been deprecated. Please use `/vault/accounts/attached_tags` instead.**
Detach one or more tags from the requested vault account.
tags:
- Vaults
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAccountsTagAttachmentsRequest'
responses:
"204":
description: Tags were detached successfully
operationId: detachTagsFromVaultAccounts
/vault/assets:
get:
summary: Get asset balance for chosen assets
description: |-
Gets the assets amount summary for all accounts or filtered accounts.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: >-
# assets_balance =
# fireblocks.get_vault_assets_balance(accout_name_prefix,
# account_name_suffix)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const assetsBalance = await
fireblocks.getVaultAssetsBalance(filters);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetVaultAssetsResponse>> =
fireblocks.vaults.getVaultAssets(vaultsApiGetVaultAssetsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<VaultAsset>>> response =
fireblocks.vaults().getVaultAssets(accountNamePrefix,
accountNameSuffix);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.vaults.get_vault_assets(account_name_prefix,
account_name_suffix);
name: Fireblocks SDK Python example
parameters:
- in: query
name: accountNamePrefix
required: false
schema:
type: string
example: MyVaultPrefix
- in: query
name: accountNameSuffix
required: false
schema:
type: string
example: MyVaultSuffix
responses:
'200':
description: Amount by asset
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetVaultAssetsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getVaultAssets
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetVaultAssetsResponse>>
= fireblocks.vaults.getVaultAssets(vaultsApiGetVaultAssetsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<VaultAsset>>> response =
fireblocks.vaults().getVaultAssets(accountNamePrefix,
accountNameSuffix);
- lang: Python
source: >-
response = fireblocks.vaults.get_vault_assets(account_name_prefix,
account_name_suffix);
/vault/assets/{assetId}:
get:
summary: Get vault balance by an asset
description: |-
Get the total balance of an asset across all the vault accounts.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Vaults
x-readme:
code-samples:
# - language: python
# code: assets_balance = fireblocks.get_vault_balance_by_asset(asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const assetsBalance = await
fireblocks.getVaultBalanceByAsset(assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<VaultAsset>> =
fireblocks.vaults.getVaultBalanceByAsset(vaultsApiGetVaultBalanceByAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<VaultAsset>> response =
fireblocks.vaults().getVaultBalanceByAsset(assetId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.vaults.get_vault_balance_by_asset(asset_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: assetId
required: true
schema:
type: string
x-fb-entity: asset
example: ETH
responses:
'200':
description: Vault amount by asset
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAsset'
default:
$ref: '#/components/responses/Error'
operationId: getVaultBalanceByAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<VaultAsset>> =
fireblocks.vaults.getVaultBalanceByAsset(vaultsApiGetVaultBalanceByAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<VaultAsset>> response =
fireblocks.vaults().getVaultBalanceByAsset(assetId);
- lang: Python
source: response = fireblocks.vaults.get_vault_balance_by_asset(asset_id);
/workspace/freeze:
post:
x-internal: true
operationId: freezeWorkspace
summary: Freeze
description: >-
Freezes a Workspace so that ALL operations by ANY user are blocked.
You should only perform this action when the workspace faces imminent
risk, such as when you have a security breach.
To unfreeze a workspace, the workspace Owner must submit a request to Fireblocks Support.
**NOTE:**
- This operation can only be performed by the workspace Admins
- Your workspace continues to receive incoming transfers during this
time.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'204':
description: Indicates that the workspace is now frozen
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: python
label: Python
source: vault_accounts = fireblocks.get_vault_accounts()
- lang: javascript
label: Javascript
source: const vaultAccounts = await fireblocks.getVaultAccounts();
/exchange_accounts:
get:
x-internal: true
deprecated: true
summary: List exchange accounts
description: >-
DEPRECATED - Please use the `/exchange_accounts/paged` endpoint.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Exchange Accounts
x-readme:
code-samples:
# - language: python
# code: exchangeAccounts = fireblocks.get_exchange_accounts()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const exchangeAccounts = await fireblocks.getExchangeAccounts();
name: Fireblocks SDK Javascript example
responses:
'200':
description: An ExchangeAccount object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetExchangeAccountsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getExchangeAccounts
x-codeSamples:
- lang: python
label: Python
source: exchangeAccounts = fireblocks.get_exchange_accounts()
- lang: javascript
label: Javascript
source: const exchangeAccounts = await fireblocks.getExchangeAccounts();
post:
summary: Add an Exchange Account
operationId: addExchangeAccount
description: |
Add an exchange account to exchanges.
Note: This endpoint currently only supports the following exchanges `INDEPENDENT_RESERVE`,`BIT`, `BITHUMB`, `BITSO`, `CRYPTOCOM`, `BYBIT_V2`, `WHITEBIT`, `HITBTC`, `GEMINI`, `HUOBI`, `GATEIO`, `COINHAKO`, `BULLISH`, `BITGET`, and `LUNO`
To add an exchange account, please use the following [guide](https://developers.fireblocks.com/docs/add-an-exchange-account).
tags:
- Exchange Accounts
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<AddExchangeAccountResponse>> = fireblocks.exchangeAccounts.addExchangeAccount(exchangeAccountsApiAddExchangeAccountRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<AddExchangeAccountResponse>> response = fireblocks.exchangeAccounts().addExchangeAccount(addExchangeAccountRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.exchange_accounts.add_exchange_account(add_exchange_account_request, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddExchangeAccountRequest'
responses:
'201':
description: An Exchange Account identifier object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/AddExchangeAccountResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<AddExchangeAccountResponse>> = fireblocks.exchangeAccounts.addExchangeAccount(exchangeAccountsApiAddExchangeAccountRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<AddExchangeAccountResponse>> response = fireblocks.exchangeAccounts().addExchangeAccount(addExchangeAccountRequest, idempotencyKey);
- lang: Python
source: response = fireblocks.exchange_accounts.add_exchange_account(add_exchange_account_request, idempotency_key);
/exchange_accounts/paged:
get:
operationId: getPagedExchangeAccounts
summary: List connected exchange accounts
description: >-
Returns a list of the connected exchange accounts in your workspace.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Exchange Accounts
x-readme:
code-samples:
- language: javascript
code: >-
const exchangeAccounts = await
fireblocks.getExchangeAccountsPaged();
name: Fireblocks SDK Javascript example
# - language: python
# code: exchangeAccounts = fireblocks.get_exchange_accounts_paged()
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetPagedExchangeAccountsResponse>> =
fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<ExchangeAccountsPaged>>>
response =
fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit,
before, after);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.exchange_accounts.get_paged_exchange_accounts(limit,
before, after);
name: Fireblocks SDK Python example
parameters:
- in: query
name: before
required: false
schema:
type: string
- in: query
name: after
required: false
schema:
type: string
- in: query
name: limit
description: number of exchanges per page
required: true
schema:
type: number
minimum: 1
maximum: 5
default: 3
responses:
'200':
description: An ExchangeAccount object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetPagedExchangeAccountsResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetPagedExchangeAccountsResponse>> =
fireblocks.exchangeAccounts.getPagedExchangeAccounts(exchangeAccountsApiGetPagedExchangeAccountsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<ExchangeAccountsPaged>>> response
= fireblocks.exchangeAccounts().getPagedExchangeAccounts(limit,
before, after);
- lang: Python
source: >-
response =
fireblocks.exchange_accounts.get_paged_exchange_accounts(limit,
before, after);
/exchange_accounts/{exchangeAccountId}:
get:
summary: Get a specific exchange account
description: >-
Returns an exchange account by ID.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Exchange Accounts
x-readme:
code-samples:
# - language: python
# code: >-
# exchangeAccount =
# fireblocks.get_exchange_account(exchangeAccountId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const exchnageAccount = await
fireblocks.get_exchange_account(exchangeAccountId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ExchangeAccount>> =
fireblocks.exchangeAccounts.getExchangeAccount(exchangeAccountsApiGetExchangeAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ExchangeAccount>> response =
fireblocks.exchangeAccounts().getExchangeAccount(exchangeAccountId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.exchange_accounts.get_exchange_account(exchange_account_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: exchangeAccountId
required: true
description: The ID of the exchange account to return
schema:
type: string
responses:
'200':
description: An ExchangeAccount object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeAccount'
default:
$ref: '#/components/responses/Error'
operationId: getExchangeAccount
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ExchangeAccount>> =
fireblocks.exchangeAccounts.getExchangeAccount(exchangeAccountsApiGetExchangeAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ExchangeAccount>> response =
fireblocks.exchangeAccounts().getExchangeAccount(exchangeAccountId);
- lang: Python
source: >-
response =
fireblocks.exchange_accounts.get_exchange_account(exchange_account_id);
/exchange_accounts/{exchangeAccountId}/internal_transfer:
post:
summary: Internal transfer for exchange accounts
description: >-
Transfers funds between trading accounts under the same exchange account.
Learn more about Fireblocks Exchange Connectivity in the following
[guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Exchange Accounts
parameters:
- in: path
name: exchangeAccountId
required: true
description: The ID of the exchange account to return
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: Transfer succeeded
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/InternalTransferResponse'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInternalTransferRequest'
operationId: internalTransfer
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<InternalTransferResponse>> =
fireblocks.exchangeAccounts.internalTransfer(exchangeAccountsApiInternalTransferRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<InternalTransferResponse>> response
=
fireblocks.exchangeAccounts().internalTransfer(exchangeAccountId,
createInternalTransferRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.exchange_accounts.internal_transfer(exchange_account_id,
create_internal_transfer_request, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<InternalTransferResponse>> =
fireblocks.exchangeAccounts.internalTransfer(exchangeAccountsApiInternalTransferRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<InternalTransferResponse>> response =
fireblocks.exchangeAccounts().internalTransfer(exchangeAccountId,
createInternalTransferRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.exchange_accounts.internal_transfer(exchange_account_id,
create_internal_transfer_request, idempotency_key);
/exchange_accounts/{exchangeAccountId}/convert:
post:
summary: >-
Convert exchange account funds
description: >-
Convert exchange account funds from the source asset to the destination
asset. Coinbase (USD to USDC, USDC to USD) and Bitso (MXN to USD) are
supported conversions.
Learn more about Fireblocks Exchange Connectivity in the following
[guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Exchange Accounts
parameters:
- in: path
name: exchangeAccountId
required: true
description: >-
The ID of the exchange account. Please make sure the exchange
supports conversions. To find the ID of your exchange account, use
GET/exchange_accounts.
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Conversion successful
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ConvertAssetsResponse'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConvertAssetsRequest'
operationId: convertAssets
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ConvertAssetsResponse>>
=
fireblocks.exchangeAccounts.convertAssets(exchangeAccountsApiConvertAssetsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ConvertAssetsResponse>> response =
fireblocks.exchangeAccounts().convertAssets(exchangeAccountId,
convertAssetsRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.exchange_accounts.convert_assets(exchange_account_id,
convert_assets_request, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ConvertAssetsResponse>> =
fireblocks.exchangeAccounts.convertAssets(exchangeAccountsApiConvertAssetsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ConvertAssetsResponse>> response =
fireblocks.exchangeAccounts().convertAssets(exchangeAccountId,
convertAssetsRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.exchange_accounts.convert_assets(exchange_account_id,
convert_assets_request, idempotency_key);
/exchange_accounts/{exchangeAccountId}/{assetId}:
get:
summary: Get an asset for an exchange account
description: >-
Returns an asset for an exchange account.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Exchange Accounts
x-readme:
code-samples:
# - language: python
# code: >-
# exchangeAsset =
# fireblocks.get_exchange_account_asset(exchangeAccountId, assetId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const exchangeAsset = await
fireblocks.getExchangeAsset(exchangeAccountId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ExchangeAsset>> =
fireblocks.exchangeAccounts.getExchangeAccountAsset(exchangeAccountsApiGetExchangeAccountAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ExchangeAsset>> response =
fireblocks.exchangeAccounts().getExchangeAccountAsset(exchangeAccountId,
assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.exchange_accounts.get_exchange_account_asset(exchange_account_id,
asset_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: exchangeAccountId
required: true
description: The ID of the exchange account to return
schema:
type: string
- in: path
name: assetId
required: true
description: The ID of the asset to return
schema:
type: string
responses:
'200':
description: An ExchangeAccountAsset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeAsset'
default:
$ref: '#/components/responses/Error'
operationId: getExchangeAccountAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ExchangeAsset>> =
fireblocks.exchangeAccounts.getExchangeAccountAsset(exchangeAccountsApiGetExchangeAccountAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ExchangeAsset>> response =
fireblocks.exchangeAccounts().getExchangeAccountAsset(exchangeAccountId,
assetId);
- lang: Python
source: >-
response =
fireblocks.exchange_accounts.get_exchange_account_asset(exchange_account_id,
asset_id);
/exchange_accounts/credentials_public_key:
get:
x-internal: true
summary: Get public key to encrypt exchange credentials
description: Return public key
tags:
- Exchange Accounts
responses:
'200':
description: public key as string
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetExchangeAccountsCredentialsPublicKeyResponse'
default:
$ref: '#/components/responses/Error'
operationId: getExchangeAccountsCredentialsPublicKey
/fiat_accounts:
get:
summary: List fiat accounts
description: >-
Returns all fiat accounts.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fiat Accounts
x-readme:
code-samples:
# - language: python
# code: transactions = fireblocks.get_fiat_accounts()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const transactions = await fireblocks.getFiatAccounts();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetFiatAccountsResponse>> =
fireblocks.fiatAccounts.getFiatAccounts();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<FiatAccount>>> response =
fireblocks.fiatAccounts().getFiatAccounts();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.fiat_accounts.get_fiat_accounts();
name: Fireblocks SDK Python example
responses:
'200':
description: A fiat account object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetFiatAccountsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getFiatAccounts
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetFiatAccountsResponse>>
= fireblocks.fiatAccounts.getFiatAccounts();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<FiatAccount>>> response =
fireblocks.fiatAccounts().getFiatAccounts();
- lang: Python
source: response = fireblocks.fiat_accounts.get_fiat_accounts();
/fiat_accounts/{accountId}:
get:
summary: Find a specific fiat account
description: >-
Returns a fiat account by ID.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fiat Accounts
x-readme:
code-samples:
# - language: python
# code: transactions = fireblocks.get_fiat_account_by_id(account_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const transactions = await
fireblocks.getFiatAccountById(accountId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<FiatAccount>> =
fireblocks.fiatAccounts.getFiatAccount(fiatAccountsApiGetFiatAccountRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<FiatAccount>> response =
fireblocks.fiatAccounts().getFiatAccount(accountId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.fiat_accounts.get_fiat_account(account_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: accountId
required: true
description: The ID of the fiat account to return
schema:
type: string
responses:
'200':
description: A fiat account object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/FiatAccount'
default:
$ref: '#/components/responses/Error'
operationId: getFiatAccount
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<FiatAccount>> =
fireblocks.fiatAccounts.getFiatAccount(fiatAccountsApiGetFiatAccountRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<FiatAccount>> response =
fireblocks.fiatAccounts().getFiatAccount(accountId);
- lang: Python
source: response = fireblocks.fiat_accounts.get_fiat_account(account_id);
/fiat_accounts/{accountId}/redeem_to_linked_dda:
post:
summary: Redeem funds to DDA
description: >-
Redeems funds to the linked DDA.
Learn more about Fireblocks FIAT Connectivity in the following
[guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fiat Accounts
x-readme:
code-samples:
# - language: python
# code: transactions = fireblocks.redeem_to_linked_dda(account_id, amount)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const transactions = await fireblocks.redeemToLinkedDDA(accountId,
amount);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<RedeemFundsToLinkedDDAResponse>> =
fireblocks.fiatAccounts.redeemFundsToLinkedDDA(fiatAccountsApiRedeemFundsToLinkedDDARequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<RedeemFundsToLinkedDDAResponse>>
response =
fireblocks.fiatAccounts().redeemFundsToLinkedDDA(accountId, funds,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.fiat_accounts.redeem_funds_to_linked_d_d_a(account_id,
funds, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: accountId
required: true
description: The ID of the fiat account to use
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: Transfer succeeded
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/RedeemFundsToLinkedDDAResponse'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Funds'
operationId: redeemFundsToLinkedDDA
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<RedeemFundsToLinkedDDAResponse>> =
fireblocks.fiatAccounts.redeemFundsToLinkedDDA(fiatAccountsApiRedeemFundsToLinkedDDARequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<RedeemFundsToLinkedDDAResponse>>
response =
fireblocks.fiatAccounts().redeemFundsToLinkedDDA(accountId, funds,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.fiat_accounts.redeem_funds_to_linked_d_d_a(account_id,
funds, idempotency_key);
/fiat_accounts/{accountId}/deposit_from_linked_dda:
post:
summary: Deposit funds from DDA
description: >-
Deposits funds from the linked DDA.
Learn more about Fireblocks FIAT Connectivity in the following
[guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fiat Accounts
x-readme:
code-samples:
# - language: python
# code: >-
# transactions = fireblocks.deposit_from_linked_dda(account_id,
# amount)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const transactions = await
fireblocks.depositFromLinkedDDA(accountId, amount);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DepositFundsFromLinkedDDAResponse>> =
fireblocks.fiatAccounts.depositFundsFromLinkedDDA(fiatAccountsApiDepositFundsFromLinkedDDARequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DepositFundsFromLinkedDDAResponse>>
response =
fireblocks.fiatAccounts().depositFundsFromLinkedDDA(accountId,
funds, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.fiat_accounts.deposit_funds_from_linked_d_d_a(account_id,
funds, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: accountId
required: true
description: The ID of the fiat account to use
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: Transfer succeeded
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DepositFundsFromLinkedDDAResponse'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Funds'
operationId: depositFundsFromLinkedDDA
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<DepositFundsFromLinkedDDAResponse>> =
fireblocks.fiatAccounts.depositFundsFromLinkedDDA(fiatAccountsApiDepositFundsFromLinkedDDARequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DepositFundsFromLinkedDDAResponse>>
response =
fireblocks.fiatAccounts().depositFundsFromLinkedDDA(accountId,
funds, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.fiat_accounts.deposit_funds_from_linked_d_d_a(account_id,
funds, idempotency_key);
/connected_accounts:
get:
summary: Get connected accounts
description: |
Returns all connected accounts.
**Note:** This endpoint is currently in beta and might be subject to changes.
tags:
- Connected Accounts (Beta)
x-rate-limit-category: query
parameters:
- name: mainAccounts
in: query
required: false
description: Whether to include only main accounts in the response.
schema:
type: boolean
default: false
- name: pageSize
in: query
required: false
description: Page size for pagination.
schema:
type: integer
minimum: 1
maximum: 100
- name: pageCursor
in: query
required: false
description: Page cursor for pagination.
schema:
type: string
operationId: getConnectedAccounts
responses:
200:
description: Get accounts response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectedAccountsResponse'
default:
$ref: '#/components/responses/Error'
/connected_accounts/{accountId}:
get:
tags:
- Connected Accounts (Beta)
x-rate-limit-category: read
parameters:
- name: accountId
in: path
required: true
description: The ID of the account to fetch.
schema:
type: string
minLength: 1
summary: Get connected account
description: |
Retrieve detailed information about a specific connected account by ID.
**Note:** This endpoint is currently in beta and might be subject to changes.
operationId: getConnectedAccount
responses:
200:
description: Account response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectedSingleAccountResponse'
default:
$ref: '#/components/responses/Error'
/connected_accounts/{accountId}/balances:
get:
summary: Get balances for an account
description: |
Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`).
**Note:** This endpoint is currently in beta and might be subject to changes.
tags:
- Connected Accounts (Beta)
x-rate-limit-category: query
parameters:
- name: accountId
in: path
required: true
description: The ID of the account to fetch balances for.
schema:
type: string
minLength: 1
- name: pageSize
in: query
required: false
description: Page size for pagination.
schema:
type: integer
minimum: 1
maximum: 1000
- name: pageCursor
in: query
required: false
description: Page cursor for pagination.
schema:
type: string
operationId: getConnectedAccountBalances
responses:
200:
description: Account balances response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectedAccountBalancesResponse'
default:
$ref: '#/components/responses/Error'
/connected_accounts/{accountId}/rates:
get:
summary: Get exchange rates for an account
description: |
Retrieve current exchange rates for converting between specific assets in a connected account.
**Note:** This endpoint is currently in beta and might be subject to changes.
tags:
- Connected Accounts (Beta)
x-rate-limit-category: read
parameters:
- name: accountId
in: path
required: true
description: The ID of the account to fetch rates for.
schema:
type: string
minLength: 1
- name: baseAssetId
in: query
required: true
description: The ID of the asset to fetch rates for.
schema:
type: string
minLength: 1
- name: quoteAssetId
in: query
required: true
description: The ID of the asset to get the rates nominally.
schema:
type: string
minLength: 1
operationId: getConnectedAccountRates
responses:
200:
description: Rates response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectedAccountRateResponse'
default:
$ref: '#/components/responses/Error'
/connected_accounts/{accountId}/manifest/capabilities/trading/pairs:
get:
summary: Get supported trading pairs for an account
description: |
Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`).
**Note:** This endpoint is currently in beta and might be subject to changes.
tags:
- Connected Accounts (Beta)
x-rate-limit-category: query
parameters:
- name: accountId
in: path
required: true
description: The ID of the account to fetch supported pairs for.
schema:
type: string
minLength: 1
- name: pageSize
in: query
required: false
description: Page size for pagination.
schema:
type: integer
default: 100
minimum: 1
maximum: 100
- name: pageCursor
in: query
required: false
description: Page cursor for pagination.
schema:
type: string
operationId: getConnectedAccountTradingPairs
responses:
200:
description: Supported pairs response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectedAccountTradingPairsResponse'
default:
$ref: '#/components/responses/Error'
/network_connections:
get:
summary: List network connections
description: >-
Returns all network connections.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
- **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
x-readme:
code-samples:
# - language: python
# code: network_connections = fireblocks.get_network_connections()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const networkConnections = await
fireblocks.getNetworkConnections();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetNetworkConnectionsResponse>> =
fireblocks.networkConnections.getNetworkConnections();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<NetworkConnectionResponse>>>
response =
fireblocks.networkConnections().getNetworkConnections();
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.get_network_connections();
name: Fireblocks SDK Python example
responses:
'200':
description: A list of network connections
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetNetworkConnectionsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getNetworkConnections
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetNetworkConnectionsResponse>> =
fireblocks.networkConnections.getNetworkConnections();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<NetworkConnectionResponse>>>
response = fireblocks.networkConnections().getNetworkConnections();
- lang: Python
source: response = fireblocks.network_connections.get_network_connections();
post:
summary: Creates a new network connection
description: >-
Initiates a new network connection.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
Supported asset groups for routing policy can be found at
`/network_ids/routing_policy_asset_groups`
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
Learn more about Fireblocks Network in the following [guide](https://developers.fireblocks.com/docs/connect-to-the-fireblocks-network).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkConnection'
responses:
'201':
description: A Network Connection object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkConnectionResponse'
default:
$ref: '#/components/responses/Error'
operationId: createNetworkConnection
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<NetworkConnectionResponse>> =
fireblocks.networkConnections.createNetworkConnection(networkConnectionsApiCreateNetworkConnectionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<NetworkConnectionResponse>> response
=
fireblocks.networkConnections().createNetworkConnection(networkConnection,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.create_network_connection(network_connection,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<NetworkConnectionResponse>> =
fireblocks.networkConnections.createNetworkConnection(networkConnectionsApiCreateNetworkConnectionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<NetworkConnectionResponse>> response =
fireblocks.networkConnections().createNetworkConnection(networkConnection,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.network_connections.create_network_connection(network_connection,
idempotency_key);
/network_connections/{connectionId}/set_routing_policy:
patch:
summary: Update network connection routing policy.
description: >-
Updates an existing network connection's routing policy.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
Supported asset groups for routing policy can be found at
`/network_ids/routing_policy_asset_groups`
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: connectionId
required: true
description: The ID of the network connection
schema:
type: string
example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetRoutingPolicyRequest'
responses:
'200':
description: Network ID
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetRoutingPolicyResponse'
default:
$ref: '#/components/responses/Error'
operationId: setRoutingPolicy
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SetRoutingPolicyResponse>> =
fireblocks.networkConnections.setRoutingPolicy(networkConnectionsApiSetRoutingPolicyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SetRoutingPolicyResponse>> response
= fireblocks.networkConnections().setRoutingPolicy(connectionId,
setRoutingPolicyRequest);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.set_routing_policy(connection_id,
set_routing_policy_request);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SetRoutingPolicyResponse>> =
fireblocks.networkConnections.setRoutingPolicy(networkConnectionsApiSetRoutingPolicyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SetRoutingPolicyResponse>> response =
fireblocks.networkConnections().setRoutingPolicy(connectionId,
setRoutingPolicyRequest);
- lang: Python
source: >-
response =
fireblocks.network_connections.set_routing_policy(connection_id,
set_routing_policy_request);
/network_connections/{connectionId}/is_third_party_routing/{assetType}:
get:
summary: Retrieve third-party network routing validation
description: >-
The Fireblocks Network allows for flexibility around incoming deposits.
A receiver can receive network deposits to locations other than
Fireblocks. This endpoint validates whether future transactions are
routed to the displayed recipient or to a 3rd party.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: connectionId
required: true
description: The ID of the network connection
schema:
type: string
example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f
- in: path
name: assetType
required: true
description: The destination asset type
schema:
type: string
example: ETH
responses:
'200':
description: result for the validation
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ThirdPartyRouting'
default:
$ref: '#/components/responses/Error'
operationId: checkThirdPartyRouting
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ThirdPartyRouting>> =
fireblocks.networkConnections.checkThirdPartyRouting(networkConnectionsApiCheckThirdPartyRoutingRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ThirdPartyRouting>> response =
fireblocks.networkConnections().checkThirdPartyRouting(connectionId,
assetType);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.check_third_party_routing(connection_id,
asset_type);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ThirdPartyRouting>> =
fireblocks.networkConnections.checkThirdPartyRouting(networkConnectionsApiCheckThirdPartyRoutingRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ThirdPartyRouting>> response =
fireblocks.networkConnections().checkThirdPartyRouting(connectionId,
assetType);
- lang: Python
source: >-
response =
fireblocks.network_connections.check_third_party_routing(connection_id,
asset_type);
/network_connections/{connectionId}:
get:
summary: Get a network connection
description: >-
Gets a network connection by ID.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
x-readme:
code-samples:
# - language: python
# code: >-
# network_connection =
# fireblocks.get_network_connection_by_id(connectionId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const network_connection = await
fireblocks.getNetworkConnection(connectionId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<NetworkConnectionResponse>> =
fireblocks.networkConnections.getNetwork(networkConnectionsApiGetNetworkRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<NetworkConnectionResponse>> response
= fireblocks.networkConnections().getNetwork(connectionId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.get_network(connection_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: connectionId
required: true
description: The ID of the connection
schema:
type: string
example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f
responses:
'200':
description: A network connection
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkConnectionResponse'
default:
$ref: '#/components/responses/Error'
operationId: getNetwork
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<NetworkConnectionResponse>> =
fireblocks.networkConnections.getNetwork(networkConnectionsApiGetNetworkRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<NetworkConnectionResponse>> response =
fireblocks.networkConnections().getNetwork(connectionId);
- lang: Python
source: >-
response =
fireblocks.network_connections.get_network(connection_id);
delete:
summary: Deletes a network connection by ID
description: >-
Deletes an existing network connection specified by its connection ID.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: connectionId
required: true
description: The ID of the network connection to delete
schema:
type: string
example: 9100f41b-f31a-4fd1-b9bf-bb4d2cd88e1f
responses:
'200':
description: Network ID
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteNetworkConnectionResponse'
default:
$ref: '#/components/responses/Error'
operationId: deleteNetworkConnection
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DeleteNetworkConnectionResponse>> =
fireblocks.networkConnections.deleteNetworkConnection(networkConnectionsApiDeleteNetworkConnectionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DeleteNetworkConnectionResponse>>
response =
fireblocks.networkConnections().deleteNetworkConnection(connectionId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.delete_network_connection(connection_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<DeleteNetworkConnectionResponse>> =
fireblocks.networkConnections.deleteNetworkConnection(networkConnectionsApiDeleteNetworkConnectionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DeleteNetworkConnectionResponse>>
response =
fireblocks.networkConnections().deleteNetworkConnection(connectionId);
- lang: Python
source: >-
response =
fireblocks.network_connections.delete_network_connection(connection_id);
/network_ids:
get:
summary: Get all network IDs
description: >-
Retrieves a list of all local and discoverable remote network IDs.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
responses:
'200':
description: A list of network IDs
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetNetworkIdsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getNetworkIds
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetNetworkIdsResponse>>
= fireblocks.networkConnections.getNetworkIds();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<Object>>> response =
fireblocks.networkConnections().getNetworkIds();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.network_connections.get_network_ids();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetNetworkIdsResponse>> =
fireblocks.networkConnections.getNetworkIds();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<Object>>> response =
fireblocks.networkConnections().getNetworkIds();
- lang: Python
source: response = fireblocks.network_connections.get_network_ids();
post:
summary: Creates a new Network ID
description: >-
Creates a new Network ID.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
Supported asset groups for routing policy can be found at
`/network_ids/routing_policy_asset_groups`
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNetworkIdRequest'
responses:
'201':
description: Returns the new network ID in your workspace
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkIdResponse'
default:
$ref: '#/components/responses/Error'
operationId: createNetworkId
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<NetworkIdResponse>> =
fireblocks.networkConnections.createNetworkId(networkConnectionsApiCreateNetworkIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<NetworkIdResponse>> response =
fireblocks.networkConnections().createNetworkId(createNetworkIdRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.create_network_id(create_network_id_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<NetworkIdResponse>> =
fireblocks.networkConnections.createNetworkId(networkConnectionsApiCreateNetworkIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<NetworkIdResponse>> response =
fireblocks.networkConnections().createNetworkId(createNetworkIdRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.network_connections.create_network_id(create_network_id_request,
idempotency_key);
/network_ids/routing_policy_asset_groups:
get:
summary: Returns all enabled routing policy asset groups
description: >-
Retrieves a list of all enabled routing policy asset groups.
Your routing policy defines how your transactions are routed.
You can use one or more enabled routing policy asset groups to describe
connection or network id routing policy.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
responses:
'200':
description: A list of enabled routing policy asset groups
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetRoutingPolicyAssetGroupsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getRoutingPolicyAssetGroups
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetRoutingPolicyAssetGroupsResponse>> =
fireblocks.networkConnections.getRoutingPolicyAssetGroups();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<String>>> response =
fireblocks.networkConnections().getRoutingPolicyAssetGroups();
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.get_routing_policy_asset_groups();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetRoutingPolicyAssetGroupsResponse>> =
fireblocks.networkConnections.getRoutingPolicyAssetGroups();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<String>>> response =
fireblocks.networkConnections().getRoutingPolicyAssetGroups();
- lang: Python
source: >-
response =
fireblocks.network_connections.get_routing_policy_asset_groups();
/network_ids/search:
get:
summary: Get both local IDs and discoverable remote IDs
description: >
Retrieves a list of all local and discoverable remote network IDs. Can
be filtered.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
- **Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
parameters:
- name: search
required: false
in: query
description: Search string - displayName networkId. Optional
schema:
minLength: 1
type: string
- name: excludeSelf
required: false
in: query
description: Exclude your networkIds. Optional, default false
schema:
type: boolean
- name: excludeConnected
required: false
in: query
description: Exclude connected networkIds. Optional, default false
schema:
type: boolean
- name: pageCursor
required: false
in: query
description: ID of the record after which to fetch $limit records
schema:
type: string
- name: pageSize
required: false
in: query
description: Number of records to fetch. By default, it is 50
schema:
minimum: 1
maximum: 50
default: 50
type: number
tags:
- Fireblocks Network
responses:
'200':
description: A list of network IDs
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SearchNetworkIdsResponse'
default:
$ref: '#/components/responses/Error'
operationId: searchNetworkIds
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SearchNetworkIdsResponse>> =
fireblocks.networkConnections.searchNetworkIds(networkConnectionsApiSearchNetworkIdsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SearchNetworkIdsResponse>> response
= fireblocks.networkConnections().searchNetworkIds(search,
excludeSelf, excludeConnected, pageCursor, pageSize);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.search_network_ids(search,
exclude_self, exclude_connected, page_cursor, page_size);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SearchNetworkIdsResponse>> =
fireblocks.networkConnections.searchNetworkIds(networkConnectionsApiSearchNetworkIdsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SearchNetworkIdsResponse>> response =
fireblocks.networkConnections().searchNetworkIds(search,
excludeSelf, excludeConnected, pageCursor, pageSize);
- lang: Python
source: >-
response = fireblocks.network_connections.search_network_ids(search,
exclude_self, exclude_connected, page_cursor, page_size);
/network_ids/{networkId}:
get:
summary: Returns specific network ID.
description: >-
Retrieves a network by its ID.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: networkId
required: true
description: The ID of the network
schema:
type: string
example: ebde71be-30d6-4498-95c4-a151effdb377
responses:
'200':
description: Network ID
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkIdResponse'
default:
$ref: '#/components/responses/Error'
operationId: getNetworkId
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<NetworkIdResponse>> =
fireblocks.networkConnections.getNetworkId(networkConnectionsApiGetNetworkIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<NetworkIdResponse>> response =
fireblocks.networkConnections().getNetworkId(networkId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.get_network_id(network_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<NetworkIdResponse>> =
fireblocks.networkConnections.getNetworkId(networkConnectionsApiGetNetworkIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<NetworkIdResponse>> response =
fireblocks.networkConnections().getNetworkId(networkId);
- lang: Python
source: >-
response =
fireblocks.network_connections.get_network_id(network_id);
delete:
summary: Deletes specific network ID.
description: >-
Deletes a network by its ID.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: networkId
required: true
description: The ID of the network
schema:
type: string
example: ebde71be-30d6-4498-95c4-a151effdb377
responses:
'200':
description: Network ID
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteNetworkIdResponse'
default:
$ref: '#/components/responses/Error'
operationId: deleteNetworkId
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DeleteNetworkIdResponse>> =
fireblocks.networkConnections.deleteNetworkId(networkConnectionsApiDeleteNetworkIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DeleteNetworkIdResponse>> response =
fireblocks.networkConnections().deleteNetworkId(networkId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.delete_network_id(network_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<DeleteNetworkIdResponse>>
=
fireblocks.networkConnections.deleteNetworkId(networkConnectionsApiDeleteNetworkIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DeleteNetworkIdResponse>> response =
fireblocks.networkConnections().deleteNetworkId(networkId);
- lang: Python
source: >-
response =
fireblocks.network_connections.delete_network_id(network_id);
/network_ids/{networkId}/set_routing_policy:
patch:
summary: Update network id routing policy.
description: >-
Updates the routing policy of a specified network ID.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
Supported asset groups for routing policy can be found at
`/network_ids/routing_policy_asset_groups`
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: networkId
required: true
description: The ID of the network
schema:
type: string
example: ebde71be-30d6-4498-95c4-a151effdb377
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetNetworkIdRoutingPolicyRequest'
responses:
'200':
description: Network ID
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetNetworkIdResponse'
default:
$ref: '#/components/responses/Error'
operationId: setNetworkIdRoutingPolicy
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SetNetworkIdResponse>>
=
fireblocks.networkConnections.setNetworkIdRoutingPolicy(networkConnectionsApiSetNetworkIdRoutingPolicyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SetNetworkIdResponse>> response =
fireblocks.networkConnections().setNetworkIdRoutingPolicy(networkId,
setNetworkIdRoutingPolicyRequest);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.set_network_id_routing_policy(network_id,
set_network_id_routing_policy_request);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SetNetworkIdResponse>> =
fireblocks.networkConnections.setNetworkIdRoutingPolicy(networkConnectionsApiSetNetworkIdRoutingPolicyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SetNetworkIdResponse>> response =
fireblocks.networkConnections().setNetworkIdRoutingPolicy(networkId,
setNetworkIdRoutingPolicyRequest);
- lang: Python
source: >-
response =
fireblocks.network_connections.set_network_id_routing_policy(network_id,
set_network_id_routing_policy_request);
/network_ids/{networkId}/set_discoverability:
patch:
summary: Update network ID's discoverability.
description: >-
Update whether or not the network ID is discoverable by others.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: networkId
required: true
description: The ID of the network
schema:
type: string
example: ebde71be-30d6-4498-95c4-a151effdb377
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetNetworkIdDiscoverabilityRequest'
responses:
'200':
description: Network ID
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetNetworkIdResponse'
default:
$ref: '#/components/responses/Error'
operationId: setNetworkIdDiscoverability
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SetNetworkIdResponse>>
=
fireblocks.networkConnections.setNetworkIdDiscoverability(networkConnectionsApiSetNetworkIdDiscoverabilityRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SetNetworkIdResponse>> response =
fireblocks.networkConnections().setNetworkIdDiscoverability(setNetworkIdDiscoverabilityRequest,
networkId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.set_network_id_discoverability(set_network_id_discoverability_request,
network_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SetNetworkIdResponse>> =
fireblocks.networkConnections.setNetworkIdDiscoverability(networkConnectionsApiSetNetworkIdDiscoverabilityRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SetNetworkIdResponse>> response =
fireblocks.networkConnections().setNetworkIdDiscoverability(setNetworkIdDiscoverabilityRequest,
networkId);
- lang: Python
source: >-
response =
fireblocks.network_connections.set_network_id_discoverability(set_network_id_discoverability_request,
network_id);
/network_ids/{networkId}/set_name:
patch:
summary: Update network ID's name.
description: >-
Updates name of a specified network ID.
**Note:** This API call is subject to Flexible Routing Schemes.
Your routing policy defines how your transactions are routed.
You can choose 1 of the 3 different schemes mentioned below for each
asset type:
- **None**; Defines the profile routing to no destination for that asset type. Incoming transactions to asset types routed to `None` will fail.
- **Custom**; Route to an account that you choose. If you remove the account, incoming transactions will fail until you choose another one.
- **Default**; Use the routing specified by the network profile the connection is connected to. This scheme is also referred to as "Profile Routing"
Default Workspace Presets:
- Network Profile Crypto → **Custom**
- Network Profile FIAT → **None**
- Network Connection Crypto → **Default**
- Network Connection FIAT → **Default**
**Note**: By default, Custom routing scheme uses (`dstId` = `0`, `dstType` = `VAULT`).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Fireblocks Network
parameters:
- in: path
name: networkId
required: true
description: The ID of the network
schema:
type: string
example: ebde71be-30d6-4498-95c4-a151effdb377
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetNetworkIdNameRequest'
responses:
'200':
description: Network ID
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetNetworkIdResponse'
default:
$ref: '#/components/responses/Error'
operationId: setNetworkIdName
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SetNetworkIdResponse>>
=
fireblocks.networkConnections.setNetworkIdName(networkConnectionsApiSetNetworkIdNameRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SetNetworkIdResponse>> response =
fireblocks.networkConnections().setNetworkIdName(setNetworkIdNameRequest,
networkId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.network_connections.set_network_id_name(set_network_id_name_request,
network_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SetNetworkIdResponse>> =
fireblocks.networkConnections.setNetworkIdName(networkConnectionsApiSetNetworkIdNameRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SetNetworkIdResponse>> response =
fireblocks.networkConnections().setNetworkIdName(setNetworkIdNameRequest,
networkId);
- lang: Python
source: >-
response =
fireblocks.network_connections.set_network_id_name(set_network_id_name_request,
network_id);
/internal_wallets:
get:
summary: List internal wallets
tags:
- Whitelisted Internal Wallets
description: |
Gets a list of internal wallets.
**Note**:
- BTC-based assets belonging to whitelisted addresses cannot be retrieved between 00:00 UTC and 00:01 UTC daily due to third-party provider, Blockchain, being unavailable for this 60 second period. Please wait until the next minute to retrieve BTC-based assets.
- The list of assets returned will NOT include the balances anymore.
Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks.
- You can see the balance of the Internal Wallet via Fireblocks - You cannot initiate transactions from Internal Wallets through Fireblocks
Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
responses:
'200':
description: A list of internal wallets
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetInternalWalletsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getInternalWallets
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetInternalWalletsResponse>> =
fireblocks.internalWallets.getInternalWallets();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response =
fireblocks.internalWallets().getInternalWallets();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.internal_wallets.get_internal_wallets();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetInternalWalletsResponse>> =
fireblocks.internalWallets.getInternalWallets();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response =
fireblocks.internalWallets().getInternalWallets();
- lang: Python
source: response = fireblocks.internal_wallets.get_internal_wallets();
post:
summary: Create an internal wallet
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# internalWallet = fireblocks.create_internal_wallet(name,
# customer_ref_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const internalWallet = await fireblocks.createInternalWallet(name,
customerRefId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.internalWallets.createInternalWallet(internalWalletsApiCreateInternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.internalWallets().createInternalWallet(createWalletRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.internal_wallets.create_internal_wallet(create_wallet_request,
idempotency_key);
name: Fireblocks SDK Python example
description: |-
Creates a new internal wallet with the requested name.
Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A new wallet object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UnmanagedWallet'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWalletRequest'
operationId: createInternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.internalWallets.createInternalWallet(internalWalletsApiCreateInternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.internalWallets().createInternalWallet(createWalletRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.internal_wallets.create_internal_wallet(create_wallet_request,
idempotency_key);
/internal_wallets/{walletId}:
get:
summary: Get assets for internal wallet
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
- language: python
code: internalWallet = fireblocks.get_internal_wallet(walletId)
name: Fireblocks SDK Python example
- language: javascript
code: const result = await fireblocks.getInternalWallet(walletId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.whitelistedInternalWallets.getInternalWallet(whitelistedInternalWalletsApiGetInternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.whitelistedInternalWallets().getInternalWallet(walletId);
name: Fireblocks SDK Java example
description: |-
**This endpoint will be deprecated on December 31, 2025. Currently, the endpoint will only return a wallet's addresses and not any balances.**
Retrieves information about all the assets in an internal wallet, which is a wallet owned by you outside of your Fireblocks workspace. Please note that you cannot initiate transactions through Fireblocks using an internal wallet.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet to return
schema:
type: string
responses:
'200':
description: A Wallet object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UnmanagedWallet'
default:
$ref: '#/components/responses/Error'
operationId: getInternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.internalWallets.getInternalWallet(internalWalletsApiGetInternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.internalWallets().getInternalWallet(walletId);
- lang: Python
source: >-
response =
fireblocks.internal_wallets.get_internal_wallet(wallet_id);
delete:
summary: Delete an internal wallet
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
# - language: python
# code: result = firebocks.delete_internal_wallet(walletId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.deleteInternalWallet(walletId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.internalWallets.deleteInternalWallet(internalWalletsApiDeleteInternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.internalWallets().deleteInternalWallet(walletId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.internal_wallets.delete_internal_wallet(wallet_id);
name: Fireblocks SDK Python example
description: >-
Deletes an internal wallet by ID.
Internal Wallets are whitelisted wallets that belong to you outside of
Fireblocks.
- You can see the balance of the Internal Wallet via Fireblocks
- You cannot initiate transactions from Internal Wallets through Fireblocks
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet to delete
schema:
type: string
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: deleteInternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.internalWallets.deleteInternalWallet(internalWalletsApiDeleteInternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.internalWallets().deleteInternalWallet(walletId);
- lang: Python
source: >-
response =
fireblocks.internal_wallets.delete_internal_wallet(wallet_id);
/internal_wallets/{walletId}/assets:
get:
summary: List assets in an internal wallet (Paginated)
description: |-
Returns a paginated response of assets in an internal wallet.
This is a new paginated endpoint that gets all the assets from the wallet container with balances. </br>This endpoint returns a limited amount of results with a quick response time.
Internal Wallets are whitelisted wallets that belong to you outside of Fireblocks.
- You can see the balance of the Internal Wallet via Fireblocks
- You cannot initiate transactions from Internal Wallets through Fireblocks
Learn more about Whitelisted Internal Addresses [here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
- language: python
code: internalWalletAssets = fireblocks.get_internal_wallet_assets(walletId, pageSize, pageCursor)
name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const internalWalletAssets = fireblocks.getInternalWalletAssets(walletId, pageSize, pageCursor);
name: Fireblocks SDK Javascript example
- language: typescript
code: 'const response: Promise<FireblocksResponse<PaginatedAssetsResponse>> = fireblocks.internalWallets.getInternalWalletAssetsPaginated(internalWalletsApiGetInternalWalletAssetsPaginatedRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<PaginatedAssetsResponse>> response = fireblocks.internalWallets().getInternalWalletAssetsPaginated(walletId, pageSize, pageCursor);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.internal_wallets.get_internal_wallet_assets_paginated(wallet_id, page_size, page_cursor);
name: Fireblocks SDK Python example
parameters:
- in: path
name: walletId
required: true
description: The ID of the internal wallet to return assets for
schema:
type: string
- in: query
name: pageSize
required: false
schema:
description: Number of assets to return per page
minimum: 1
maximum: 200
default: 50
type: number
example: 10
- in: query
name: pageCursor
required: false
schema:
type: string
description: Cursor for pagination
responses:
'200':
description: A paginated response of assets for the internal wallet
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAssetsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getInternalWalletAssetsPaginated
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<PaginatedAssetsResponse>> = fireblocks.internalWallets.getInternalWalletAssetsPaginated(internalWalletsApiGetInternalWalletAssetsPaginatedRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<PaginatedAssetsResponse>> response = fireblocks.internalWallets().getInternalWalletAssetsPaginated(walletId, pageSize, pageCursor);
- lang: Python
source: response = fireblocks.internal_wallets.get_internal_wallet_assets_paginated(wallet_id, page_size, page_cursor);
/internal_wallets/{walletId}/set_customer_ref_id:
post:
summary: Set an AML/KYT customer reference ID for internal wallet
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# result =
# firebocks.set_customer_ref_id_for_internal_wallet(wallet_id,
# customer_ref_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const result = await
fireblocks.setCustomerRefIdForInternalWallet(walletId,
customerRefId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.internalWallets.setCustomerRefIdForInternalWallet(internalWalletsApiSetCustomerRefIdForInternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.internalWallets().setCustomerRefIdForInternalWallet(setCustomerRefIdRequest,
walletId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.internal_wallets.set_customer_ref_id_for_internal_wallet(set_customer_ref_id_request,
wallet_id, idempotency_key);
name: Fireblocks SDK Python example
description: >-
Sets an AML/KYT customer reference ID for the specific internal wallet.
Internal Wallets are whitelisted wallets that belong to you outside of
Fireblocks.
- You can see the balance of the Internal Wallet via Fireblocks
- You cannot initiate transactions from Internal Wallets through Fireblocks
Learn more about Whitelisted Internal Addresses
[here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- in: path
name: walletId
required: true
description: The wallet ID
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerRefIdRequest'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: setCustomerRefIdForInternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.internalWallets.setCustomerRefIdForInternalWallet(internalWalletsApiSetCustomerRefIdForInternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.internalWallets().setCustomerRefIdForInternalWallet(setCustomerRefIdRequest,
walletId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.internal_wallets.set_customer_ref_id_for_internal_wallet(set_customer_ref_id_request,
wallet_id, idempotency_key);
/internal_wallets/{walletId}/{assetId}:
get:
summary: Get an asset from an internal wallet
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# internalWalletAsset =
# fireblocks.get_internal_wallet_asset(walletId, assetId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const internalWalletAsset =
fireblocks.getInternalWalletAsset(walletId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<WalletAsset>> =
fireblocks.internalWallets.getInternalWalletAsset(internalWalletsApiGetInternalWalletAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<WalletAsset>> response =
fireblocks.internalWallets().getInternalWalletAsset(walletId,
assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.internal_wallets.get_internal_wallet_asset(wallet_id,
asset_id);
name: Fireblocks SDK Python example
description: >-
Returns information for an asset in an internal wallet.
Internal Wallets are whitelisted wallets that belong to you outside of
Fireblocks.
- You can see the balance of the Internal Wallet via Fireblocks
- You cannot initiate transactions from Internal Wallets through Fireblocks
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet
schema:
type: string
- in: path
name: assetId
required: true
description: The ID of the asset to return
schema:
type: string
x-fb-entity: asset
responses:
'200':
description: A Wallet Asset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/WalletAsset'
default:
$ref: '#/components/responses/Error'
operationId: getInternalWalletAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<WalletAsset>> =
fireblocks.internalWallets.getInternalWalletAsset(internalWalletsApiGetInternalWalletAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<WalletAsset>> response =
fireblocks.internalWallets().getInternalWalletAsset(walletId,
assetId);
- lang: Python
source: >-
response =
fireblocks.internal_wallets.get_internal_wallet_asset(wallet_id,
asset_id);
post:
summary: Add an asset to an internal wallet
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# internalWalletAsset =
# fireblocks.create_internal_wallet_asset(walletId, assetId,
# address, tag)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const internalWalletAsset = await
fireblocks.createInternalWalletAsset(walletContainerId, assetId,
address, tag);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<WalletAsset>> =
fireblocks.internalWallets.createInternalWalletAsset(internalWalletsApiCreateInternalWalletAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<WalletAsset>> response =
fireblocks.internalWallets().createInternalWalletAsset(walletId,
assetId, createInternalWalletAssetRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.internal_wallets.create_internal_wallet_asset(wallet_id,
asset_id, create_internal_wallet_asset_request, idempotency_key);
name: Fireblocks SDK Python example
description: >-
Adds an asset to an existing internal wallet.
Internal Wallets are whitelisted wallets that belong to you outside of
Fireblocks.
- You can see the balance of the Internal Wallet via Fireblocks
- You cannot initiate transactions from Internal Wallets through Fireblocks
Learn more about Whitelisted Internal Addresses
[here](https://developers.fireblocks.com/docs/whitelist-addresses#internal-wallets)
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet
schema:
type: string
- in: path
name: assetId
required: true
description: The ID of the asset to add
schema:
type: string
x-fb-entity: asset
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A Wallet Asset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/WalletAsset'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInternalWalletAssetRequest'
operationId: createInternalWalletAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<WalletAsset>> =
fireblocks.internalWallets.createInternalWalletAsset(internalWalletsApiCreateInternalWalletAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<WalletAsset>> response =
fireblocks.internalWallets().createInternalWalletAsset(walletId,
assetId, createInternalWalletAssetRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.internal_wallets.create_internal_wallet_asset(wallet_id,
asset_id, create_internal_wallet_asset_request, idempotency_key);
delete:
summary: Delete a whitelisted address
tags:
- Whitelisted Internal Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# result = fireblocks.delete_internal_wallet_asset(walletId,
# assetId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const result = await
fireblocks.deleteInternalWalletAsset(walletId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.internalWallets.deleteInternalWalletAsset(internalWalletsApiDeleteInternalWalletAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.internalWallets().deleteInternalWalletAsset(walletId,
assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.internal_wallets.delete_internal_wallet_asset(wallet_id,
asset_id);
name: Fireblocks SDK Python example
description: >-
Deletes a whitelisted address (for an asset) from an internal wallet.
Internal Wallets are whitelisted wallets that belong to you outside of
Fireblocks.
- You can see the balance of the Internal Wallet via Fireblocks
- You cannot initiate transactions from Internal Wallets through Fireblocks
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet
schema:
type: string
- in: path
name: assetId
required: true
description: The ID of the asset to delete
schema:
type: string
x-fb-entity: asset
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: deleteInternalWalletAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.internalWallets.deleteInternalWalletAsset(internalWalletsApiDeleteInternalWalletAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.internalWallets().deleteInternalWalletAsset(walletId,
assetId);
- lang: Python
source: >-
response =
fireblocks.internal_wallets.delete_internal_wallet_asset(wallet_id,
asset_id);
/key_link/signing_keys:
post:
operationId: createSigningKey
summary: Add a new signing key
description: >-
Adds a new signing key to the workspace. The added key will be linked to
the specific Fireblocks agent user ID. The same user will receive the
proof of ownership message to be signed, and upon successful proof, the
key will become enabled.
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSigningKeyDto'
responses:
'201':
description: Newly created signing key
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SigningKeyDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SigningKeyDto>> =
fireblocks.keyLinkBeta.createSigningKey(keyLinkBetaApiCreateSigningKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SigningKeyDto>> response =
fireblocks.keyLinkBeta().createSigningKey(createSigningKeyDto,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.key_link_beta.create_signing_key(create_signing_key_dto,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SigningKeyDto>> =
fireblocks.keyLinkBeta.createSigningKey(keyLinkBetaApiCreateSigningKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SigningKeyDto>> response =
fireblocks.keyLinkBeta().createSigningKey(createSigningKeyDto,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.key_link_beta.create_signing_key(create_signing_key_dto,
idempotency_key);
get:
operationId: getSigningKeysList
summary: Get list of signing keys
description: >-
Returns the list of signing keys in the workspace
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: pageCursor
required: false
in: query
description: Cursor to the next page
example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
schema:
type: string
- name: pageSize
required: false
in: query
description: Amount of results to return in the next page
schema:
minimum: 1
maximum: 50
default: 10
type: number
- name: sortBy
required: false
in: query
description: Field(s) to use for sorting
schema:
default: createdAt
enum:
- createdAt
type: string
- name: order
required: false
in: query
description: Is the order ascending or descending
schema:
default: ASC
enum:
- ASC
- DESC
type: string
- name: vaultAccountId
required: false
in: query
description: Return keys assigned to a specific vault
example: 4
schema:
type: number
- name: agentUserId
required: false
in: query
description: Return keys associated with a specific agent user
example: 12fed207-5bdf-4a0c-ab12-fcd2627f75d1
schema:
type: string
- name: algorithm
required: false
in: query
description: Return only keys with a specific algorithm
example: ECDSA_SECP256K1
schema:
enum:
- ECDSA_SECP256K1
- EDDSA_ED25519
type: string
- name: enabled
required: false
in: query
description: Return keys that have been proof of ownership
schema:
type: boolean
- name: available
required: false
in: query
description: >-
Return keys that are proof of ownership but not assigned. Available
filter can be used only when vaultAccountId and enabled filters are
not set
schema:
type: boolean
responses:
'200':
description: >-
List of signing keys and a data that allows requesting the next page
if applicable
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetSigningKeyResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetSigningKeyResponseDto>> =
fireblocks.keyLinkBeta.getSigningKeysList(keyLinkBetaApiGetSigningKeysListRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetSigningKeyResponseDto>> response
= fireblocks.keyLinkBeta().getSigningKeysList(pageCursor,
pageSize, sortBy, order, vaultAccountId, agentUserId, algorithm,
enabled, available);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.key_link_beta.get_signing_keys_list(page_cursor,
page_size, sort_by, order, vault_account_id, agent_user_id,
algorithm, enabled, available);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetSigningKeyResponseDto>> =
fireblocks.keyLinkBeta.getSigningKeysList(keyLinkBetaApiGetSigningKeysListRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetSigningKeyResponseDto>> response =
fireblocks.keyLinkBeta().getSigningKeysList(pageCursor, pageSize,
sortBy, order, vaultAccountId, agentUserId, algorithm, enabled,
available);
- lang: Python
source: >-
response =
fireblocks.key_link_beta.get_signing_keys_list(page_cursor,
page_size, sort_by, order, vault_account_id, agent_user_id,
algorithm, enabled, available);
/key_link/signing_keys/{keyId}:
get:
operationId: getSigningKey
summary: Get a signing key by `keyId`
description: >-
Returns a signing key if it exists, identified by the specified
Fireblocks provided `keyId`.
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: keyId
required: true
in: path
description: The unique identifier for the signing key provided by Fireblocks
schema:
type: string
example: 46a92767-5f93-4a46-9eed-f012196bb4fc
responses:
'200':
description: Requested signing key data
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SigningKeyDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SigningKeyDto>> =
fireblocks.keyLinkBeta.getSigningKey(keyLinkBetaApiGetSigningKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SigningKeyDto>> response =
fireblocks.keyLinkBeta().getSigningKey(keyId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.key_link_beta.get_signing_key(key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SigningKeyDto>> =
fireblocks.keyLinkBeta.getSigningKey(keyLinkBetaApiGetSigningKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SigningKeyDto>> response =
fireblocks.keyLinkBeta().getSigningKey(keyId);
- lang: Python
source: response = fireblocks.key_link_beta.get_signing_key(key_id);
patch:
operationId: updateSigningKey
summary: Modify the signing keyId
description: >-
Allows assigning the signing key to a vault account, if it hasn't been
assigned to any other vault accounts yet.
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: keyId
required: true
in: path
description: The unique identifier for the signing key provided by Fireblocks
schema:
type: string
example: 46a92767-5f93-4a46-9eed-f012196bb4fc
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ModifySigningKeyDto'
responses:
'200':
description: Modified signing key data
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SigningKeyDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SigningKeyDto>> =
fireblocks.keyLinkBeta.updateSigningKey(keyLinkBetaApiUpdateSigningKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SigningKeyDto>> response =
fireblocks.keyLinkBeta().updateSigningKey(modifySigningKeyDto,
keyId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.key_link_beta.update_signing_key(modify_signing_key_dto,
key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SigningKeyDto>> =
fireblocks.keyLinkBeta.updateSigningKey(keyLinkBetaApiUpdateSigningKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SigningKeyDto>> response =
fireblocks.keyLinkBeta().updateSigningKey(modifySigningKeyDto,
keyId);
- lang: Python
source: >-
response =
fireblocks.key_link_beta.update_signing_key(modify_signing_key_dto,
key_id);
/key_link/signing_keys/{keyId}/agent_user_id:
patch:
operationId: setAgentId
summary: >-
Set agent user id
description: >-
Can modify existing signing key id if the key is not enabled. The change
done in background and will be visible once applied. If key is already
enabled (after proof of ownership) the user cannot be changed.
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: keyId
required: true
in: path
description: The unique identifier for the signing key provided by Fireblocks
schema:
type: string
example: 46a92767-5f93-4a46-9eed-f012196bb4fc
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ModifySigningKeyAgentIdDto'
responses:
'204':
description: Agent user id modification process has started in background.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.keyLinkBeta.setAgentId(keyLinkBetaApiSetAgentIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.keyLinkBeta().setAgentId(modifySigningKeyAgentIdDto,
keyId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.key_link_beta.set_agent_id(modify_signing_key_agent_id_dto,
key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.keyLinkBeta.setAgentId(keyLinkBetaApiSetAgentIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.keyLinkBeta().setAgentId(modifySigningKeyAgentIdDto,
keyId);
- lang: Python
source: >-
response =
fireblocks.key_link_beta.set_agent_id(modify_signing_key_agent_id_dto,
key_id);
/key_link/validation_keys:
post:
operationId: createValidationKey
summary: Add a new validation key
description: >-
Adds a new validation key used to validate signing keys. The new
validation key will undergo an approval process by the workspace quorum.
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateValidationKeyDto'
responses:
'201':
description: The validation key that was added and is pending approval.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateValidationKeyResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateValidationKeyResponseDto>> =
fireblocks.keyLinkBeta.createValidationKey(keyLinkBetaApiCreateValidationKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateValidationKeyResponseDto>>
response =
fireblocks.keyLinkBeta().createValidationKey(createValidationKeyDto,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.key_link_beta.create_validation_key(create_validation_key_dto,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateValidationKeyResponseDto>> =
fireblocks.keyLinkBeta.createValidationKey(keyLinkBetaApiCreateValidationKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateValidationKeyResponseDto>>
response =
fireblocks.keyLinkBeta().createValidationKey(createValidationKeyDto,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.key_link_beta.create_validation_key(create_validation_key_dto,
idempotency_key);
get:
operationId: getValidationKeysList
summary: Get list of registered validation keys
description: >-
Returns the list of validation keys in the workspace
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: pageCursor
required: false
in: query
description: Cursor to the next page
example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
schema:
type: string
- name: pageSize
required: false
in: query
description: Amount of results to return in the next page
schema:
minimum: 1
maximum: 50
default: 10
type: number
- name: sortBy
required: false
in: query
description: Field(s) to use for sorting
schema:
default: createdAt
enum:
- createdAt
type: string
- name: order
required: false
in: query
description: Is the order ascending or descending
schema:
default: ASC
enum:
- ASC
- DESC
type: string
responses:
'200':
description: >-
Validation keys list along with data required to request the next
page if applicable
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetValidationKeyResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetValidationKeyResponseDto>> =
fireblocks.keyLinkBeta.getValidationKeysList(keyLinkBetaApiGetValidationKeysListRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetValidationKeyResponseDto>>
response =
fireblocks.keyLinkBeta().getValidationKeysList(pageCursor,
pageSize, sortBy, order);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.key_link_beta.get_validation_keys_list(page_cursor,
page_size, sort_by, order);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetValidationKeyResponseDto>> =
fireblocks.keyLinkBeta.getValidationKeysList(keyLinkBetaApiGetValidationKeysListRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetValidationKeyResponseDto>> response
= fireblocks.keyLinkBeta().getValidationKeysList(pageCursor,
pageSize, sortBy, order);
- lang: Python
source: >-
response =
fireblocks.key_link_beta.get_validation_keys_list(page_cursor,
page_size, sort_by, order);
/key_link/validation_keys/{keyId}:
get:
operationId: getValidationKey
summary: Get a validation key by `keyId`
description: >-
Returns a validation key if it exists, identified by the specified
`keyId`.
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: keyId
required: true
in: path
schema:
type: string
responses:
'200':
description: The requested validation key data
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationKeyDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ValidationKeyDto>> =
fireblocks.keyLinkBeta.getValidationKey(keyLinkBetaApiGetValidationKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ValidationKeyDto>> response =
fireblocks.keyLinkBeta().getValidationKey(keyId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.key_link_beta.get_validation_key(key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ValidationKeyDto>> =
fireblocks.keyLinkBeta.getValidationKey(keyLinkBetaApiGetValidationKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ValidationKeyDto>> response =
fireblocks.keyLinkBeta().getValidationKey(keyId);
- lang: Python
source: response = fireblocks.key_link_beta.get_validation_key(key_id);
patch:
operationId: disableValidationKey
summary: Disables a validation key
description: >-
Allows disabling validation key even if it has not expired yet. It is
not allowed to enable the validation key back. Another key has to be
used for future validations.
Please note that this endpoint is available only for Key Link enabled
workspaces.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: keyId
required: true
in: path
description: The unique identifier for the validation key provided by Fireblocks
schema:
type: string
example: 46a92767-5f93-4a46-9eed-f012196bb4fc
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyValidationKeyDto'
responses:
'200':
description: Modified validation key data
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationKeyDto'
default:
$ref: '#/components/responses/Error'
tags:
- Key Link
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ValidationKeyDto>> =
fireblocks.keyLinkBeta.disableValidationKey(keyLinkBetaApiDisableValidationKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ValidationKeyDto>> response =
fireblocks.keyLinkBeta().disableValidationKey(modifyValidationKeyDto,
keyId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.key_link_beta.disable_validation_key(modify_validation_key_dto,
key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ValidationKeyDto>> =
fireblocks.keyLinkBeta.disableValidationKey(keyLinkBetaApiDisableValidationKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ValidationKeyDto>> response =
fireblocks.keyLinkBeta().disableValidationKey(modifyValidationKeyDto,
keyId);
- lang: Python
source: >-
response =
fireblocks.key_link_beta.disable_validation_key(modify_validation_key_dto,
key_id);
/keys/mpc/list:
get:
operationId: getMpcKeysList
summary: Get list of mpc keys
description: >-
Returns a list of MPC signing keys of the workspace. For each key, the
list of players associated with it is attached.
**Note:**
This endpoint is currently in beta and might be subject to changes.
parameters: []
responses:
'200':
description: List of mpc keys
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetMpcKeysResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Keys (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetMpcKeysResponse>> =
fireblocks.keysBeta.getMpcKeysList();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetMpcKeysResponse>> response =
fireblocks.keysBeta().getMpcKeysList();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.keys_beta.get_mpc_keys_list();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetMpcKeysResponse>> =
fireblocks.keysBeta.getMpcKeysList();
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetMpcKeysResponse>> response =
fireblocks.keysBeta().getMpcKeysList();
- lang: Python
source: response = fireblocks.keys_beta.get_mpc_keys_list();
/keys/mpc/list/{userId}:
get:
operationId: getMpcKeysListByUser
summary: Get list of mpc keys by `userId`
description: >-
Returns a list of MPC signing keys of a specific user. For each key, the
list of players associated with it is attached.
**Note:**
This endpoint is currently in beta and might be subject to changes.
parameters:
- name: userId
required: true
in: path
description: The id for the user
example: 46a92767-5f93-4a46-9eed-f012196bb4fc
schema:
type: string
responses:
'200':
description: List of mpc keys
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetMpcKeysResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Keys (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetMpcKeysResponse>> =
fireblocks.keysBeta.getMpcKeysListByUser(keysBetaApiGetMpcKeysListByUserRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetMpcKeysResponse>> response =
fireblocks.keysBeta().getMpcKeysListByUser(userId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.keys_beta.get_mpc_keys_list_by_user(user_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetMpcKeysResponse>> =
fireblocks.keysBeta.getMpcKeysListByUser(keysBetaApiGetMpcKeysListByUserRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetMpcKeysResponse>> response =
fireblocks.keysBeta().getMpcKeysListByUser(userId);
- lang: Python
source: response = fireblocks.keys_beta.get_mpc_keys_list_by_user(user_id);
/external_wallets:
get:
summary: List external wallets
description: >-
Gets a list of external wallets under the workspace.
External Wallet is a whitelisted address of a wallet that belongs to
your users/counterparties.
- You cannot see the balance of the external wallet.
- You cannot initiate transactions from an external wallet as the source
via Fireblocks.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: externalWallets = fireblocks.get_external_wallets()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const externalWallets = await fireblocks.getExternalWallets();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetExternalWalletsResponse>> =
fireblocks.externalWallets.getExternalWallets();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response =
fireblocks.externalWallets().getExternalWallets();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.external_wallets.get_external_wallets();
name: Fireblocks SDK Python example
responses:
'200':
description: A list of external wallets
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetExternalWalletsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getExternalWallets
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetExternalWalletsResponse>> =
fireblocks.externalWallets.getExternalWallets();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response =
fireblocks.externalWallets().getExternalWallets();
- lang: Python
source: response = fireblocks.external_wallets.get_external_wallets();
post:
summary: Create an external wallet
description: >-
Creates a new external wallet with the requested name.
External Wallet is a whitelisted address of a wallet that belongs to
your users/counterparties.
- You cannot see the balance of the external wallet.
- You cannot initiate transactions from an external wallet as the source
via Fireblocks.
Learn more about Whitelisted External Wallet Addresses
[here](https://developers.fireblocks.com/docs/whitelist-addresses#external-wallets).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# externalWallet = fireblocks.create_external_wallet(name,
# customer_ref_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const externalWallet = await fireblocks.createExternalWallet(name,
customerRefId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.externalWallets.createExternalWallet(externalWalletsApiCreateExternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.externalWallets().createExternalWallet(createWalletRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.external_wallets.create_external_wallet(create_wallet_request,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A Wallet object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UnmanagedWallet'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWalletRequest'
operationId: createExternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.externalWallets.createExternalWallet(externalWalletsApiCreateExternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.externalWallets().createExternalWallet(createWalletRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.external_wallets.create_external_wallet(create_wallet_request,
idempotency_key);
/external_wallets/{walletId}:
get:
summary: Find an external wallet
description: >-
Returns an external wallet by ID.
External Wallet is a whitelisted address of a wallet that belongs to
your users/counterparties.
- You cannot see the balance of the external wallet.
- You cannot initiate transactions from an external wallet as the source
via Fireblocks.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: externalWallet = fireblocks.get_external_wallet(walletId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const externalWallet = await
fireblocks.getExternalWallet(walletId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.externalWallets.getExternalWallet(externalWalletsApiGetExternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.externalWallets().getExternalWallet(walletId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.external_wallets.get_external_wallet(wallet_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet to return
schema:
type: string
responses:
'200':
description: A Wallet object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UnmanagedWallet'
default:
$ref: '#/components/responses/Error'
operationId: getExternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.externalWallets.getExternalWallet(externalWalletsApiGetExternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.externalWallets().getExternalWallet(walletId);
- lang: Python
source: >-
response =
fireblocks.external_wallets.get_external_wallet(wallet_id);
delete:
summary: Delete an external wallet
description: >-
Deletes an external wallet by ID.
External Wallet is a whitelisted address of a wallet that belongs to
your users/counterparties.
- You cannot see the balance of the external wallet.
- You cannot initiate transactions from an external wallet as the source
via Fireblocks.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: result = firebocks.delete_external_wallet(walletId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.deleteExternalWallet(walletId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.externalWallets.deleteExternalWallet(externalWalletsApiDeleteExternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.externalWallets().deleteExternalWallet(walletId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.external_wallets.delete_external_wallet(wallet_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet to delete
schema:
type: string
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: deleteExternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.externalWallets.deleteExternalWallet(externalWalletsApiDeleteExternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.externalWallets().deleteExternalWallet(walletId);
- lang: Python
source: >-
response =
fireblocks.external_wallets.delete_external_wallet(wallet_id);
/external_wallets/{walletId}/set_customer_ref_id:
post:
summary: Set an AML customer reference ID for an external wallet
description: >-
Sets an AML/KYT customer reference ID for the specific external wallet.
External Wallet is a whitelisted address of a wallet that belongs to
your users/counterparties.
- You cannot see the balance of the external wallet.
- You cannot initiate transactions from an external wallet as the source
via Fireblocks.
Learn more about Whitelisted External Wallet Addresses
[here](https://developers.fireblocks.com/docs/whitelist-addresses#external-wallets).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# result =
# firebocks.set_customer_ref_id_for_external_wallet(wallet_id,
# customer_ref_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const result = await
fireblocks.setCustomerRefIdForExternalWallet(walletId,
customerRefId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.externalWallets.setExternalWalletCustomerRefId(externalWalletsApiSetExternalWalletCustomerRefIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.externalWallets().setExternalWalletCustomerRefId(setCustomerRefIdRequest,
walletId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.external_wallets.set_external_wallet_customer_ref_id(set_customer_ref_id_request,
wallet_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: walletId
required: true
description: The wallet ID
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetCustomerRefIdRequest'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: setExternalWalletCustomerRefId
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.externalWallets.setExternalWalletCustomerRefId(externalWalletsApiSetExternalWalletCustomerRefIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.externalWallets().setExternalWalletCustomerRefId(setCustomerRefIdRequest,
walletId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.external_wallets.set_external_wallet_customer_ref_id(set_customer_ref_id_request,
wallet_id, idempotency_key);
/external_wallets/{walletId}/{assetId}:
get:
summary: Get an asset from an external wallet
description: >-
Returns an external wallet by wallet ID and asset ID.
External Wallet is a whitelisted address of a wallet that belongs to
your users/counterparties.
- You cannot see the balance of the external wallet.
- You cannot initiate transactions from an external wallet as the source
via Fireblocks.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# externalWalletAsset =
# fireblocks.get_external_wallet_asset(walletId, assetId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const externalWalletAsset =
fireblocks.getExternalWalletAsset(walletId, assetId)
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.externalWallets.getExternalWalletAsset(externalWalletsApiGetExternalWalletAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.externalWallets().getExternalWalletAsset(walletId,
assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.external_wallets.get_external_wallet_asset(wallet_id,
asset_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet
schema:
type: string
- in: path
name: assetId
required: true
description: The ID of the asset to return
schema:
type: string
x-fb-entity: asset
responses:
'200':
description: A Wallet Asset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExternalWalletAsset'
default:
$ref: '#/components/responses/Error'
operationId: getExternalWalletAsset
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.externalWallets.getExternalWalletAsset(externalWalletsApiGetExternalWalletAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.externalWallets().getExternalWalletAsset(walletId,
assetId);
- lang: Python
source: >-
response =
fireblocks.external_wallets.get_external_wallet_asset(wallet_id,
asset_id);
post:
summary: Add an asset to an external wallet.
description: >-
Adds an asset to an existing external wallet.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# externalWalletAsset =
# fireblocks.create_external_wallet_asset(walletId, assetId,
# address, tag)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const externalWalletAsset = await
fireblocks.createExternalWalletAsset(walletContainerId, assetId,
address, tag);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.externalWallets.addAssetToExternalWallet(externalWalletsApiAddAssetToExternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.externalWallets().addAssetToExternalWallet(walletId,
assetId, addAssetToExternalWalletRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.external_wallets.add_asset_to_external_wallet(wallet_id,
asset_id, add_asset_to_external_wallet_request, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet
schema:
type: string
- in: path
name: assetId
required: true
description: The ID of the asset to add
schema:
type: string
x-fb-entity: asset
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A Wallet Asset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExternalWalletAsset'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddAssetToExternalWalletRequest'
operationId: addAssetToExternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.externalWallets.addAssetToExternalWallet(externalWalletsApiAddAssetToExternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.externalWallets().addAssetToExternalWallet(walletId,
assetId, addAssetToExternalWalletRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.external_wallets.add_asset_to_external_wallet(wallet_id,
asset_id, add_asset_to_external_wallet_request, idempotency_key);
delete:
summary: Delete an asset from an external wallet
description: >-
Deletes an external wallet asset by ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted External Wallets
x-readme:
code-samples:
# - language: python
# code: >-
# result = fireblocks.delete_external_wallet_asset(walletId,
# assetId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const result = await
fireblocks.deleteExternalWalletAsset(walletId, assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.externalWallets.removeAssetFromExternalWallet(externalWalletsApiRemoveAssetFromExternalWalletRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.externalWallets().removeAssetFromExternalWallet(walletId,
assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.external_wallets.remove_asset_from_external_wallet(wallet_id,
asset_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: walletId
required: true
description: The ID of the wallet
schema:
type: string
- in: path
name: assetId
required: true
description: The ID of the asset to delete
schema:
type: string
x-fb-entity: asset
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: removeAssetFromExternalWallet
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.externalWallets.removeAssetFromExternalWallet(externalWalletsApiRemoveAssetFromExternalWalletRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.externalWallets().removeAssetFromExternalWallet(walletId,
assetId);
- lang: Python
source: >-
response =
fireblocks.external_wallets.remove_asset_from_external_wallet(wallet_id,
asset_id);
/contracts:
get:
summary: List Whitelisted Contracts
description: >-
Gets a list of whitelisted contracts.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Whitelisted Contracts
responses:
'200':
description: A list of whitelisted contracts
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getContracts
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetContractsResponse>>
= fireblocks.contracts.getContracts();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response =
fireblocks.contracts().getContracts();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.contracts.get_contracts();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetContractsResponse>> =
fireblocks.contracts.getContracts();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<UnmanagedWallet>>> response =
fireblocks.contracts().getContracts();
- lang: Python
source: response = fireblocks.contracts.get_contracts();
post:
summary: Create a Whitelisted Contract
description: >-
Creates a new whitelisted contract.
Learn more about Whitelisted Smart Contracts
[here](https://developers.fireblocks.com/docs/whitelist-addresses#contracts).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted Contracts
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A Wallet object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UnmanagedWallet'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContractRequest'
operationId: createContract
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.contracts.createContract(contractsApiCreateContractRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.contracts().createContract(createContractRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contracts.create_contract(create_contract_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.contracts.createContract(contractsApiCreateContractRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.contracts().createContract(createContractRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.contracts.create_contract(create_contract_request,
idempotency_key);
/contracts/{contractId}:
get:
summary: Find a Specific Whitelisted Contract
description: >-
Returns a whitelisted contract by Fireblocks Contract ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted Contracts
parameters:
- in: path
name: contractId
required: true
description: The ID of the contract to return
schema:
type: string
example: 908a8cd0-d41b-4a11-b90c-3493a1060929
responses:
'200':
description: A Wallet object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UnmanagedWallet'
default:
$ref: '#/components/responses/Error'
operationId: getContract
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.contracts.getContract(contractsApiGetContractRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.contracts().getContract(contractId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.contracts.get_contract(contract_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UnmanagedWallet>> =
fireblocks.contracts.getContract(contractsApiGetContractRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UnmanagedWallet>> response =
fireblocks.contracts().getContract(contractId);
- lang: Python
source: response = fireblocks.contracts.get_contract(contract_id);
delete:
summary: Delete a Whitelisted Contract
description: >-
Deletes a whitelisted contract by Fireblocks Contract ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted Contracts
parameters:
- in: path
name: contractId
required: true
description: The ID of the contract to delete
schema:
type: string
example: 908a8cd0-d41b-4a11-b90c-3493a1060929
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: deleteContract
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.contracts.deleteContract(contractsApiDeleteContractRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.contracts().deleteContract(contractId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.contracts.delete_contract(contract_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.contracts.deleteContract(contractsApiDeleteContractRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.contracts().deleteContract(contractId);
- lang: Python
source: response = fireblocks.contracts.delete_contract(contract_id);
/contracts/{contractId}/{assetId}:
get:
summary: Find a whitelisted contract's asset
description: |-
Returns a whitelisted contract's asset by ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted Contracts
parameters:
- in: path
name: contractId
required: true
description: The ID of the contract
schema:
type: string
example: 908a8cd0-d41b-4a11-b90c-3493a1060929
- in: path
name: assetId
required: true
description: The ID of the asset to return
schema:
type: string
x-fb-entity: asset
example: ETH
responses:
'200':
description: A Wallet Asset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExternalWalletAsset'
default:
$ref: '#/components/responses/Error'
operationId: getContractAsset
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.contracts.getContractAsset(contractsApiGetContractAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.contracts().getContractAsset(contractId, assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.contracts.get_contract_asset(contract_id,
asset_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.contracts.getContractAsset(contractsApiGetContractAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.contracts().getContractAsset(contractId, assetId);
- lang: Python
source: >-
response = fireblocks.contracts.get_contract_asset(contract_id,
asset_id);
post:
summary: Add an Asset to a Whitelisted Contract
description: >-
Adds an asset to an existing whitelisted contract.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted Contracts
parameters:
- in: path
name: contractId
required: true
description: The ID of the contract
schema:
type: string
example: 908a8cd0-d41b-4a11-b90c-3493a1060929
- in: path
name: assetId
required: true
description: The ID of the asset to add
schema:
type: string
x-fb-entity: asset
example: ETH
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A Wallet Asset object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExternalWalletAsset'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddContractAssetRequest'
operationId: addContractAsset
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.contracts.addContractAsset(contractsApiAddContractAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.contracts().addContractAsset(contractId, assetId,
addContractAssetRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.contracts.add_contract_asset(contract_id,
asset_id, add_contract_asset_request, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
fireblocks.contracts.addContractAsset(contractsApiAddContractAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
fireblocks.contracts().addContractAsset(contractId, assetId,
addContractAssetRequest, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.contracts.add_contract_asset(contract_id,
asset_id, add_contract_asset_request, idempotency_key);
delete:
summary: Delete a Whitelisted Contract's Asset
description: >-
Deletes a whitelisted contract's asset by Fireblocks Contract ID and
Asset ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Whitelisted Contracts
parameters:
- in: path
name: contractId
required: true
description: The ID of the contract
schema:
type: string
example: 908a8cd0-d41b-4a11-b90c-3493a1060929
- in: path
name: assetId
required: true
description: The ID of the asset to delete
schema:
type: string
x-fb-entity: asset
example: ETH
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
operationId: deleteContractAsset
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.contracts.deleteContractAsset(contractsApiDeleteContractAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.contracts().deleteContractAsset(contractId, assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.contracts.delete_contract_asset(contract_id,
asset_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.contracts.deleteContractAsset(contractsApiDeleteContractAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.contracts().deleteContractAsset(contractId, assetId);
- lang: Python
source: >-
response = fireblocks.contracts.delete_contract_asset(contract_id,
asset_id);
/assets:
get:
operationId: listAssets
summary: List assets
description: |
Retrieves a paginated list of all assets supported by Fireblocks in your workspace.
**Note:** We will continue to support and display the legacy ID (API ID). Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: assets = fireblocks.listAssets(filters)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const assets = await fireblocks.listAssets(filters);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ListAssetsResponse>> =
fireblocks.blockchainsAssetsBeta.listAssets(blockchainsAssetsBetaApiListAssetsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ListAssetsResponse>> response =
fireblocks.blockchainsAssetsBeta().listAssets(blockchainId,
assetClass, symbol, scope, deprecated, pageCursor, pageSize,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.blockchains_&_assets_beta.list_assets(blockchain_id,
asset_class, symbol, scope, deprecated, page_cursor, page_size,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: blockchainId
required: false
in: query
description: Blockchain id of the assets
schema:
type: string
example: 0f672204-a28b-464a-b318-a387abd3d3c7
- name: assetClass
required: false
in: query
description: Assets class
schema:
$ref: '#/components/schemas/AssetClass'
- name: symbol
required: false
in: query
description: Assets onchain symbol
schema:
minLength: 1
type: string
example: ETH
- name: scope
required: false
in: query
description: Scope of the assets
schema:
$ref: '#/components/schemas/AssetScope'
- name: deprecated
required: false
in: query
description: Are assets deprecated
schema:
type: boolean
example: false
- name: ids
required: false
in: query
description: A list of asset IDs (max 100)
schema:
type: array
items:
type: string
example:
- 3ed32525-70df-45c8-bae3-e69ab56dc095
- 3a3b5f06-61e7-44f0-9962-4425b55795ff
- SHANI5_B75VRLGX_MUPA
- name: pageCursor
required: false
in: query
description: Next page cursor to fetch
schema:
type: string
example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
- name: pageSize
required: false
in: query
description: Items per page
schema:
minimum: 100
maximum: 1000
default: 500
type: number
example: 500
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: List of assets
content:
application/json:
schema:
$ref: '#/components/schemas/ListAssetsResponse'
'500':
description: Error occurred while listing assets
content:
application/json:
schema:
$ref: '#/components/schemas/AssetInternalServerErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ListAssetsResponse>> =
fireblocks.blockchainsAssetsBeta.listAssets(blockchainsAssetsBetaApiListAssetsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ListAssetsResponse>> response =
fireblocks.blockchainsAssetsBeta().listAssets(blockchainId,
assetClass, symbol, scope, deprecated, pageCursor, pageSize,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.blockchains_&_assets_beta.list_assets(blockchain_id,
asset_class, symbol, scope, deprecated, page_cursor, page_size,
idempotency_key);
post:
operationId: registerNewAsset
summary: Register an asset
description: |
Registers a new asset to a workspace and retrieves the newly created asset's details. Currently supported chains are:
- EVM-based chains
- Algorand
- NEAR
- Solana
- Stellar
- Sui
- TRON
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, NCW Admin, Editor, Signer.
tags:
- Blockchains & Assets
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
x-readme:
code-samples:
# - language: python
# code: >-
# supportedAssets = fireblocks.register_new_asset(blockchainId,
# address, symbol)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const supportedAssets = await
fireblocks.registerNewAsset(blockchainId, address, symbol);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<AssetResponse>> =
fireblocks.blockchainsAssets.registerNewAsset(blockchainsAssetsApiRegisterNewAssetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<AssetResponse>> response =
fireblocks.blockchainsAssets().registerNewAsset(registerNewAssetRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.blockchains_&_assets.register_new_asset(register_new_asset_request,
idempotency_key);
name: Fireblocks SDK Python example
responses:
'200':
description: A new asset has been created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/AssetResponse'
'400':
description: >
- Listing an asset on the requested blockchain is not supported.
Error code: 1000
- The asset address is invalid. Error code: 1003
- Self serve listing an asset on the requested blockchain is
currently not supported, please contact support. Error code: 1004
- Blockchain is deprecated. Error code: 1006
- The asset's standard is not supported. Error code: 1007
- Unable to get expected metadata: decimals | name | symbol. Error
code: 1010
content:
application/json:
schema:
$ref: '#/components/schemas/AssetBadRequestErrorResponse'
'403':
description: |
- The asset creation quota reached. Error code: 1005
- Tenant is not allowed to create testnet assets. Error code: 1008
- Tenant is not allowed to create mainnet assets. Error code: 1009
content:
application/json:
schema:
$ref: '#/components/schemas/AssetForbiddenErrorResponse'
'404':
description: |
- Invalid address, could not get asset information. Error code 1003
content:
application/json:
schema:
$ref: '#/components/schemas/TokenInfoNotFoundErrorResponse'
'409':
description: >
- The asset is already supported globally. Error code: 1001
- The asset has already been added to this workspace. Error code:
1002
content:
application/json:
schema:
$ref: '#/components/schemas/AssetConflictErrorResponse'
'500':
description: Failed to create asset
content:
application/json:
schema:
$ref: '#/components/schemas/AssetInternalServerErrorResponse'
default:
$ref: '#/components/responses/Error'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterNewAssetRequest'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<AssetResponse>> =
fireblocks.blockchainsAssets.registerNewAsset(blockchainsAssetsApiRegisterNewAssetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<AssetResponse>> response =
fireblocks.blockchainsAssets().registerNewAsset(registerNewAssetRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.blockchains_&_assets.register_new_asset(register_new_asset_request,
idempotency_key);
/assets/{id}:
get:
operationId: getAsset
summary: Get an asset by ID
description: |
Returns an asset by ID or legacyID.</br>
**Note**:
- We will continue displaying and supporting the legacy ID (API ID).
Since not all Fireblocks services fully support the new Assets UUID, please use only the legacy ID until further notice.
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: asset = fireblocks.getAssetById(assetId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const asset = await fireblocks.getAssetById(assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Asset>> =
fireblocks.blockchainsAssetsBeta.getAssetById(blockchainsAssetsBetaApiGetAssetByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Asset>> response =
fireblocks.blockchainsAssetsBeta().getAssetById(id,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.blockchains_&_assets_beta.get_asset_by_id(id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: id
in: path
required: true
description: The ID or legacyId of the asset
schema:
type: string
x-fb-entity: asset
example: ETH
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Asset with requested identification
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Asset'
'404':
description: |
- Asset with specified ID or legacy ID is not found. Error code 1504
content:
application/json:
schema:
$ref: '#/components/schemas/AssetNotFoundErrorResponse'
'500':
description: Error occurred while getting an asset
content:
application/json:
schema:
$ref: '#/components/schemas/AssetInternalServerErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Asset>> =
fireblocks.blockchainsAssetsBeta.getAssetById(blockchainsAssetsBetaApiGetAssetByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Asset>> response =
fireblocks.blockchainsAssetsBeta().getAssetById(id, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.blockchains_&_assets_beta.get_asset_by_id(id,
idempotency_key);
patch:
operationId: updateAssetUserMetadata
summary: Update the user’s metadata for an asset
description: |-
Update the user’s metadata for an asset.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, NCW Admin, Signer, Editor.
tags:
- Blockchains & assets
x-readme:
code-samples:
- language: python
code: asset = fireblocks.update_asset_user_metadata(asset_id, update_asset_user_metadata_request)
name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const asset = await fireblocks.updateAssetUserMetadata(assetId, updateAssetUserMetadataRequest);
name: Fireblocks SDK Javascript example
parameters:
- name: id
in: path
required: true
description: The ID or legacyId of the asset
schema:
type: string
x-fb-entity: asset
example: ETH
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAssetUserMetadataRequest'
responses:
"200":
description: Updated asset user metadata
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Asset'
"404":
description: |
- Asset with specified ID or legacy ID is not found. Error code 1504
content:
application/json:
schema:
$ref: '#/components/schemas/AssetNotFoundErrorResponse'
"500":
description: Error occurred while updating asset user metadata
content:
application/json:
schema:
$ref: '#/components/schemas/AssetInternalServerErrorResponse'
default:
$ref: '#/components/responses/Error'
/assets/prices/{id}:
post:
operationId: setAssetPrice
summary: Set asset price
description: >
Set asset price for the given asset id. Returns the asset price
response.
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: supportedAssets = fireblocks.set_asset_price(id, currency, price)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const supportedAssets = await fireblocks.setAssetPrice(id,
currency, price);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<AssetPriceResponse>> =
fireblocks.blockchainsAssets.setAssetPrice(blockchainsAssetsApiSetAssetPriceRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<AssetPriceResponse>> response =
fireblocks.blockchainsAssets().setAssetPrice(id,
setAssetPriceRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.blockchains_&_assets.set_asset_price(id,
set_asset_price_request, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: id
in: path
required: true
description: The ID of the asset
schema:
type: string
example: ETH
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetAssetPriceRequest'
responses:
'200':
description: Asset price has been set successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPriceResponse'
'403':
description: |
- Tenant is not allowed to set rate. Error code: 1002.
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPriceForbiddenErrorResponse'
'404':
description: |
- Currency not found. Error code 1001
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPriceNotFoundErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<AssetPriceResponse>> =
fireblocks.blockchainsAssets.setAssetPrice(blockchainsAssetsApiSetAssetPriceRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<AssetPriceResponse>> response =
fireblocks.blockchainsAssets().setAssetPrice(id,
setAssetPriceRequest, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.blockchains_&_assets.set_asset_price(id,
set_asset_price_request, idempotency_key);
/blockchains:
get:
operationId: listBlockchains
summary: List blockchains
description: >
Returns all blockchains supported by Fireblocks.</br>
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: blockchains = fireblocks.listBlockchains(filters)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const blockchains = await fireblocks.listBlockchains(filters);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ListBlockchainsResponse>> =
fireblocks.blockchainsAssetsBeta.listBlockchains(blockchainsAssetsBetaApiListBlockchainsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ListBlockchainsResponse>> response =
fireblocks.blockchainsAssetsBeta().listBlockchains(protocol,
deprecated, test, pageCursor, pageSize);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.blockchains_&_assets_beta.list_blockchains(protocol,
deprecated, test, page_cursor, page_size);
name: Fireblocks SDK Python example
parameters:
- name: protocol
required: false
in: query
description: Blockchain protocol
schema:
type: string
example: SOL
- name: deprecated
required: false
in: query
description: Is blockchain deprecated
schema:
type: boolean
example: false
- name: test
required: false
in: query
description: Is test blockchain
schema:
type: boolean
example: false
- name: ids
required: false
in: query
description: A list of blockchain IDs (max 100)
schema:
type: array
items:
type: string
example:
- 3ed32525-70df-45c8-bae3-e69ab56dc095
- 3a3b5f06-61e7-44f0-9962-4425b55795ff
- MANTRA
- name: pageCursor
required: false
in: query
description: Page cursor to fetch
schema:
type: string
example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
- name: pageSize
required: false
in: query
description: Items per page (max 500)
schema:
minimum: 1
maximum: 500
default: 500
type: number
example: 500
responses:
'200':
description: List of supported blockchains
content:
application/json:
schema:
$ref: '#/components/schemas/ListBlockchainsResponse'
'500':
description: Error occurred while listing blockchains
content:
application/json:
schema:
$ref: '#/components/schemas/AssetInternalServerErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ListBlockchainsResponse>>
=
fireblocks.blockchainsAssetsBeta.listBlockchains(blockchainsAssetsBetaApiListBlockchainsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ListBlockchainsResponse>> response =
fireblocks.blockchainsAssetsBeta().listBlockchains(protocol,
deprecated, test, pageCursor, pageSize);
- lang: Python
source: >-
response =
fireblocks.blockchains_&_assets_beta.list_blockchains(protocol,
deprecated, test, page_cursor, page_size);
/blockchains/{id}:
get:
operationId: getBlockchain
summary: Get a Blockchain by ID
description: |
Returns a blockchain by ID or legacyID.
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: blockchain = fireblocks.getBlockchain(blockchainId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const blockchain = await
fireblocks.getBlockchain(blockchainId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<BlockchainResponse>> =
fireblocks.blockchainsAssetsBeta.getBlockchain(blockchainsAssetsBetaApiGetBlockchainByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<BlockchainResponse>> response =
fireblocks.blockchainsAssetsBeta().getBlockchain(id);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.blockchains_&_assets_beta.get_blockchain_by_id(id);
name: Fireblocks SDK Python example
parameters:
- name: id
in: path
required: true
description: The ID or legacyId of the blockchain
schema:
type: string
example: ETH
responses:
'200':
description: Blockchain with requested identification
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/BlockchainResponse'
'404':
description: >
- Blockchain with specified ID or legacy ID is not found. Error code
1505
content:
application/json:
schema:
$ref: '#/components/schemas/BlockchainNotFoundErrorResponse'
'500':
description: Error occurred while getting blockchain
content:
application/json:
schema:
$ref: '#/components/schemas/AssetInternalServerErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<BlockchainResponse>> =
fireblocks.blockchainsAssetsBeta.getBlockchainById(blockchainsAssetsBetaApiGetBlockchainByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<BlockchainResponse>> response =
fireblocks.blockchainsAssetsBeta().getBlockchainById(id);
- lang: Python
source: >-
response =
fireblocks.blockchains_&_assets_beta.get_blockchain_by_id(id);
/transactions:
get:
summary: Get transaction history
description: |
Get the transaction history for your workspace.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: transactions = fireblocks.get_transactions(status, after)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: |
const transactions = await fireblocks.getTransactions({
status: args.status,
after: from });
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetTransactionsResponse>> =
fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<TransactionResponse>>> response
= fireblocks.transactions().getTransactions(before, after, status,
orderBy, sort, limit, sourceType, sourceId, destType, destId,
assets, txHash, sourceWalletId, destWalletId);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.transactions.get_transactions(before, after,
status, order_by, sort, limit, source_type, source_id, dest_type,
dest_id, assets, tx_hash, source_wallet_id, dest_wallet_id);
name: Fireblocks SDK Python example
parameters:
- in: query
name: before
description: >
Unix timestamp in milliseconds. Returns only transactions created
before the specified date.
Provides an explicit end time. If not provided, default value will
be applied, and may change over time.
The current default value is the past 90 days.
required: false
schema:
type: string
example: '1716735252121'
- in: query
name: after
description: >
Unix timestamp in milliseconds. Returns only transactions created
after the specified date.
Provides an explicit start time. If not provided, default value will
be applied, and may change over time.
The current default value is the past 90 days.
required: false
schema:
type: string
example: '1716735250121'
- in: query
name: status
description: You can filter by one of the statuses.
required: false
schema:
$ref: '#/components/schemas/TransactionStatus'
- in: query
name: orderBy
description: |
The field to order the results by.
**Note:** Ordering by a field that is not `createdAt` may result in transactions that receive updates as you request the next or previous pages of results, resulting in missing those transactions.
required: false
schema:
type: string
enum:
- createdAt
- lastUpdated
- in: query
name: sort
description: The direction to order the results by
required: false
schema:
type: string
enum:
- ASC
- DESC
- in: query
name: limit
description: >-
Limits the number of results. If not provided, a limit of 200 will
be used. The maximum allowed limit is 500
required: false
schema:
type: integer
minimum: 1
default: 200
example: 50
- in: query
name: sourceType
description: The source type of the transaction
required: false
schema:
type: string
enum:
- VAULT_ACCOUNT
- EXCHANGE_ACCOUNT
- INTERNAL_WALLET
- EXTERNAL_WALLET
- CONTRACT
- FIAT_ACCOUNT
- NETWORK_CONNECTION
- COMPOUND
- UNKNOWN
- GAS_STATION
- END_USER_WALLET
- in: query
name: sourceId
description: The source ID of the transaction
required: false
schema:
type: string
example: '0'
- in: query
name: destType
description: The destination type of the transaction
required: false
schema:
type: string
enum:
- VAULT_ACCOUNT
- EXCHANGE_ACCOUNT
- INTERNAL_WALLET
- EXTERNAL_WALLET
- CONTRACT
- FIAT_ACCOUNT
- NETWORK_CONNECTION
- COMPOUND
- ONE_TIME_ADDRESS
- END_USER_WALLET
- MULTI_DESTINATION
- in: query
name: destId
description: The destination ID of the transaction
required: false
schema:
type: string
example: '2'
- in: query
name: assets
description: A list of assets to filter by, seperated by commas
required: false
schema:
type: string
example: ETH,BTC
- in: query
name: txHash
description: Returns only results with a specified txHash
required: false
schema:
type: string
example: '0x578b26ea55c018ab2ae595a4a2e2b05d39a3e455ddf36b2d6adc1cbc01bed4d1'
- in: query
name: sourceWalletId
description: Returns only results where the source is a specific end user wallet
required: false
schema:
type: string
example: f01d8d3c-b1a3-4b33-8515-d99137117ace
- in: query
name: destWalletId
description: >-
Returns only results where the destination is a specific end user
wallet
required: false
schema:
type: string
example: bccab295-e1de-4768-85cc-a11fdb11218f
responses:
'200':
description: A list of transactions
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
next-page:
$ref: '#/components/headers/next-page'
prev-page:
$ref: '#/components/headers/prev-page'
content:
application/json:
schema:
$ref: '#/components/schemas/GetTransactionsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getTransactions
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetTransactionsResponse>>
=
fireblocks.transactions.getTransactions(transactionsApiGetTransactionsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<TransactionResponse>>> response =
fireblocks.transactions().getTransactions(before, after, status,
orderBy, sort, limit, sourceType, sourceId, destType, destId,
assets, txHash, sourceWalletId, destWalletId);
- lang: Python
source: >-
response = fireblocks.transactions.get_transactions(before, after,
status, order_by, sort, limit, source_type, source_id, dest_type,
dest_id, assets, tx_hash, source_wallet_id, dest_wallet_id);
post:
summary: Create a new transaction
description: >-
Creates a new transaction. This endpoint can be used for regular
Transfers, Contract Calls, Raw & Typed message signing.
- For Transfers, the required parameters are: `assetId`, `source`,
`destination` and `amount`.
- For Contract Calls, the required parameters are:
`operation.CONTRACT_CALL`, `assetId` (Base Asset), `source`,
`destination`, `amount` (usually 0) and `extraParameters` object with
`contractCallData` string.
- For Solana Program Calls, the required parameters are:
`operation.PROGRAM_CALL`, `assetId` (SOL/SOL_TEST), `source`,
and `extraParameters` object with `programCallData` key while the value is a Base64 encoded unsigned serialized Solana transaction object.
- Typed Message Signing is supported for the following asset IDs: 'ETH',
'BTC' and 'TRX'. [Typed Message Signing
Guide](https://developers.fireblocks.com/docs/typed-message-signing-overview).
- To create ZEC transaction, please call [Get unspent UTXO Input endpoint](https://developers.fireblocks.com/reference/getunspentinputs) to get the amount and use it as an input under `networkfee` on this endpoint. Please use this formula `(0.0001 + 0.00005*N) where N is the number of inputs` to calculate the fee needed and use it as an input under networkFee field
- When using `maxFee` and a boost is needed, the user should set a custom `gasPrice` to force the override.
Learn more about Fireblocks Transactions management in the following [guide](https://developers.fireblocks.com/reference/create-transactions).
</br>Endpoint Permission: Admin, Signer, Editor.
tags:
- Transactions
parameters:
- $ref: '#/components/parameters/X-End-User-Wallet-Id'
- $ref: '#/components/parameters/X-Idempotency-Key'
x-readme:
code-samples:
# - language: python
# code: >
# tx_result = client.create_transaction( asset_id="BTC",
# amount="50", source=TransferPeerPath(VAULT_ACCOUNT,
# from_vault_account_id),
# destination=DestinationTransferPeerPath(VAULT_ACCOUNT,
# to_vault_account_id) )
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >
const payload: TransactionArguments = { assetId: asset, source: {
type: sourceType, id: sourceId || 0 }, destination: { type:
destinationType, id: String(destinationId) }, amount:
String(amount), fee: String(fee), note: "Created by fireblocks
SDK" }; const result = await
fireblocks.createTransaction(payload);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response
= fireblocks.transactions().createTransaction(transactionRequest,
xEndUserWalletId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.transactions.create_transaction(transaction_request,
x_end_user_wallet_id, idempotency_key);
name: Fireblocks SDK Python example
responses:
'200':
description: A transaction object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransactionResponse'
default:
$ref: '#/components/responses/Error'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRequest'
operationId: createTransaction
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.transactions.createTransaction(transactionsApiCreateTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response =
fireblocks.transactions().createTransaction(transactionRequest,
xEndUserWalletId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.transactions.create_transaction(transaction_request,
x_end_user_wallet_id, idempotency_key);
/transactions/estimate_fee:
post:
summary: Estimate transaction fee
description: >-
Estimates the transaction fee for a specific transaction request.
This endpoint simulates a transaction which means that the system will
expect to have the requested asset and balance in the specified wallet.
**Note**: Supports all Fireblocks assets except ZCash (ZEC).
Learn more about Fireblocks Fee Management in the following
[guide](https://developers.fireblocks.com/reference/estimate-transaction-fee).
</br>Endpoint Permission: Admin, Signer, Approver, Editor.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: >
# estimated_fee = client.estimate_fee_for_transaction(
# asset_id="BTC", amount="50",
# source=TransferPeerPath(VAULT_ACCOUNT, from_vault_account_id),
# destination=DestinationTransferPeerPath(VAULT_ACCOUNT,
# to_vault_account_id) )
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >
const payload: TransactionArguments = { assetId: asset, source: {
type: sourceType, id: sourceId || 0 }, destination: { type:
destinationType, id: String(destinationId) }, amount:
Number(amount) }; const estimatedFee = await
fireblocks.estimateFeeForTransaction(payload);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<EstimatedTransactionFeeResponse>> =
fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<EstimatedTransactionFeeResponse>>
response =
fireblocks.transactions().estimateTransactionFee(transactionRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.transactions.estimate_transaction_fee(transaction_request,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionRequest'
responses:
'200':
description: Estimated fees response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/EstimatedTransactionFeeResponse'
default:
$ref: '#/components/responses/Error'
operationId: estimateTransactionFee
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<EstimatedTransactionFeeResponse>> =
fireblocks.transactions.estimateTransactionFee(transactionsApiEstimateTransactionFeeRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<EstimatedTransactionFeeResponse>>
response =
fireblocks.transactions().estimateTransactionFee(transactionRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.transactions.estimate_transaction_fee(transaction_request,
idempotency_key);
/transactions/{txId}:
get:
summary: Get a specific transaction by Fireblocks transaction ID
description: >-
Get a specific transaction data by Fireblocks Transaction ID
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: tx = fireblocks.get_transaction_by_id(txId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const tx = await fireblocks.getTransactionById(txId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<TransactionResponse>> =
fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TransactionResponse>> response =
fireblocks.transactions().getTransaction(txId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.transactions.get_transaction(tx_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: txId
required: true
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
description: The ID of the transaction to return
schema:
type: string
responses:
'200':
description: A Transaction object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponse'
'400':
$ref: '#/components/responses/Error'
default:
$ref: '#/components/responses/Error'
operationId: getTransaction
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TransactionResponse>> =
fireblocks.transactions.getTransaction(transactionsApiGetTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TransactionResponse>> response =
fireblocks.transactions().getTransaction(txId);
- lang: Python
source: response = fireblocks.transactions.get_transaction(tx_id);
/transactions/external_tx_id/{externalTxId}:
get:
summary: Get a specific transaction by external transaction ID
description: >-
Returns transaction by external transaction ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: tx = fireblocks.get_transaction_by_external_tx_id(externalTxId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const tx = await
fireblocks.getTransactionByExternalTxId(externalTxId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<TransactionResponse>> =
fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TransactionResponse>> response =
fireblocks.transactions().getTransactionByExternalId(externalTxId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.transactions.get_transaction_by_external_id(external_tx_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: externalTxId
required: true
description: The external ID of the transaction to return
schema:
type: string
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
responses:
'200':
description: An Transaction object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionResponse'
default:
$ref: '#/components/responses/Error'
operationId: getTransactionByExternalId
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TransactionResponse>> =
fireblocks.transactions.getTransactionByExternalId(transactionsApiGetTransactionByExternalIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TransactionResponse>> response =
fireblocks.transactions().getTransactionByExternalId(externalTxId);
- lang: Python
source: >-
response =
fireblocks.transactions.get_transaction_by_external_id(external_tx_id);
/transactions/{txId}/set_confirmation_threshold:
post:
summary: Set confirmation threshold by Fireblocks Transaction ID
description: >-
Overrides the required number of confirmations for transaction
completion Fireblocks Transaction ID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: >-
# set_conf_threshold =
# client.set_confirmation_threshold_by_tx_id(body)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const setConfThreshold = await
fireblocks.setConfirmationThresholdByTxId(body);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SetConfirmationsThresholdResponse>> =
fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SetConfirmationsThresholdResponse>>
response =
fireblocks.transactions().setTransactionConfirmationThreshold(txId,
setConfirmationsThresholdRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.transactions.set_transaction_confirmation_threshold(tx_id,
set_confirmations_threshold_request, idempotency_key);
name: Fireblocks SDK Python example
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetConfirmationsThresholdRequest'
parameters:
- in: path
name: txId
required: true
description: The ID of the transaction
schema:
type: string
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Set successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetConfirmationsThresholdResponse'
default:
$ref: '#/components/responses/Error'
operationId: setTransactionConfirmationThreshold
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SetConfirmationsThresholdResponse>> =
fireblocks.transactions.setTransactionConfirmationThreshold(transactionsApiSetTransactionConfirmationThresholdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SetConfirmationsThresholdResponse>>
response =
fireblocks.transactions().setTransactionConfirmationThreshold(txId,
setConfirmationsThresholdRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.transactions.set_transaction_confirmation_threshold(tx_id,
set_confirmations_threshold_request, idempotency_key);
/transactions/{txId}/drop:
post:
summary: Drop ETH (EVM) transaction by ID
description: >-
Drops a stuck ETH (EVM) transaction and creates a replacement
transaction with 0 amount.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: result = fireblocks.drop_transaction(txId, fee_level)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.dropTransaction(txId, feeLevel);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DropTransactionResponse>> =
fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DropTransactionResponse>> response =
fireblocks.transactions().dropTransaction(txId,
dropTransactionRequest, xEndUserWalletId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.transactions.drop_transaction(tx_id,
drop_transaction_request, x_end_user_wallet_id, idempotency_key);
name: Fireblocks SDK Python example
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DropTransactionRequest'
parameters:
- in: path
name: txId
required: true
description: The ID of the transaction
schema:
type: string
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
- $ref: '#/components/parameters/X-End-User-Wallet-Id'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Operation completed successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DropTransactionResponse'
default:
$ref: '#/components/responses/Error'
operationId: dropTransaction
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<DropTransactionResponse>>
=
fireblocks.transactions.dropTransaction(transactionsApiDropTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DropTransactionResponse>> response =
fireblocks.transactions().dropTransaction(txId,
dropTransactionRequest, xEndUserWalletId, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.transactions.drop_transaction(tx_id,
drop_transaction_request, x_end_user_wallet_id, idempotency_key);
/transactions/{txId}/cancel:
post:
summary: Cancel a transaction
description: >-
Cancels a transaction by Fireblocks Transaction ID.
Can be used only for transactions that did not get to the BROADCASTING
state.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: result = fireblocks.cancel_transaction_by_id(txId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.cancelTransactionById(txId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CancelTransactionResponse>> =
fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CancelTransactionResponse>> response
= fireblocks.transactions().cancelTransaction(txId,
xEndUserWalletId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.transactions.cancel_transaction(tx_id,
x_end_user_wallet_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: txId
required: true
description: The Fireblocks Transaction ID of the transaction to cancel
schema:
type: string
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
- $ref: '#/components/parameters/X-End-User-Wallet-Id'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: An Transaction object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CancelTransactionResponse'
default:
$ref: '#/components/responses/Error'
operationId: cancelTransaction
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CancelTransactionResponse>> =
fireblocks.transactions.cancelTransaction(transactionsApiCancelTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CancelTransactionResponse>> response =
fireblocks.transactions().cancelTransaction(txId, xEndUserWalletId,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.transactions.cancel_transaction(tx_id,
x_end_user_wallet_id, idempotency_key);
/transactions/{txId}/freeze:
post:
summary: Freeze a transaction
description: >-
Freezes a transaction by ID.
Usually used for AML integrations when the incoming funds should be
quarantined.
For account based assets - the entire amount of the transaction is
frozen
For UTXO based assets - all UTXOs of the specified transaction are
frozen
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: result = fireblocks.freeze_transaction_by_id(txId);
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.freezeTransactionById(txId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<FreezeTransactionResponse>> =
fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<FreezeTransactionResponse>> response
= fireblocks.transactions().freezeTransaction(txId,
xEndUserWalletId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.transactions.freeze_transaction(tx_id,
x_end_user_wallet_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: txId
required: true
description: The ID of the transaction to freeze
schema:
type: string
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
- $ref: '#/components/parameters/X-End-User-Wallet-Id'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Freeze Transaction Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/FreezeTransactionResponse'
operationId: freezeTransaction
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<FreezeTransactionResponse>> =
fireblocks.transactions.freezeTransaction(transactionsApiFreezeTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<FreezeTransactionResponse>> response =
fireblocks.transactions().freezeTransaction(txId, xEndUserWalletId,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.transactions.freeze_transaction(tx_id,
x_end_user_wallet_id, idempotency_key);
/transactions/{txId}/unfreeze:
post:
summary: Unfreeze a transaction
description: >-
Unfreezes a transaction by Fireblocks Transaction ID and makes the
transaction available again.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: result = fireblocks.unfreeze_transaction_by_id(txId)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.unfreezeTransactionById(txId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<UnfreezeTransactionResponse>> =
fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UnfreezeTransactionResponse>>
response = fireblocks.transactions().unfreezeTransaction(txId,
xEndUserWalletId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.transactions.unfreeze_transaction(tx_id,
x_end_user_wallet_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: txId
required: true
description: The ID of the transaction to unfreeze
schema:
type: string
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
- $ref: '#/components/parameters/X-End-User-Wallet-Id'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Unfreeze response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UnfreezeTransactionResponse'
operationId: unfreezeTransaction
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<UnfreezeTransactionResponse>> =
fireblocks.transactions.unfreezeTransaction(transactionsApiUnfreezeTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UnfreezeTransactionResponse>> response
= fireblocks.transactions().unfreezeTransaction(txId,
xEndUserWalletId, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.transactions.unfreeze_transaction(tx_id,
x_end_user_wallet_id, idempotency_key);
/transactions/validate_address/{assetId}/{address}:
get:
summary: Validate destination address
description: >-
Checks if an address is valid and active (for XRP, DOT, XLM, and EOS).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: result = fireblocks.(asset_id, address)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.(assetId, address);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ValidateAddressResponse>> =
fireblocks.transactions.validateAddress(transactionsApiValidateAddressRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ValidateAddressResponse>> response =
fireblocks.transactions().validateAddress(assetId, address);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.transactions.validate_address(asset_id,
address);
name: Fireblocks SDK Python example
parameters:
- in: path
name: assetId
required: true
description: The asset of the address
schema:
type: string
x-fb-entity: asset
example: XRP
- in: path
name: address
required: true
description: The address to validate
schema:
type: string
example: rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn
responses:
'200':
description: Validate Address Response Object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateAddressResponse'
default:
$ref: '#/components/responses/Error'
operationId: validateAddress
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ValidateAddressResponse>>
=
fireblocks.transactions.validateAddress(transactionsApiValidateAddressRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ValidateAddressResponse>> response =
fireblocks.transactions().validateAddress(assetId, address);
- lang: Python
source: >-
response = fireblocks.transactions.validate_address(asset_id,
address);
/txHash/{txHash}/set_confirmation_threshold:
post:
summary: Set confirmation threshold by transaction hash
description: >-
Overrides the required number of confirmations for transaction
completion by transaction hash.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Transactions
x-readme:
code-samples:
# - language: python
# code: >-
# set_conf_threshold =
# client.set_confirmation_threshold_by_tx_hash(body)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const setConfThreshold = await
fireblocks.setConfirmationThresholdByTxHash(body);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SetConfirmationsThresholdResponse>> =
fireblocks.transactions.setConfirmationThresholdByTransactionHash(transactionsApiSetConfirmationThresholdByTransactionHashRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SetConfirmationsThresholdResponse>>
response =
fireblocks.transactions().setConfirmationThresholdByTransactionHash(txHash,
setConfirmationsThresholdRequest, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.transactions.set_confirmation_threshold_by_transaction_hash(tx_hash,
set_confirmations_threshold_request, idempotency_key);
name: Fireblocks SDK Python example
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetConfirmationsThresholdRequest'
parameters:
- in: path
name: txHash
required: true
description: The TxHash
schema:
type: string
example: '0xf6223863e56b9f56a31f74d2bb1e96c28ea8421e6a8598e69a6b2525a89d5de5'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: A list of transactions affected by the change
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetConfirmationsThresholdResponse'
default:
$ref: '#/components/responses/Error'
operationId: setConfirmationThresholdByTransactionHash
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SetConfirmationsThresholdResponse>> =
fireblocks.transactions.setConfirmationThresholdByTransactionHash(transactionsApiSetConfirmationThresholdByTransactionHashRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SetConfirmationsThresholdResponse>>
response =
fireblocks.transactions().setConfirmationThresholdByTransactionHash(txHash,
setConfirmationsThresholdRequest, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.transactions.set_confirmation_threshold_by_transaction_hash(tx_hash,
set_confirmations_threshold_request, idempotency_key);
/estimate_network_fee:
get:
summary: Estimate the required fee for an asset
description: >-
Gets the estimated required fee for an asset.
Fireblocks fetches, calculates and caches the result every 30 seconds.
Customers should query this API while taking the caching interval into
consideration.
Notes:
- The `networkFee` parameter is the `gasPrice` with a given delta added, multiplied by the gasLimit plus the delta.
- The estimation provided depends on the asset type.
- For UTXO-based assets, the response contains the `feePerByte` parameter
- For ETH-based and all EVM based assets, the response will contain `gasPrice` parameter. This is calculated by adding the `baseFee` to the `actualPriority` based on the latest 12 blocks. The response for ETH-based contains the `baseFee`, `gasPrice`, and `priorityFee` parameters.
- For ADA-based assets, the response will contain the parameter `networkFee` and `feePerByte` parameters.
- For XRP and XLM, the response will contain the transaction fee.
- For other assets, the response will contain the `networkFee` parameter.
Learn more about Fireblocks Fee Management in the following
[guide](https://developers.fireblocks.com/reference/estimate-transaction-fee).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: fee_result = fireblocks.get_fee_for_asset(asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const feeResult = await fireblocks.getFeeForAsset(assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<EstimatedNetworkFeeResponse>> =
fireblocks.transactions.estimateNetworkFee(transactionsApiEstimateNetworkFeeRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<EstimatedNetworkFeeResponse>>
response = fireblocks.transactions().estimateNetworkFee(assetId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.transactions.estimate_network_fee(asset_id);
name: Fireblocks SDK Python example
parameters:
- in: query
name: assetId
description: The asset for which to estimate the fee
required: true
schema:
type: string
x-fb-entity: asset
example: ETH
responses:
'200':
description: Estimated fees response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/EstimatedNetworkFeeResponse'
default:
$ref: '#/components/responses/Error'
operationId: estimateNetworkFee
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<EstimatedNetworkFeeResponse>> =
fireblocks.transactions.estimateNetworkFee(transactionsApiEstimateNetworkFeeRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<EstimatedNetworkFeeResponse>> response
= fireblocks.transactions().estimateNetworkFee(assetId);
- lang: Python
source: response = fireblocks.transactions.estimate_network_fee(asset_id);
/supported_assets:
get:
summary: List assets (Legacy)
description: |
**This legacy endpoint has not been deprecated but it should not be used in your operations. Instead, use the new [List assets](https://developers.fireblocks.com/reference/listassets) endpoint for better performance and to retrieve more detailed asset information.**
Retrieves all assets supported by Fireblocks in your workspace.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Blockchains & Assets
x-readme:
code-samples:
# - language: python
# code: supportedAssets = fireblocks.get_supported_assets()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const supportedAssets = await fireblocks.getSupportedAssets();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetSupportedAssetsResponse>> =
fireblocks.blockchainsAssets.getSupportedAssets();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<AssetTypeResponse>>> response =
fireblocks.blockchainsAssets().getSupportedAssets();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.blockchains_&_assets.get_supported_assets();
name: Fireblocks SDK Python example
responses:
'200':
description: Supported Assets Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetSupportedAssetsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getSupportedAssets
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetSupportedAssetsResponse>> =
fireblocks.blockchainsAssets.getSupportedAssets();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<AssetTypeResponse>>> response =
fireblocks.blockchainsAssets().getSupportedAssets();
- lang: Python
source: response = fireblocks.blockchains_&_assets.get_supported_assets();
/payments/payout:
post:
tags:
- Payments - Payout
description: >-
**Note:** The reference content in this section documents the Payments
Engine endpoint. The Payments Engine endpoints include APIs available
only for customers with Payments Engine enabled on their accounts. </br>
</br>These endpoints are currently in beta and might be subject to
changes.</br>
</br>If you want to learn more about Fireblocks Payments Engine, please
contact your Fireblocks Customer Success Manager or email
CSM@fireblocks.com. </br>
</br> <b u>Create a payout instruction set.</b> </u></br>
A payout instruction set is a set of instructions for distributing
payments from a single payment account to a list of payee accounts.
</br>
The instruction set defines: </br>
<ul>
<li>the payment account and its account type (vault, exchange, or fiat).
</li>
<li>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.</li>
</ul>
Learn more about Fireblocks Payments - Payouts in the following
[guide](https://developers.fireblocks.com/docs/create-payouts).
</br>Endpoint Permission: Admin, Non-Signing Admin.
summary: Create a payout instruction set
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePayoutRequest'
example:
paymentAccount:
id: EX_SUB1
type: EXCHANGE_ACCOUNT
instructionSet:
- payeeAccount:
id: bef85a1c-b605-4b2e-bdb5-2d400f4d0bf3
type: EXTERNAL_WALLET
amount:
amount: '43'
assetId: USDC
- payeeAccount:
id: 3adc1f92-e791-44a8-9aee-7f31c2108b78
type: NETWORK_CONNECTION
amount:
amount: '4423'
assetId: USDC
responses:
'200':
description: >-
The payout instruction set creation succeeded and returns the
generated instruction set with a unique payout IDThe payout ID will
be used for executing the payout and checking the payout status.
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutResponse'
example:
payoutId: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7
paymentAccount:
id: EX_SUB2
type: EXCHANGE_ACCOUNT
createdAt: 1645365800
state: REQUESTED
status: REGISTERED
initMethod: API
instructionSet:
- id: 6ea4a016-536b-49af-b1a0-40b343ccf879
name: payee-wallet-name
payeeAccount:
id: bef85a1c-b605-4b2e-bdb5-2d400f4d0bf3
type: EXTERNAL_WALLET
amount:
amount: '43'
assetId: USDC
state: NOT_STARTED
transactions: []
- id: e783a79b-6acc-4d18-885d-ed533cad8eeb
name: payee-by-network
payeeAccount:
id: 3adc1f92-e791-44a8-9aee-7f31c2108b78
type: NETWORK_CONNECTION
amount:
amount: '4423.23'
assetId: USDC
state: NOT_STARTED
transactions: []
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: createPayout
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<PayoutResponse>> =
fireblocks.paymentsPayout.createPayout(paymentsPayoutApiCreatePayoutRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PayoutResponse>> response =
fireblocks.paymentsPayout().createPayout(createPayoutRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.payments_payout.create_payout(create_payout_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<PayoutResponse>> =
fireblocks.paymentsPayout.createPayout(paymentsPayoutApiCreatePayoutRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PayoutResponse>> response =
fireblocks.paymentsPayout().createPayout(createPayoutRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.payments_payout.create_payout(create_payout_request,
idempotency_key);
/payments/payout/{payoutId}/actions/execute:
post:
tags:
- Payments - Payout
summary: Execute a payout instruction set
description: >-
**Note:** The reference content in this section documents the Payments
Engine endpoint. The Payments Engine endpoints include APIs available
only for customers with Payments Engine enabled on their accounts. </br>
</br>These endpoints are currently in beta and might be subject to
changes.</br>
</br>If you want to learn more about Fireblocks Payments Engine, please
contact your Fireblocks Customer Success Manager or email
CSM@fireblocks.com. </br>
</br><b u>Execute a payout instruction set.</b> </u> </br>
</br>The instruction set will be verified and executed.</br>
<b><u>Source locking</br></b> </u>
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. </br>
You cannot execute the same payout instruction set more than once.
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- name: payoutId
description: >-
the payout id received from the creation of the payout instruction
set
in: path
schema:
type: string
required: true
example: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Executed the payout instruction set
content:
application/json:
schema:
$ref: '#/components/schemas/DispatchPayoutResponse'
example:
payoutId: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: executePayoutAction
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DispatchPayoutResponse>> =
fireblocks.paymentsPayout.executePayoutAction(paymentsPayoutApiExecutePayoutActionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DispatchPayoutResponse>> response =
fireblocks.paymentsPayout().executePayoutAction(payoutId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.payments_payout.execute_payout_action(payout_id,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<DispatchPayoutResponse>>
=
fireblocks.paymentsPayout.executePayoutAction(paymentsPayoutApiExecutePayoutActionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DispatchPayoutResponse>> response =
fireblocks.paymentsPayout().executePayoutAction(payoutId,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.payments_payout.execute_payout_action(payout_id,
idempotency_key);
/payments/payout/{payoutId}:
get:
tags:
- Payments - Payout
summary: Get the status of a payout instruction set
description: >-
**Note:** The reference content in this section documents the Payments
Engine endpoint. The Payments Engine endpoints include APIs available
only for customers with Payments Engine enabled on their accounts. </br>
</br>These endpoints are currently in beta and might be subject to
changes.</br>
</br>If you want to learn more about Fireblocks Payments Engine, please
contact your Fireblocks Customer Success Manager or email
CSM@fireblocks.com. </br>
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- name: payoutId
description: >-
the payout id received from the creation of the payout instruction
set
in: path
schema:
type: string
required: true
example: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7
responses:
'200':
description: >-
Returns the current status of the payout instruction set, including
the status of each payout instruction and the transactions created
in the process.
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutResponse'
example:
payoutId: 1fe3b61f-7e1f-4a19-aff0-4f0a524d44d7
paymentAccount:
id: EX_SUB3
type: EXCHANGE_ACCOUNT
createdAt: 1645365800
state: FINALIZED
status: DONE
initMethod: API
instructionSet:
- id: 6ea4a016-536b-49af-b1a0-40b343ccf879
name: payee-wallet-name
payeeAccount:
id: bef85a1c-b605-4b2e-bdb5-2d400f4d0bf3
type: EXTERNAL_WALLET
amount:
amount: '4312'
assetId: USDC
state: COMPLETED
transactions:
- id: 35a4b10c-1f83-4f0b-ba2a-da0e73be2d6e
state: COMPLETED
timestamp: 1645367429
- id: e783a79b-6acc-4d18-885d-ed533cad8eeb
name: payee-by-network
payeeAccount:
id: 3adc1f92-e791-44a8-9aee-7f31c2108b78
type: NETWORK_CONNECTION
amount:
amount: '4423.23'
assetId: USDC
state: COMPLETED
transactions:
- id: 4505e7d9-bfc7-41bc-9750-54311fcbbf26
state: COMPLETED
timestamp: 1645367449
reportUrl: >-
https://some-url.com/reports/cc5777c1-75a9-4337-aebd-f1f5a40a9391
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: No payout with the given payout ID exists.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getPayout
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<PayoutResponse>> =
fireblocks.paymentsPayout.getPayout(paymentsPayoutApiGetPayoutRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PayoutResponse>> response =
fireblocks.paymentsPayout().getPayout(payoutId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.payments_payout.get_payout(payout_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<PayoutResponse>> =
fireblocks.paymentsPayout.getPayout(paymentsPayoutApiGetPayoutRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PayoutResponse>> response =
fireblocks.paymentsPayout().getPayout(payoutId);
- lang: Python
source: response = fireblocks.payments_payout.get_payout(payout_id);
/payments/workflow_config:
post:
x-internal: true
tags:
- Payments - Flows
description: >-
Generate a new configuration ID to be used for initiating executions in
subsequent phases. This configuration should include the operations you
intend to incorporate into the workflow, such as TRANSFER, CONVERT, and
DISBURSE, in addition to your pre-screening preferences, which are
disabled by default.
Learn more about Fireblocks Payments - Flows in the following
[guide](https://developers.fireblocks.com/docs/payment-flows-copy).
</br>Endpoint Permission: Admin, Non-Signing Admin.
summary: Create payment flow configuration
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkflowConfigurationRequest'
responses:
'202':
description: Configuration is being generated
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowConfiguration'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: createFlowConfiguration
/payments/workflow_config/{configId}:
get:
x-internal: true
tags:
- Payments - Flows
description: >-
Retrieve a previously created workflow configuration using the specified
"configId".
</br>Endpoint Permission: Admin, Non-Signing Admin.
summary: Retrieve workflow configuration
parameters:
- name: configId
in: path
schema:
type: string
description: The created configuration unique identifier
example: 98822424-15ad-498c-9ef4-19c7430b4b6e
required: true
responses:
'200':
description: Returns a workflow configuration
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowConfiguration'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getFlowConfiguration
delete:
x-internal: true
tags:
- Payments - Flows
description: >-
Delete a configuration using the specified "configId".
</br>Endpoint Permission: Admin, Non-Signing Admin.
summary: Delete workflow configuration
parameters:
- name: configId
in: path
schema:
type: string
description: The created configuration unique identifier
example: 98822424-15ad-498c-9ef4-19c7430b4b6e
required: true
responses:
'200':
description: The specified configuration has been deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowConfigurationId'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: deleteFlowConfiguration
/payments/workflow_execution:
post:
x-internal: true
tags:
- Payments - Flows
description: >-
Validate the "workflow-config" previously created by utilizing the
unique "configId". This step requires the mandatory field amount, and
allows for modifications to other fields defined via the
"workflow-config" endpoint, including pre-screening preferences. A
response containing the "workflowExecutionId" and detailing the
validation status will be provided. Execution is ready when the
"workflow-execution" status is READY_FOR_LAUNCH, at which point it can
be initiated with "POST
/workflow-execution/{workflowExecutionId}/actions/execute".
Learn more about Fireblocks Payments - Flows in the following
[guide](https://developers.fireblocks.com/docs/payment-flows-copy).
</br>Endpoint Permission: Admin, Non-Signing Admin.
summary: Create workflow execution
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkflowExecutionRequest'
responses:
'200':
description: Workflow execution entity has been created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowExecution'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: createFlowExecution
/payments/workflow_execution/{workflowExecutionId}:
get:
x-internal: true
tags:
- Payments - Flows
description: >-
Retrieve details of a previously initiated workflow execution by
specifying the "workflowExecutionId"
</br>Endpoint Permission: Admin, Non-Signing Admin.
summary: Get workflow execution details
parameters:
- name: workflowExecutionId
in: path
schema:
type: string
required: true
responses:
'200':
description: Returns workflow execution by id with preview info
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowExecution'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getFlowExecution
/payments/workflow_execution/{workflowExecutionId}/actions/execute:
post:
x-internal: true
tags:
- Payments - Flows
description: >-
Launch the execution of a pre-configured workflow, identified by
"workflowExecutionId", once it reaches the READY_FOR_LAUNCH state. The
workflow undergoes several phases during execution -
EXECUTION_IN_PROGRESS - Marks the start of the workflow execution.
EXECUTION_COMPLETED or EXECUTION_FAILED - Indicates the execution has
reached a final state.
</br>Endpoint Permission: Admin, Non-Signing Admin.
summary: Execute the payments workflow
parameters:
- name: workflowExecutionId
in: path
schema:
type: string
required: true
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Workflow execution has been executed
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowExecution'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: launchFlowExecution
/gas_station:
get:
summary: Get gas station settings
description: >-
Returns gas station settings and ETH balance.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Gas Station
x-readme:
code-samples:
# - language: python
# code: gas_station_info = fireblocks.get_gas_station_info()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const gasStationInfo = await fireblocks.gasStationInfo();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GasStationPropertiesResponse>> =
fireblocks.gasStations.getGasStationInfo();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GasStationPropertiesResponse>>
response = fireblocks.gasStations().getGasStationInfo();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.gas_stations.get_gas_station_info();
name: Fireblocks SDK Python example
responses:
'200':
description: Gas Station properties
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GasStationPropertiesResponse'
default:
$ref: '#/components/responses/Error'
operationId: getGasStationInfo
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GasStationPropertiesResponse>> =
fireblocks.gasStations.getGasStationInfo();
- lang: Java
source: >-
CompletableFuture<ApiResponse<GasStationPropertiesResponse>>
response = fireblocks.gasStations().getGasStationInfo();
- lang: Python
source: response = fireblocks.gas_stations.get_gas_station_info();
/gas_station/{assetId}:
get:
summary: Get gas station settings by asset
description: >-
Returns gas station settings and balances for a requested asset.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Gas Station
x-readme:
code-samples:
# - language: python
# code: gas_station_info = fireblocks.get_gas_station_info(asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const gasStationInfo = await fireblocks.gasStationInfo(assetId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GasStationPropertiesResponse>> =
fireblocks.gasStations.getGasStationByAssetId(gasStationsApiGetGasStationByAssetIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GasStationPropertiesResponse>>
response =
fireblocks.gasStations().getGasStationByAssetId(assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.gas_stations.get_gas_station_by_asset_id(asset_id);
name: Fireblocks SDK Python example
parameters:
- in: path
required: true
name: assetId
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: ETH
responses:
'200':
description: Gas Station properties
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GasStationPropertiesResponse'
default:
$ref: '#/components/responses/Error'
operationId: getGasStationByAssetId
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GasStationPropertiesResponse>> =
fireblocks.gasStations.getGasStationByAssetId(gasStationsApiGetGasStationByAssetIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GasStationPropertiesResponse>>
response = fireblocks.gasStations().getGasStationByAssetId(assetId);
- lang: Python
source: >-
response =
fireblocks.gas_stations.get_gas_station_by_asset_id(asset_id);
/gas_station/configuration:
put:
summary: Edit gas station settings
description: >-
Configures gas station settings for ETH.
Learn more about the Fireblocks Gas Station in the following
[guide](https://developers.fireblocks.com/docs/work-with-gas-station).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Gas Station
x-readme:
code-samples:
# - language: python
# code: >-
# gas_station =
# fireblocks.set_gas_station_configuration(gas_threshold, gas_cap,
# max_gas_price, asset_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const gasStation = await
fireblocks.setGasStationConfiguration(gasThreshold, gasCap,
maxGasPrice)
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<EditGasStationConfigurationResponse>> =
fireblocks.gasStations.updateGasStationConfiguration(gasStationsApiUpdateGasStationConfigurationRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<EditGasStationConfigurationResponse>>
response =
fireblocks.gasStations().updateGasStationConfiguration(gasStationConfiguration,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.gas_stations.update_gas_station_configuration(gas_station_configuration,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GasStationConfiguration'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/EditGasStationConfigurationResponse'
default:
$ref: '#/components/responses/Error'
operationId: updateGasStationConfiguration
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<EditGasStationConfigurationResponse>> =
fireblocks.gasStations.updateGasStationConfiguration(gasStationsApiUpdateGasStationConfigurationRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<EditGasStationConfigurationResponse>>
response =
fireblocks.gasStations().updateGasStationConfiguration(gasStationConfiguration,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.gas_stations.update_gas_station_configuration(gas_station_configuration,
idempotency_key);
/gas_station/configuration/{assetId}:
put:
operationId: updateGasStationConfigurationByAssetId
summary: Edit gas station settings for an asset
description: >-
Configures gas station settings for a requested asset.
Learn more about the Fireblocks Gas Station in the following
[guide](https://developers.fireblocks.com/docs/work-with-gas-station).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Gas Station
parameters:
- in: path
required: true
name: assetId
description: The ID of the asset
schema:
type: string
x-fb-entity: asset
example: ETH
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GasStationConfiguration'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/EditGasStationConfigurationResponse'
default:
$ref: '#/components/responses/Error'
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<EditGasStationConfigurationResponse>> =
fireblocks.gasStations.updateGasStationConfigurationByAssetId(gasStationsApiUpdateGasStationConfigurationByAssetIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<EditGasStationConfigurationResponse>>
response =
fireblocks.gasStations().updateGasStationConfigurationByAssetId(gasStationConfiguration,
assetId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.gas_stations.update_gas_station_configuration_by_asset_id(gas_station_configuration,
asset_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<EditGasStationConfigurationResponse>> =
fireblocks.gasStations.updateGasStationConfigurationByAssetId(gasStationsApiUpdateGasStationConfigurationByAssetIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<EditGasStationConfigurationResponse>>
response =
fireblocks.gasStations().updateGasStationConfigurationByAssetId(gasStationConfiguration,
assetId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.gas_stations.update_gas_station_configuration_by_asset_id(gas_station_configuration,
asset_id, idempotency_key);
/management/user_groups:
get:
operationId: getUserGroups
summary: List user groups
description: >-
Get all user groups in your workspace
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UserGroupsResponse>> =
fireblocks.userGroupsBeta.getUserGroups();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<UserGroupResponse>>> response =
fireblocks.userGroupsBeta().getUserGroups();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.user_groups_beta.get_user_groups();
name: Fireblocks SDK Python example
tags:
- Workspace Management
responses:
'200':
description: List of the user groups in your workspace
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupsResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UserGroupsResponse>> =
fireblocks.userGroupsBeta.getUserGroups();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<UserGroupResponse>>> response =
fireblocks.userGroupsBeta().getUserGroups();
- lang: Python
source: response = fireblocks.user_groups_beta.get_user_groups();
post:
operationId: createUserGroup
summary: Create user group
description: >-
Create a new user group. Users with the Viewer role cannot be added to groups.
</br>Endpoint Permission: Admin, Non-Signing Admin.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateUserGroupResponse>> =
fireblocks.userGroupsBeta.createUserGroup(userGroupsBetaApiCreateUserGroupRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateUserGroupResponse>> response =
fireblocks.userGroupsBeta().createUserGroup(userGroupCreateRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.user_groups_beta.create_user_group(user_group_create_request,
idempotency_key);
name: Fireblocks SDK Python example
tags:
- Workspace Management
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupCreateRequest'
responses:
'201':
description: User group created and pending approval
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserGroupResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<CreateUserGroupResponse>>
=
fireblocks.userGroupsBeta.createUserGroup(userGroupsBetaApiCreateUserGroupRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateUserGroupResponse>> response =
fireblocks.userGroupsBeta().createUserGroup(userGroupCreateRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.user_groups_beta.create_user_group(user_group_create_request,
idempotency_key);
/management/user_groups/{groupId}:
get:
operationId: getUserGroup
summary: Get user group
description: >-
Get a user group by ID
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
parameters:
- in: path
required: true
name: groupId
description: The ID of the user group
schema:
type: string
example: 777d084b-e1d5-4040-8d73-38c8f8a321b2
responses:
'200':
description: User group
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupResponse'
default:
$ref: '#/components/responses/Error'
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<UserGroupResponse>> =
fireblocks.userGroupsBeta.getUserGroup(userGroupsBetaApiGetUserGroupRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UserGroupResponse>> response =
fireblocks.userGroupsBeta().getUserGroup(groupId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.user_groups_beta.get_user_group(group_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UserGroupResponse>> =
fireblocks.userGroupsBeta.getUserGroup(userGroupsBetaApiGetUserGroupRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UserGroupResponse>> response =
fireblocks.userGroupsBeta().getUserGroup(groupId);
- lang: Python
source: response = fireblocks.user_groups_beta.get_user_group(group_id);
put:
operationId: updateUserGroup
summary: Update user group
description: >-
Update a user group by ID
- Please note that this endpoint is available only for API keys with
Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
parameters:
- in: path
required: true
name: groupId
description: The ID of the user group
schema:
type: string
example: 777d084b-e1d5-4040-8d73-38c8f8a321b2
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupUpdateRequest'
responses:
'200':
description: User group updated and the changes are pending approval
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupCreateResponse'
default:
$ref: '#/components/responses/Error'
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<UserGroupCreateResponse>> =
fireblocks.userGroupsBeta.updateUserGroup(userGroupsBetaApiUpdateUserGroupRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UserGroupCreateResponse>> response =
fireblocks.userGroupsBeta().updateUserGroup(userGroupUpdateRequest,
groupId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.user_groups_beta.update_user_group(user_group_update_request,
group_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<UserGroupCreateResponse>>
=
fireblocks.userGroupsBeta.updateUserGroup(userGroupsBetaApiUpdateUserGroupRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UserGroupCreateResponse>> response =
fireblocks.userGroupsBeta().updateUserGroup(userGroupUpdateRequest,
groupId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.user_groups_beta.update_user_group(user_group_update_request,
group_id, idempotency_key);
delete:
operationId: deleteUserGroup
summary: Delete user group
description: >-
Delete a user group by ID.</br>
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
parameters:
- in: path
required: true
name: groupId
description: The ID of the user group
schema:
type: string
example: 777d084b-e1d5-4040-8d73-38c8f8a321b2
responses:
'204':
description: Request to delete user group submitted for approval
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.userGroupsBeta.deleteUserGroup(userGroupsBetaApiDeleteUserGroupRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.userGroupsBeta().deleteUserGroup(groupId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.user_groups_beta.delete_user_group(group_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.userGroupsBeta.deleteUserGroup(userGroupsBetaApiDeleteUserGroupRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.userGroupsBeta().deleteUserGroup(groupId);
- lang: Python
source: response = fireblocks.user_groups_beta.delete_user_group(group_id);
/users:
get:
summary: List users
deprecated: true
description: >-
DEPRECATED - please use `GET /management/users` instead
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
# - language: python
# code: users = fireblocks.get_users()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const users = await fireblocks.getUsers();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetUsersResponse>> =
fireblocks.users.getUsers();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<UserResponse>>> response =
fireblocks.users().getUsers();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.users.get_users();
name: Fireblocks SDK Python example
responses:
'200':
description: List of users
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetUsersResponse'
default:
$ref: '#/components/responses/Error'
operationId: getUsers
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetUsersResponse>> =
fireblocks.users.getUsers();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<UserResponse>>> response =
fireblocks.users().getUsers();
- lang: Python
source: response = fireblocks.users.get_users();
/audits:
get:
summary: Get audit logs
deprecated: true
description: >-
Deprecated. Please use the `GET /management/audit_logs` endpoint
instead.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: python
code: audits = fireblocks.get_audit_logs(TimePeriod.DAY)
name: Fireblocks SDK Python example
- language: javascript
code: const audits = await fireblocks.getAuditsLogs(TimePeriod.DAY);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetAuditLogsResponseDTO>> =
fireblocks.workspaceManagement.getAudits(workspaceManagementApiGetAuditsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetAuditLogsResponseDTO>> 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.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetAuditLogsResponse>>
=
fireblocks.auditLogs.getAuditLogs(auditLogsApiGetAuditLogsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetAuditLogsResponse>> response =
fireblocks.auditLogs().getAuditLogs(timePeriod, cursor);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.audit_logs.get_audit_logs(time_period,
cursor);
name: Fireblocks SDK Python example
parameters:
- in: query
name: timePeriod
required: false
description: The last time period to fetch audit logs
schema:
type: string
enum:
- DAY
- WEEK
- in: query
name: cursor
required: false
description: The next id to start fetch audit logs from
schema:
type: string
example: next_page_cursor
responses:
'200':
description: Audit logs from requested time period
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetAuditLogsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getAuditLogs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetAuditLogsResponse>> =
fireblocks.auditLogs.getAuditLogs(auditLogsApiGetAuditLogsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetAuditLogsResponse>> response =
fireblocks.auditLogs().getAuditLogs(timePeriod, cursor);
- lang: Python
source: >-
response = fireblocks.audit_logs.get_audit_logs(time_period,
cursor);
/off_exchange/add:
post:
summary: Add Collateral
description: >-
Add collateral and create deposit request.
Learn more about Fireblocks Off Exchange in the following
[guide](https://developers.fireblocks.com/docs/off-exchange).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Off Exchange
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddCollateralRequestBody'
responses:
'200':
description: A transaction object
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransactionResponse'
default:
$ref: '#/components/responses/Error'
operationId: addOffExchange
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.offExchanges.addOffExchange(offExchangesApiAddOffExchangeRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response
=
fireblocks.offExchanges().addOffExchange(addCollateralRequestBody,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.off_exchanges.add_off_exchange(add_collateral_request_body,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.offExchanges.addOffExchange(offExchangesApiAddOffExchangeRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response =
fireblocks.offExchanges().addOffExchange(addCollateralRequestBody,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.off_exchanges.add_off_exchange(add_collateral_request_body,
idempotency_key);
/off_exchange/remove:
post:
summary: Remove Collateral
description: >-
Remove collateral and create withdraw request.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Off Exchange
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveCollateralRequestBody'
responses:
'200':
description: A transaction object
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransactionResponse'
default:
$ref: '#/components/responses/Error'
operationId: removeOffExchange
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.offExchanges.removeOffExchange(offExchangesApiRemoveOffExchangeRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response
=
fireblocks.offExchanges().removeOffExchange(removeCollateralRequestBody,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.off_exchanges.remove_off_exchange(remove_collateral_request_body,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.offExchanges.removeOffExchange(offExchangesApiRemoveOffExchangeRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response =
fireblocks.offExchanges().removeOffExchange(removeCollateralRequestBody,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.off_exchanges.remove_off_exchange(remove_collateral_request_body,
idempotency_key);
/off_exchange/settlements/trader:
post:
summary: Create Settlement for a Trader
description: >-
Create settlement for a trader.
Learn more about Fireblocks Off Exchange in the following
[guide](https://developers.fireblocks.com/docs/off-exchange).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Off Exchange
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SettlementRequestBody'
responses:
'201':
description: A settlement object
content:
application/json:
schema:
$ref: '#/components/schemas/SettlementResponse'
default:
$ref: '#/components/responses/Error'
operationId: settleOffExchangeTrades
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SettlementResponse>> =
fireblocks.offExchanges.settleOffExchangeTrades(offExchangesApiSettleOffExchangeTradesRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SettlementResponse>> response =
fireblocks.offExchanges().settleOffExchangeTrades(settlementRequestBody,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.off_exchanges.settle_off_exchange_trades(settlement_request_body,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SettlementResponse>> =
fireblocks.offExchanges.settleOffExchangeTrades(offExchangesApiSettleOffExchangeTradesRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SettlementResponse>> response =
fireblocks.offExchanges().settleOffExchangeTrades(settlementRequestBody,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.off_exchanges.settle_off_exchange_trades(settlement_request_body,
idempotency_key);
/off_exchange/settlements/transactions:
get:
summary: Get Settlements Transactions
description: >-
Get settlements transactions from exchange.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Off Exchange
parameters:
- in: query
name: mainExchangeAccountId
required: true
schema:
type: string
responses:
'200':
description: A settlement transactions
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeSettlementTransactionsResponse'
default:
$ref: '#/components/responses/Error'
operationId: getOffExchangeSettlementTransactions
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetSettlementResponse>>
=
fireblocks.offExchanges.getOffExchangeSettlementTransactions(offExchangesApiGetOffExchangeSettlementTransactionsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetSettlementResponse>> response =
fireblocks.offExchanges().getOffExchangeSettlementTransactions(mainExchangeAccountId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.off_exchanges.get_off_exchange_settlement_transactions(main_exchange_account_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetSettlementResponse>> =
fireblocks.offExchanges.getOffExchangeSettlementTransactions(offExchangesApiGetOffExchangeSettlementTransactionsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetSettlementResponse>> response =
fireblocks.offExchanges().getOffExchangeSettlementTransactions(mainExchangeAccountId);
- lang: Python
source: >-
response =
fireblocks.off_exchanges.get_off_exchange_settlement_transactions(main_exchange_account_id);
/off_exchange/collateral_accounts/{mainExchangeAccountId}:
get:
summary: Find a specific collateral exchange account
description: >-
Returns a collateral account by mainExchangeAccountId.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Off Exchange
parameters:
- in: path
name: mainExchangeAccountId
required: true
description: >-
The id of the main exchange account for which the requested
collateral account is associated with
schema:
type: string
example: c2896695-4263-40af-a15c-4348b294b5c4
responses:
'200':
description: An ExchangeAccount object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeAccount'
default:
$ref: '#/components/responses/Error'
operationId: getOffExchangeCollateralAccounts
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ExchangeAccount>> =
fireblocks.offExchanges.getOffExchangeCollateralAccounts(offExchangesApiGetOffExchangeCollateralAccountsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ExchangeAccount>> response =
fireblocks.offExchanges().getOffExchangeCollateralAccounts(mainExchangeAccountId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.off_exchanges.get_off_exchange_collateral_accounts(main_exchange_account_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ExchangeAccount>> =
fireblocks.offExchanges.getOffExchangeCollateralAccounts(offExchangesApiGetOffExchangeCollateralAccountsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ExchangeAccount>> response =
fireblocks.offExchanges().getOffExchangeCollateralAccounts(mainExchangeAccountId);
- lang: Python
source: >-
response =
fireblocks.off_exchanges.get_off_exchange_collateral_accounts(main_exchange_account_id);
/webhooks/resend:
post:
summary: Resend failed webhooks
description: |
**Deprecation notice:** Webhooks v1 will be deprecated in March 2026. Please use the Developer Center in the Fireblocks Console to upgrade to Webhooks v2, which offers improved reliability, performance, and observability.
Resends all failed webhook notifications.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Webhooks
x-readme:
code-samples:
# - language: python
# code: result = fireblocks.resend_webhooks()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const result = await fireblocks.resendWebhooks();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ResendWebhooksResponse>> =
fireblocks.webhooks.resendWebhooks(webhooksApiResendWebhooksRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ResendWebhooksResponse>> response =
fireblocks.webhooks().resendWebhooks(idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.webhooks.resend_webhooks(idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ResendWebhooksResponse'
default:
$ref: '#/components/responses/Error'
operationId: resendWebhooks
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ResendWebhooksResponse>>
=
fireblocks.webhooks.resendWebhooks(webhooksApiResendWebhooksRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ResendWebhooksResponse>> response =
fireblocks.webhooks().resendWebhooks(idempotencyKey);
- lang: Python
source: response = fireblocks.webhooks.resend_webhooks(idempotency_key);
/webhooks/resend/{txId}:
post:
summary: Resend webhooks for a transaction by ID
description: |
**Deprecation notice:** Webhooks v1 will be deprecated in March 2026. Please use the Developer Center in the Fireblocks Console to upgrade to Webhooks v2, which offers improved reliability, performance, and observability.
Resends webhook notifications for a transaction by its unique identifier.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
tags:
- Webhooks
x-readme:
code-samples:
# - language: python
# code: >-
# result = fireblocks.resend_transaction_webhooks_by_id(txId,
# resend_created, resend_status_updated)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const result = await
fireblocks.resendTransactionWebhooksById(txId, resendCreated,
resendStatusUpdated);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ResendWebhooksByTransactionIdResponse>>
=
fireblocks.webhooks.resendTransactionWebhooks(webhooksApiResendTransactionWebhooksRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ResendWebhooksByTransactionIdResponse>>
response =
fireblocks.webhooks().resendTransactionWebhooks(resendTransactionWebhooksRequest,
txId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.webhooks.resend_transaction_webhooks(resend_transaction_webhooks_request,
tx_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: txId
required: true
description: The ID of the transaction for webhooks
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ResendTransactionWebhooksRequest'
responses:
'200':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ResendWebhooksByTransactionIdResponse'
default:
$ref: '#/components/responses/Error'
operationId: resendTransactionWebhooks
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ResendWebhooksByTransactionIdResponse>> =
fireblocks.webhooks.resendTransactionWebhooks(webhooksApiResendTransactionWebhooksRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ResendWebhooksByTransactionIdResponse>>
response =
fireblocks.webhooks().resendTransactionWebhooks(resendTransactionWebhooksRequest,
txId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.webhooks.resend_transaction_webhooks(resend_transaction_webhooks_request,
tx_id, idempotency_key);
/webhooks:
post:
operationId: createWebhook
summary: Create a new webhook
description: |
Creates a new webhook, which will be triggered on the specified events
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebhookRequest'
responses:
'201':
description: created new webhook successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.createWebhook(webhooksV2ApiCreateWebhookRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().createWebhook(createWebhookRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.webhooks_v2.create_webhook(create_webhook_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.createWebhook(webhooksV2ApiCreateWebhookRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().createWebhook(createWebhookRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.webhooks_v2.create_webhook(create_webhook_request,
idempotency_key);
get:
operationId: getWebhooks
summary: Get all webhooks
description: |
Get all webhooks (paginated).
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
parameters:
- name: order
required: false
in: query
description: ASC / DESC ordering (default DESC)
schema:
default: DESC
example: ASC
enum:
- ASC
- DESC
type: string
- name: pageCursor
required: false
in: query
description: Cursor of the required page
schema:
type: string
- name: pageSize
required: false
in: query
description: Maximum number of items on the page
schema:
minimum: 1
maximum: 100
default: 10
example: 10
type: number
responses:
'200':
description: A paginated response containing WebhookDto objects
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<WebhookPaginatedResponse>> =
fireblocks.webhooksV2.getWebhooks(webhooksV2ApiGetWebhooksRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<WebhookPaginatedResponse>> response
= fireblocks.webhooksV2().getWebhooks(order, pageCursor,
pageSize);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.webhooks_v2.get_webhooks(order,
page_cursor, page_size);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<WebhookPaginatedResponse>> =
fireblocks.webhooksV2.getWebhooks(webhooksV2ApiGetWebhooksRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<WebhookPaginatedResponse>> response =
fireblocks.webhooksV2().getWebhooks(order, pageCursor,
pageSize);
- lang: Python
source: >-
response = fireblocks.webhooks_v2.get_webhooks(order,
page_cursor, page_size);
/webhooks/{webhookId}:
get:
operationId: getWebhook
summary: Get webhook by id
description: |
Retrieve a webhook by its ID.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
parameters:
- name: webhookId
required: true
in: path
description: The unique identifier of the webhook
schema:
format: uuid
example: 44fcead0-7053-4831-a53a-df7fb90d440f
type: string
responses:
'200':
description: A webhook object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.getWebhook(webhooksV2ApiGetWebhookRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().getWebhook(webhookId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.webhooks_v2.get_webhook(webhook_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.getWebhook(webhooksV2ApiGetWebhookRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().getWebhook(webhookId);
- lang: Python
source: response = fireblocks.webhooks_v2.get_webhook(webhook_id);
patch:
operationId: updateWebhook
summary: Update webhook
description: |
Update a webhook by its ID.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
parameters:
- name: webhookId
required: true
in: path
description: The unique identifier of the webhook
schema:
format: uuid
example: 44fcead0-7053-4831-a53a-df7fb90d440f
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWebhookRequest'
responses:
'200':
description: Updated webhook object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.updateWebhook(webhooksV2ApiUpdateWebhookRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().updateWebhook(updateWebhookRequest,
webhookId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.webhooks_v2.update_webhook(update_webhook_request,
webhook_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.updateWebhook(webhooksV2ApiUpdateWebhookRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().updateWebhook(updateWebhookRequest,
webhookId);
- lang: Python
source: >-
response =
fireblocks.webhooks_v2.update_webhook(update_webhook_request,
webhook_id);
delete:
operationId: deleteWebhook
summary: Delete a webhook
description: |
Delete a webhook by its ID.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
parameters:
- name: webhookId
required: true
in: path
description: The unique identifier of the webhook
schema:
format: uuid
example: 44fcead0-7053-4831-a53a-df7fb90d440f
type: string
responses:
'200':
description: Deleted webhook object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.deleteWebhook(webhooksV2ApiDeleteWebhookRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().deleteWebhook(webhookId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.webhooks_v2.delete_webhook(webhook_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Webhook>> =
fireblocks.webhooksV2.deleteWebhook(webhooksV2ApiDeleteWebhookRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Webhook>> response =
fireblocks.webhooksV2().deleteWebhook(webhookId);
- lang: Python
source: response = fireblocks.webhooks_v2.delete_webhook(webhook_id);
/webhooks/{webhookId}/notifications:
get:
operationId: getNotifications
summary: Get all notifications by webhook ID
description: |
Get all notifications by webhook ID (paginated).
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
parameters:
- name: webhookId
required: true
in: path
schema:
format: uuid
example: 44fcead0-7053-4831-a53a-df7fb90d440f
type: string
- name: order
required: false
in: query
description: ASC / DESC ordering (default DESC)
schema:
default: DESC
example: ASC
enum:
- ASC
- DESC
type: string
- name: sortBy
required: false
in: query
description: Sort by field (id, createdAt, updatedAt, status, eventType, resourceId)
schema:
default: id
example: id
enum:
- id
- createdAt
- updatedAt
- status
- eventType
- resourceId
type: string
- name: pageCursor
required: false
in: query
description: Cursor of the required page
schema:
type: string
- name: pageSize
required: false
in: query
description: Maximum number of items on the page
schema:
minimum: 1
maximum: 100
default: 100
example: 10
type: number
- name: startTime
required: false
in: query
description: Start time in milliseconds since epoch to filter by notifications created after this time (default 31 days ago)
schema:
example: '1625097600000'
type: string
- name: endTime
required: false
in: query
description: End time in milliseconds since epoch to filter by notifications created before this time (default current time)
schema:
example: '1625017600000'
type: string
- name: statuses
required: false
in: query
description: List of notification statuses to filter by
schema:
example: COMPLETED
type: array
items:
$ref: '#/components/schemas/NotificationStatus'
- name: events
required: false
in: query
description: List of webhook event types to filter by
schema:
example:
- transaction.created
- transaction.status.updated
type: array
items:
$ref: '#/components/schemas/WebhookEvent'
- name: resourceId
required: false
in: query
description: Resource ID to filter by
schema:
type: string
responses:
'200':
description: A paginated response containing NotificationExternalDTO objects
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPaginatedResponse'
tags:
- Webhooks V2
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<NotificationPaginatedResponse>> =
fireblocks.webhooksV2.getNotifications(webhooksV2ApiGetNotificationsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<NotificationPaginatedResponse>>
response = fireblocks.webhooksV2().getNotifications(webhookId,
order, pageCursor, pageSize, createdStartDate, createdEndDate,
statuses, eventTypes, resourceId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.webhooks_v2.get_notifications(webhook_id, order,
page_cursor, page_size, created_start_date, created_end_date,
statuses, event_types, resource_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<NotificationPaginatedResponse>> =
fireblocks.webhooksV2.getNotifications(webhooksV2ApiGetNotificationsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<NotificationPaginatedResponse>>
response = fireblocks.webhooksV2().getNotifications(webhookId,
order, pageCursor, pageSize, createdStartDate, createdEndDate,
statuses, eventTypes, resourceId);
- lang: Python
source: >-
response = fireblocks.webhooks_v2.get_notifications(webhook_id,
order, page_cursor, page_size, created_start_date, created_end_date,
statuses, event_types, resource_id);
/webhooks/{webhookId}/notifications/{notificationId}/resend:
post:
operationId: resendNotificationById
summary: Resend notification by ID
description: |
Resend a notification by its ID.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor.
parameters:
- name: webhookId
description: The ID of the webhook
required: true
in: path
schema:
type: string
- name: notificationId
description: The ID of the notification
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
"202":
description: Resend notification request was accepted and is being processed
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
/webhooks/{webhookId}/notifications/resend_by_resource:
post:
operationId: resendNotificationsByResourceId
summary: Resend notifications by resource ID
description: |
Resend notifications by their resource ID.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
- name: webhookId
description: The ID of the webhook
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ResendNotificationsByResourceIdRequest'
responses:
"202":
description: Resend notifications by resource request was accepted and is being processed
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
/webhooks/{webhookId}/notifications/{notificationId}:
get:
operationId: getNotification
summary: Get notification by ID
description: |
Get a notification by its notification ID.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
parameters:
- name: includeData
description: Include the data of the notification
required: false
in: query
schema:
type: boolean
- name: webhookId
description: The ID of the webhook to fetch
required: true
in: path
schema:
type: string
- name: notificationId
description: The ID of the notification to fetch
required: true
in: path
schema:
type: string
responses:
'200':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationWithData'
tags:
- Webhooks V2
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<NotificationWithData>>
=
fireblocks.webhooksV2.getNotification(webhooksV2ApiGetNotificationRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<NotificationWithData>> response =
fireblocks.webhooksV2().getNotification(webhookId,
notificationId, includeData);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.webhooks_v2.get_notification(webhook_id,
notification_id, include_data);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<NotificationWithData>> =
fireblocks.webhooksV2.getNotification(webhooksV2ApiGetNotificationRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<NotificationWithData>> response =
fireblocks.webhooksV2().getNotification(webhookId,
notificationId, includeData);
- lang: Python
source: >-
response = fireblocks.webhooks_v2.get_notification(webhook_id,
notification_id, include_data);
/webhooks/{webhookId}/notifications/{notificationId}/attempts:
get:
operationId: getNotificationAttempts
summary: Get notification attempts
description:
Get notification attempts by notification ID.
parameters:
- name: webhookId
description: The ID of the webhook to fetch
required: true
in: path
schema:
type: string
- name: notificationId
description: The ID of the notification to fetch
required: true
in: path
schema:
type: string
- name: pageCursor
required: false
in: query
description: Cursor of the required page
schema:
type: string
- name: pageSize
required: false
in: query
description: Maximum number of items in the page
schema:
minimum: 1
maximum: 100
default: 10
example: 10
type: number
responses:
"200":
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationAttemptsPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-rate-limit-category: query
/webhooks/{webhookId}/notifications/resend_failed:
post:
operationId: resendFailedNotifications
summary: Resend failed notifications
description: |
Resend all failed notifications for a webhook in the last 24 hours.
**Endpoint Permission:** Owner, Admin, Non-Signing Admin, Signer, Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
- name: webhookId
description: The ID of the webhook
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ResendFailedNotificationsRequest'
responses:
"200":
description: No failed notifications to resend
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ResendFailedNotificationsResponse'
"202":
description: Resend failed notifications request was accepted and is being processed
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
Location:
$ref: '#/components/headers/Location'
content:
application/json:
schema:
$ref: '#/components/schemas/ResendFailedNotificationsResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-rate-limit-category: high_compute
/webhooks/{webhookId}/notifications/resend_failed/jobs/{jobId}:
get:
operationId: getResendJobStatus
summary: Get resend job status
description:
Get the status of a resend job.
parameters:
- name: webhookId
description: The ID of the webhook
required: true
in: path
schema:
type: string
- name: jobId
description: The ID of the resend job
required: true
in: path
schema:
type: string
responses:
"200":
description: Job status
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ResendFailedNotificationsJobStatusResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Webhooks V2
x-rate-limit-category: read
/tokenization/templates:
get:
operationId: getContractTemplates
summary: List all contract templates
description: >-
Return minimal representation of all the contract templates available
for the workspace.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: limit
required: false
in: query
description: Items per page (max 100)
schema:
minimum: 1
maximum: 100
default: 100
type: number
- name: offset
required: false
in: query
description: Paging offset
schema:
minimum: 0
default: 0
type: number
- name: pageCursor
required: false
in: query
description: Page cursor to get the next page
example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
schema:
type: string
- name: pageSize
required: false
in: query
description: >-
Number of items per page, requesting more then max will return max
items
example: 10
schema:
minimum: 1
maximum: 100
type: number
- name: type
required: false
in: query
description: >-
The type of the contract templates you wish to retrieve. Can accept
one type, more or none
example: FUNGIBLE_TOKEN
schema:
type: string
enum:
- FUNGIBLE_TOKEN
- NON_FUNGIBLE_TOKEN
- TOKEN_UTILITY
- name: initializationPhase
required: false
description: >-
For standalone contracts use ON_DEPLOYMENT and for contracts that
are behind proxies use POST_DEPLOYMENT
in: query
schema:
enum:
- ON_DEPLOYMENT
- POST_DEPLOYMENT
type: string
x-readme:
code-samples:
# - language: python
# code: contract_templates = fireblocks.get_contract_templates()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const contractTemplates = await fireblocks.getContractTemplates();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TemplatesPaginatedResponse>> =
fireblocks.contractTemplates.getContractTemplates(contractTemplatesApiGetContractTemplatesRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TemplatesPaginatedResponse>>
response =
fireblocks.contractTemplates().getContractTemplates(limit, offset,
pageCursor, pageSize, type, initializationPhase);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_templates.get_contract_templates(limit,
offset, page_cursor, page_size, type, initialization_phase);
name: Fireblocks SDK Python example
responses:
'200':
description: List of contract templates was returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TemplatesPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Templates
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<TemplatesPaginatedResponse>> =
fireblocks.contractTemplates.getContractTemplates(contractTemplatesApiGetContractTemplatesRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TemplatesPaginatedResponse>> response
= fireblocks.contractTemplates().getContractTemplates(limit, offset,
pageCursor, pageSize, type, initializationPhase);
- lang: Python
source: >-
response =
fireblocks.contract_templates.get_contract_templates(limit, offset,
page_cursor, page_size, type, initialization_phase);
post:
operationId: uploadContractTemplate
summary: Upload contract template
description: >-
Upload a new contract template. This contract template will be available
for the workspace.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContractUploadRequest'
x-readme:
code-samples:
# - language: python
# code: template = fireblocks.upload_contract_template(upload_request)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const contractTemplate = await
fireblocks.uploadContractTemplate(uploadRequest);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ContractTemplateDto>> =
fireblocks.contractTemplates.uploadContractTemplate(contractTemplatesApiUploadContractTemplateRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ContractTemplateDto>> response =
fireblocks.contractTemplates().uploadContractTemplate(contractUploadRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_templates.upload_contract_template(contract_upload_request,
idempotency_key);
name: Fireblocks SDK Python example
responses:
'201':
description: Contract was uploaded successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ContractTemplateDto'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Templates
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ContractTemplateDto>> =
fireblocks.contractTemplates.uploadContractTemplate(contractTemplatesApiUploadContractTemplateRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ContractTemplateDto>> response =
fireblocks.contractTemplates().uploadContractTemplate(contractUploadRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.contract_templates.upload_contract_template(contract_upload_request,
idempotency_key);
/tokenization/templates/{contractTemplateId}:
get:
operationId: getContractTemplateById
summary: Return contract template by id
description: >-
Return detailed information about the contract template.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
parameters:
- name: contractTemplateId
required: true
in: path
description: The Contract Template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: contract_template = fireblocks.get_contract_template(contract_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const contractTemplate = await
fireblocks.getContractTemplate(contractId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ContractTemplateDto>> =
fireblocks.contractTemplates.getContractTemplateById(contractTemplatesApiGetContractTemplateByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ContractTemplateDto>> response =
fireblocks.contractTemplates().getContractTemplateById(contractTemplateId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_templates.get_contract_template_by_id(contract_template_id);
name: Fireblocks SDK Python example
responses:
'200':
description: Contract template was returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ContractTemplateDto'
'404':
description: Could not find contract.
content:
application/json:
schema:
$ref: '#/components/schemas/HttpContractDoesNotExistError'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Templates
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ContractTemplateDto>> =
fireblocks.contractTemplates.getContractTemplateById(contractTemplatesApiGetContractTemplateByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ContractTemplateDto>> response =
fireblocks.contractTemplates().getContractTemplateById(contractTemplateId);
- lang: Python
source: >-
response =
fireblocks.contract_templates.get_contract_template_by_id(contract_template_id);
delete:
operationId: deleteContractTemplateById
summary: Delete a contract template by id
description: >-
Delete a contract by id. allowed only for private contract templates.
Notice: it is irreversible!
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor
parameters:
- name: contractTemplateId
required: true
in: path
description: The Contract Template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: fireblocks.deleteContractTemplate(contract_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: await fireblocks.getContractTemplate(contractId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.contractTemplates.deleteContractTemplateById(contractTemplatesApiDeleteContractTemplateByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.contractTemplates().deleteContractTemplateById(contractTemplateId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_templates.delete_contract_template_by_id(contract_template_id);
name: Fireblocks SDK Python example
responses:
'204':
description: Contract was deleted successfully
'404':
description: Could not find contract.
content:
application/json:
schema:
$ref: '#/components/schemas/HttpContractDoesNotExistError'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Templates
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.contractTemplates.deleteContractTemplateById(contractTemplatesApiDeleteContractTemplateByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.contractTemplates().deleteContractTemplateById(contractTemplateId);
- lang: Python
source: >-
response =
fireblocks.contract_templates.delete_contract_template_by_id(contract_template_id);
/tokenization/templates/{contractTemplateId}/constructor:
get:
operationId: getConstructorByContractTemplateId
summary: Return contract template's constructor
description: >-
Return contract template's constructor ABI.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: contractTemplateId
required: true
in: path
description: The Contract Template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
schema:
type: string
- name: withDocs
required: false
in: query
description: true if you want to get the abi with its docs
schema:
default: false
type: boolean
x-readme:
code-samples:
# - language: python
# code: >-
# contract_constructor_abi =
# fireblocks.get_contract_template_constructor(contract_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const contractConstructorAbi = await
fireblocks.getContractTemplateConstructor(contractId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<AbiFunction>> =
fireblocks.contractTemplates.getConstructorByContractTemplateId(contractTemplatesApiGetConstructorByContractTemplateIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<AbiFunction>> response =
fireblocks.contractTemplates().getConstructorByContractTemplateId(contractTemplateId,
withDocs);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_templates.get_constructor_by_contract_template_id(contract_template_id,
with_docs);
name: Fireblocks SDK Python example
responses:
'200':
description: Contract template's constructor ABI was returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/AbiFunction'
'404':
description: Could not find contract.
content:
application/json:
schema:
$ref: '#/components/schemas/HttpContractDoesNotExistError'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Templates
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<AbiFunction>> =
fireblocks.contractTemplates.getConstructorByContractTemplateId(contractTemplatesApiGetConstructorByContractTemplateIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<AbiFunction>> response =
fireblocks.contractTemplates().getConstructorByContractTemplateId(contractTemplateId,
withDocs);
- lang: Python
source: >-
response =
fireblocks.contract_templates.get_constructor_by_contract_template_id(contract_template_id,
with_docs);
/tokenization/templates/{contractTemplateId}/function:
get:
operationId: getFunctionAbiByContractTemplateId
summary: Return contract template's function
description: >-
Return contract template`s function ABI by signature.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: contractTemplateId
required: true
in: path
description: The Contract Template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
schema:
type: string
- name: functionSignature
description: The contract's function signature
required: true
example: initialize(string,string,address)
in: query
schema:
type: string
responses:
'200':
description: Contract template`s function ABI was returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/AbiFunction'
'404':
description: Could not find contract.
content:
application/json:
schema:
$ref: '#/components/schemas/HttpContractDoesNotExistError'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Templates
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<AbiFunction>> =
fireblocks.contractTemplates.getFunctionAbiByContractTemplateId(contractTemplatesApiGetFunctionAbiByContractTemplateIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<AbiFunction>> response =
fireblocks.contractTemplates().getFunctionAbiByContractTemplateId(contractTemplateId,
functionSignature);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_templates.get_function_abi_by_contract_template_id(contract_template_id,
function_signature);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<AbiFunction>> =
fireblocks.contractTemplates.getFunctionAbiByContractTemplateId(contractTemplatesApiGetFunctionAbiByContractTemplateIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<AbiFunction>> response =
fireblocks.contractTemplates().getFunctionAbiByContractTemplateId(contractTemplateId,
functionSignature);
- lang: Python
source: >-
response =
fireblocks.contract_templates.get_function_abi_by_contract_template_id(contract_template_id,
function_signature);
/tokenization/templates/{contractTemplateId}/deploy:
post:
operationId: deployContract
summary: Deploy contract
description: >-
Deploy a new contract by contract template id. If you wish to deploy a
token (ERC20, ERC721 etc), and create asset please use `POST /tokenization`.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Approver, and Editor,
Viewer.
parameters:
- name: contractTemplateId
required: true
in: path
description: The Contract Template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContractDeployRequest'
x-readme:
code-samples:
# - language: python
# code: >-
# response = fireblocks.deploy_contract(contract_id,
# contract_deploy_request)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const { txId } = await fireblocks.deployContract(contractId,
contractDeployRequest);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ContractDeployResponse>> =
fireblocks.contractTemplates.deployContract(contractTemplatesApiDeployContractRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ContractDeployResponse>> response =
fireblocks.contractTemplates().deployContract(contractDeployRequest,
contractTemplateId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_templates.deploy_contract(contract_deploy_request,
contract_template_id, idempotency_key);
name: Fireblocks SDK Python example
responses:
'202':
description: Contract was deployed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ContractDeployResponse'
'404':
description: Could not find contract.
content:
application/json:
schema:
$ref: '#/components/schemas/HttpContractDoesNotExistError'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Templates
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ContractDeployResponse>>
=
fireblocks.contractTemplates.deployContract(contractTemplatesApiDeployContractRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ContractDeployResponse>> response =
fireblocks.contractTemplates().deployContract(contractDeployRequest,
contractTemplateId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.contract_templates.deploy_contract(contract_deploy_request,
contract_template_id, idempotency_key);
/tokenization/contracts:
get:
operationId: getDeployedContracts
summary: List deployed contracts data
description: >-
Return a filtered lean representation of the deployed contracts data on
all blockchains (paginated).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: pageCursor
required: false
in: query
description: Page cursor to get the next page
example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
schema:
type: string
- name: pageSize
required: false
in: query
description: >-
Number of items per page, requesting more then max will return max
items
example: 10
schema:
minimum: 1
maximum: 100
type: number
- name: contractAddress
required: false
in: query
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
schema:
type: string
- name: baseAssetId
description: The blockchain asset ID
example: ETH
required: false
in: query
schema:
type: string
- name: contractTemplateId
required: false
description: The contract template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
in: query
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: >-
# deployed_contracts =
# fireblocks.get_contracts_by_filter(template_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const deployedContracts = await
fireblocks.getContractsByFilter(templateId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DeployedContractsPaginatedResponse>> =
fireblocks.deployedContracts.getDeployedContracts(deployedContractsApiGetDeployedContractsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DeployedContractsPaginatedResponse>>
response =
fireblocks.deployedContracts().getDeployedContracts(pageCursor,
pageSize, contractAddress, baseAssetId, contractTemplateId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.deployed_contracts.get_deployed_contracts(page_cursor,
page_size, contract_address, base_asset_id, contract_template_id);
name: Fireblocks SDK Python example
responses:
'200':
description: Deployed contracts fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DeployedContractsPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Deployed Contracts
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<DeployedContractsPaginatedResponse>> =
fireblocks.deployedContracts.getDeployedContracts(deployedContractsApiGetDeployedContractsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DeployedContractsPaginatedResponse>>
response =
fireblocks.deployedContracts().getDeployedContracts(pageCursor,
pageSize, contractAddress, baseAssetId, contractTemplateId);
- lang: Python
source: >-
response =
fireblocks.deployed_contracts.get_deployed_contracts(page_cursor,
page_size, contract_address, base_asset_id, contract_template_id);
/tokenization/contracts/{id}:
get:
operationId: getDeployedContractById
summary: Return deployed contract data by id
description: >-
Return deployed contract data by id.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: id
required: true
in: path
description: The deployed contract data identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: deployed_contracts = fireblocks.get_contract_by_id(contract_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const deployedContracts = await
fireblocks.getContractById(contractId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DeployedContractResponseDto>> =
fireblocks.deployedContracts.getDeployedContractById(deployedContractsApiGetDeployedContractByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DeployedContractResponseDto>>
response =
fireblocks.deployedContracts().getDeployedContractById(id);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.deployed_contracts.get_deployed_contract_by_id(id);
name: Fireblocks SDK Python example
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeployedContractResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Deployed Contracts
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<DeployedContractResponseDto>> =
fireblocks.deployedContracts.getDeployedContractById(deployedContractsApiGetDeployedContractByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DeployedContractResponseDto>> response
= fireblocks.deployedContracts().getDeployedContractById(id);
- lang: Python
source: >-
response =
fireblocks.deployed_contracts.get_deployed_contract_by_id(id);
/tokenization/contracts/{assetId}/{contractAddress}:
get:
operationId: getDeployedContractByAddress
summary: Return deployed contract data
description: >-
Return deployed contract data by blockchain native asset id and contract
address.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: contractAddress
required: true
in: path
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
schema:
type: string
- name: assetId
description: The blockchain base asset ID
example: ETH
required: true
in: path
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: >-
# deployed_contract =
# fireblocks.get_contract_by_address(base_asset_id,
# contract_address)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const deployedContract = await
fireblocks.getContractByAddress(baseAssetId, contractAddress);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DeployedContractResponseDto>> =
fireblocks.deployedContracts.getDeployedContractByAddress(deployedContractsApiGetDeployedContractByAddressRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DeployedContractResponseDto>>
response =
fireblocks.deployedContracts().getDeployedContractByAddress(contractAddress,
assetId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.deployed_contracts.get_deployed_contract_by_address(contract_address,
asset_id);
name: Fireblocks SDK Python example
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeployedContractResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Deployed Contracts
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<DeployedContractResponseDto>> =
fireblocks.deployedContracts.getDeployedContractByAddress(deployedContractsApiGetDeployedContractByAddressRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DeployedContractResponseDto>> response
=
fireblocks.deployedContracts().getDeployedContractByAddress(contractAddress,
assetId);
- lang: Python
source: >-
response =
fireblocks.deployed_contracts.get_deployed_contract_by_address(contract_address,
asset_id);
/tokenization/contracts/fetch_abi:
post:
operationId: fetchContractAbi
summary: Fetch the contract ABI
description: >-
Fetch the ABI. If not found fetch the ABI from the block explorer.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FetchAbiRequestDto'
responses:
'200':
description: Contract ABI found.
content:
application/json:
schema:
$ref: '#/components/schemas/ContractWithAbiDto'
'404':
description: Contract ABI not found
default:
$ref: '#/components/responses/Error'
tags:
- Deployed Contracts
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ContractWithAbiDto>> =
fireblocks.deployedContracts.fetchContractAbi(deployedContractsApiFetchContractAbiRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ContractWithAbiDto>> response =
fireblocks.deployedContracts().fetchContractAbi(fetchAbiRequestDto,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.deployed_contracts.fetch_contract_abi(fetch_abi_request_dto,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ContractWithAbiDto>> =
fireblocks.deployedContracts.fetchContractAbi(deployedContractsApiFetchContractAbiRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ContractWithAbiDto>> response =
fireblocks.deployedContracts().fetchContractAbi(fetchAbiRequestDto,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.deployed_contracts.fetch_contract_abi(fetch_abi_request_dto,
idempotency_key);
/tokenization/contracts/abi:
post:
operationId: addContractABI
summary: Save contract ABI
description: >-
Save contract ABI for the tenant.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddAbiRequestDto'
responses:
'200':
description: Contract ABI created (or updated) for the tenant
content:
application/json:
schema:
$ref: '#/components/schemas/ContractWithAbiDto'
'409':
description: Contract ABI already exists.
default:
$ref: '#/components/responses/Error'
tags:
- Deployed Contracts
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ContractWithAbiDto>> =
fireblocks.deployedContracts.addContractABI(deployedContractsApiAddContractABIRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ContractWithAbiDto>> response =
fireblocks.deployedContracts().addContractABI(addAbiRequestDto,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.deployed_contracts.add_contract_a_b_i(add_abi_request_dto,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ContractWithAbiDto>> =
fireblocks.deployedContracts.addContractABI(deployedContractsApiAddContractABIRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ContractWithAbiDto>> response =
fireblocks.deployedContracts().addContractABI(addAbiRequestDto,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.deployed_contracts.add_contract_a_b_i(add_abi_request_dto,
idempotency_key);
/tokenization/tokens:
post:
operationId: issueNewToken
summary: Issue a new token
description: >-
Facilitates the creation of a new token, supporting both EVM-based and
Stellar/Ripple platforms. For EVM, it deploys the corresponding contract
template to the blockchain and links the token to the workspace. For
Stellar/Ripple, it links a newly created token directly to the workspace
without deploying a contract. Returns the token link with status
"PENDING" until the token is deployed or "SUCCESS" if no deployment is
needed.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTokenRequestDto'
x-readme:
code-samples:
# - language: python
# code: token = fireblocks.issue_new_token(payload)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const token = await fireblocks.issueNewToken(payload);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<TokenLinkDto>> =
fireblocks.tokenization.issueNewToken(tokenizationApiIssueNewTokenRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TokenLinkDto>> response =
fireblocks.tokenization().issueNewToken(createTokenRequestDto,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.tokenization.issue_new_token(create_token_request_dto,
idempotency_key);
name: Fireblocks SDK Python example
responses:
'201':
description: Token was created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TokenLinkDto'
'409':
description: Asset already exists
content:
application/json:
schema:
$ref: '#/components/schemas/AssetAlreadyExistHttpError'
tags:
- Tokenization
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TokenLinkDto>> =
fireblocks.tokenization.issueNewToken(tokenizationApiIssueNewTokenRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TokenLinkDto>> response =
fireblocks.tokenization().issueNewToken(createTokenRequestDto,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.tokenization.issue_new_token(create_token_request_dto,
idempotency_key);
get:
operationId: getLinkedTokens
summary: List all linked tokens
description: |-
Return all linked tokens (paginated).
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- name: pageCursor
required: false
in: query
description: Page cursor to get the next page
example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
schema:
type: string
- name: pageSize
required: false
in: query
description: >-
Number of items per page, requesting more then max will return max
items
example: 10
schema:
minimum: 1
maximum: 100
type: number
- name: status
required: false
in: query
description: A comma separated list of statuses to filter. Default is "COMPLETED"
example: COMPLETED
schema: {}
x-readme:
code-samples:
# - language: python
# code: linked_tokens = fireblocks.get_linked_tokens(payload)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const linkedTokens = await fireblocks.getLinkedTokens(payload);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TokensPaginatedResponse>> =
fireblocks.tokenization.getLinkedTokens(tokenizationApiGetLinkedTokensRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TokensPaginatedResponse>> response =
fireblocks.tokenization().getLinkedTokens(pageCursor, pageSize,
status);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.tokenization.get_linked_tokens(page_cursor,
page_size, status);
name: Fireblocks SDK Python example
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TokensPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TokensPaginatedResponse>>
=
fireblocks.tokenization.getLinkedTokens(tokenizationApiGetLinkedTokensRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TokensPaginatedResponse>> response =
fireblocks.tokenization().getLinkedTokens(pageCursor, pageSize,
status);
- lang: Python
source: >-
response = fireblocks.tokenization.get_linked_tokens(page_cursor,
page_size, status);
/tokenization/tokens/link:
post:
operationId: link
summary: Link a contract
description: >-
Link a contract.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, and Signer.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TokenLinkRequestDto'
responses:
'200':
description: Token linked successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TokenLinkDto'
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TokenLinkDto'
'404':
description: Could not find the underlying contract to link to
'409':
description: Token link for {refId} already exists
content:
application/json:
schema:
$ref: '#/components/schemas/TokenLinkExistsHttpError'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<TokenLinkDto>> =
fireblocks.tokenization.link(tokenizationApiLinkRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TokenLinkDto>> response =
fireblocks.tokenization().link(tokenLinkRequestDto,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.tokenization.link(token_link_request_dto,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TokenLinkDto>> =
fireblocks.tokenization.link(tokenizationApiLinkRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TokenLinkDto>> response =
fireblocks.tokenization().link(tokenLinkRequestDto, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.tokenization.link(token_link_request_dto,
idempotency_key);
/tokenization/collections:
post:
operationId: createNewCollection
summary: Create a new collection
description: >-
Create a new collection and link it as a token.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionDeployRequestDto'
responses:
'201':
description: Collection was created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionLinkDto'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<CollectionLinkDto>> =
fireblocks.tokenization.createNewCollection(tokenizationApiCreateNewCollectionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CollectionLinkDto>> response =
fireblocks.tokenization().createNewCollection(collectionDeployRequestDto,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.tokenization.create_new_collection(collection_deploy_request_dto,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<CollectionLinkDto>> =
fireblocks.tokenization.createNewCollection(tokenizationApiCreateNewCollectionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CollectionLinkDto>> response =
fireblocks.tokenization().createNewCollection(collectionDeployRequestDto,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.tokenization.create_new_collection(collection_deploy_request_dto,
idempotency_key);
get:
operationId: getLinkedCollections
summary: Get collections
description: >-
Get collections (paginated).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: pageCursor
required: false
in: query
description: >-
Page cursor to get the next page, for example -
"MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA=="
schema:
type: string
- name: pageSize
required: false
in: query
description: >-
Number of items per page (max 100), requesting more then 100 will
return 100 items
example: 10
schema:
minimum: 1
maximum: 100
default: 100
type: number
- name: status
required: false
in: query
description: A comma separated list of statuses to filter. Default is "COMPLETED"
example: COMPLETED
schema: {}
responses:
'200':
description: Collection fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetLinkedCollectionsPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetLinkedCollectionsPaginatedResponse>>
=
fireblocks.tokenization.getLinkedCollections(tokenizationApiGetLinkedCollectionsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetLinkedCollectionsPaginatedResponse>>
response =
fireblocks.tokenization().getLinkedCollections(pageCursor,
pageSize, status);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.tokenization.get_linked_collections(page_cursor,
page_size, status);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetLinkedCollectionsPaginatedResponse>> =
fireblocks.tokenization.getLinkedCollections(tokenizationApiGetLinkedCollectionsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetLinkedCollectionsPaginatedResponse>>
response =
fireblocks.tokenization().getLinkedCollections(pageCursor, pageSize,
status);
- lang: Python
source: >-
response =
fireblocks.tokenization.get_linked_collections(page_cursor,
page_size, status);
/tokenization/collections/{id}:
get:
operationId: getCollectionById
summary: Get a collection by id
description: >-
Get a collection by id.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: id
required: true
in: path
description: The token link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
schema:
type: string
responses:
'200':
description: Collection fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionLinkDto'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<CollectionLinkDto>> =
fireblocks.tokenization.getCollectionById(tokenizationApiGetCollectionByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CollectionLinkDto>> response =
fireblocks.tokenization().getCollectionById(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.tokenization.get_collection_by_id(id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<CollectionLinkDto>> =
fireblocks.tokenization.getCollectionById(tokenizationApiGetCollectionByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CollectionLinkDto>> response =
fireblocks.tokenization().getCollectionById(id);
- lang: Python
source: response = fireblocks.tokenization.get_collection_by_id(id);
delete:
operationId: unlinkCollection
summary: Delete a collection link
description: >-
Delete a collection link.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- name: id
required: true
in: path
description: The token link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
schema:
type: string
responses:
'204':
description: Collection unlinked successfully
'404':
description: Link for collection does not exist
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.tokenization.unlinkCollection(tokenizationApiUnlinkCollectionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.tokenization().unlinkCollection(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.tokenization.unlink_collection(id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.tokenization.unlinkCollection(tokenizationApiUnlinkCollectionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.tokenization().unlinkCollection(id);
- lang: Python
source: response = fireblocks.tokenization.unlink_collection(id);
/tokenization/collections/{id}/tokens/{tokenId}:
get:
operationId: fetchCollectionTokenDetails
summary: Get collection token details
description: >-
Get collection token details by id.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: id
required: true
in: path
description: The collection link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
schema:
type: string
- name: tokenId
required: true
in: path
description: The tokenId as it appears on the blockchain
example: '1'
schema:
type: string
responses:
'200':
description: Collection token details were fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionLinkDto'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<CollectionLinkDto>> =
fireblocks.tokenization.fetchCollectionTokenDetails(tokenizationApiFetchCollectionTokenDetailsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CollectionLinkDto>> response =
fireblocks.tokenization().fetchCollectionTokenDetails(id,
tokenId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.tokenization.fetch_collection_token_details(id,
token_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<CollectionLinkDto>> =
fireblocks.tokenization.fetchCollectionTokenDetails(tokenizationApiFetchCollectionTokenDetailsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CollectionLinkDto>> response =
fireblocks.tokenization().fetchCollectionTokenDetails(id, tokenId);
- lang: Python
source: >-
response =
fireblocks.tokenization.fetch_collection_token_details(id,
token_id);
/tokenization/collections/{id}/tokens/mint:
post:
operationId: mintCollectionToken
summary: Mint tokens
description: >-
Mint tokens and upload metadata. This endpoint only works for NFTs using the ERC721f and ERC1155f standards.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, Editor.
parameters:
- name: id
required: true
in: path
description: The token link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionMintRequestDto'
responses:
'202':
description: Tokens minted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionMintResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CollectionMintResponseDto>> =
fireblocks.tokenization.mintCollectionToken(tokenizationApiMintCollectionTokenRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CollectionMintResponseDto>> response
=
fireblocks.tokenization().mintCollectionToken(collectionMintRequestDto,
id, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.tokenization.mint_collection_token(collection_mint_request_dto,
id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CollectionMintResponseDto>> =
fireblocks.tokenization.mintCollectionToken(tokenizationApiMintCollectionTokenRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CollectionMintResponseDto>> response =
fireblocks.tokenization().mintCollectionToken(collectionMintRequestDto,
id, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.tokenization.mint_collection_token(collection_mint_request_dto,
id, idempotency_key);
/tokenization/collections/{id}/tokens/burn:
post:
operationId: burnCollectionToken
summary: Burn tokens
description: >-
Burn tokens in a collection.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- name: id
required: true
in: path
description: The collection link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionBurnRequestDto'
responses:
'202':
description: Tokens burned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionBurnResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CollectionBurnResponseDto>> =
fireblocks.tokenization.burnCollectionToken(tokenizationApiBurnCollectionTokenRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CollectionBurnResponseDto>> response
=
fireblocks.tokenization().burnCollectionToken(collectionBurnRequestDto,
id, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.tokenization.burn_collection_token(collection_burn_request_dto,
id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CollectionBurnResponseDto>> =
fireblocks.tokenization.burnCollectionToken(tokenizationApiBurnCollectionTokenRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CollectionBurnResponseDto>> response =
fireblocks.tokenization().burnCollectionToken(collectionBurnRequestDto,
id, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.tokenization.burn_collection_token(collection_burn_request_dto,
id, idempotency_key);
/tokenization/tokens/{id}:
delete:
operationId: unlink
summary: Unlink a token
description: >-
Unlink a token. The token will be unlinked from the workspace. The token
will not be deleted on chain nor the refId, only the link to the
workspace will be removed.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- name: id
required: true
in: path
description: The token link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: token = fireblocks.unlink_token(token_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const token = await fireblocks.unlinkToken(tokenId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.tokenization.unlink(tokenizationApiUnlinkRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.tokenization().unlink(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.tokenization.unlink(id);
name: Fireblocks SDK Python example
responses:
'200':
description: Token unlinked successfully
content: {}
'204':
description: ''
content: {}
'404':
description: Link did not exist
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.tokenization.unlink(tokenizationApiUnlinkRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.tokenization().unlink(id);
- lang: Python
source: response = fireblocks.tokenization.unlink(id);
get:
operationId: getLinkedToken
summary: Return a linked token
description: |-
Return a linked token, with its status and metadata.
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- name: id
required: true
in: path
description: The token link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: token = fireblocks.get_linked_token(token_id)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const token = await fireblocks.getLinkedToken(tokenId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<TokenLinkDto>> =
fireblocks.tokenization.getLinkedToken(tokenizationApiGetLinkedTokenRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TokenLinkDto>> response =
fireblocks.tokenization().getLinkedToken(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.tokenization.get_linked_token(id);
name: Fireblocks SDK Python example
responses:
'200':
description: Token fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TokenLinkDto'
default:
$ref: '#/components/responses/Error'
tags:
- Tokenization
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TokenLinkDto>> =
fireblocks.tokenization.getLinkedToken(tokenizationApiGetLinkedTokenRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TokenLinkDto>> response =
fireblocks.tokenization().getLinkedToken(id);
- lang: Python
source: response = fireblocks.tokenization.get_linked_token(id);
/tags:
post:
summary: Create a tag
description: |
Create a new tag.
**Endpoint Permissions:**
- For protected tags: Owner, Admin, Non-Signing Admin.
- For non-protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver.
tags:
- Tags
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTagRequest'
responses:
"200":
description: A tag object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
operationId: createTag
get:
summary: Get list of tags
description: Retrieve a paged list of all tags according to filters.
tags:
- Tags
x-rate-limit-category: query
parameters:
- in: query
name: pageCursor
description: Page cursor to get the next page.
example: "MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA=="
required: false
schema:
type: string
- in: query
name: pageSize
required: false
description: Maximum number of items in the page
schema:
type: number
minimum: 1
maximum: 100
default: 100
- in: query
name: label
required: false
description: Label prefix to filter by.
example: VIP
schema:
type: string
- in: query
name: tagIds
required: false
description: List of tag IDs to filter by.
schema:
type: array
items:
type: string
format: uuid
maxItems: 100
- in: query
name: includePendingApprovalsInfo
required: false
description: Include pending approval information for each tag
schema:
type: boolean
default: false
responses:
"200":
description: A TagsPagedResponse object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/TagsPagedResponse'
operationId: getTags
/tags/approval_requests/{id}:
get:
summary: Get an approval request by id
description: Get an approval request by id
tags:
- Approval Requests
x-rate-limit-category: read
parameters:
- in: path
name: id
required: true
schema:
type: string
format: numeric
example: "12345"
responses:
"200":
description: Approval request fetched successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ApprovalRequest'
"401":
description: Unauthorized
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: Approval request not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: getApprovalRequest
/tags/approval_requests/{id}/cancel:
post:
summary: Cancel an approval request by ID
description: |
Cancel an approval request by id.
- Can only cancel requests in the `PENDING` status.
- Returns `202 Accepted` when the cancellation is processed.
tags:
- Approval Requests
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
- in: path
name: id
required: true
schema:
type: string
format: numeric
example: "12345"
responses:
"202":
description: Approval request cancellation processed
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
"401":
description: Unauthorized
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: Approval request not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
"409":
description: Invalid approval request state - cannot cancel request that is not in PENDING status
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
operationId: cancelApprovalRequest
/tags/{tagId}:
get:
summary: Get a tag
description: Retrieve an existing tag by ID.
tags:
- Tags
x-rate-limit-category: read
parameters:
- in: path
name: tagId
required: true
description: The ID of the tag to retrieve
schema:
type: string
format: uuid
responses:
"200":
description: A tag object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
operationId: getTag
patch:
summary: Update a tag
description: |
Update an existing specified tag.
**Endpoint Permissions:**
- For protected tags: Owner, Admin, Non-Signing Admin.
- For non-protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver.
tags:
- Tags
x-rate-limit-category: write
parameters:
- in: path
name: tagId
required: true
description: The ID of the tag to update
schema:
type: string
format: uuid
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTagRequest'
responses:
"200":
description: A tag object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
operationId: updateTag
delete:
summary: Delete a tag
description: |
Delete the specified tag.
**Endpoint Permissions:**
- For protected tags: Owner, Admin, Non-Signing Admin.
- For non-protected tags: Owner, Admin, Non-Signing Admin, Signer, Editor, Approver.
tags:
- Tags
x-rate-limit-category: write
parameters:
- in: path
name: tagId
required: true
description: The ID of the tag to retrieve
schema:
type: string
format: uuid
responses:
"204":
description: Tag was deleted successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
operationId: deleteTag
/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions:
get:
operationId: getDeployedContractAbi
summary: Return deployed contract's ABI
description: >-
Return deployed contract's ABI by blockchain native asset id and
contract address.
</br>Endpoint Permission: Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, and Viewer.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
- name: contractAddress
required: true
in: path
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
schema:
type: string
- name: baseAssetId
description: The blockchain base assetId
required: true
in: path
example: ETH
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: >-
# deployed_contract_abi =
# fireblocks.get_contracts_abi(base_asset_id, contract_address)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const deployedContractAbi = await
fireblocks.getContractAbi(baseAssetId, contractAddress);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ContractAbiResponseDto>> =
fireblocks.contractInteractions.getDeployedContractAbi(contractInteractionsApiGetDeployedContractAbiRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ContractAbiResponseDto>> response =
fireblocks.contractInteractions().getDeployedContractAbi(contractAddress,
baseAssetId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_interactions.get_deployed_contract_abi(contract_address,
base_asset_id, idempotency_key);
name: Fireblocks SDK Python example
responses:
'200':
description: Contract ABI response
content:
application/json:
schema:
$ref: '#/components/schemas/ContractAbiResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Interactions
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ContractAbiResponseDto>>
=
fireblocks.contractInteractions.getDeployedContractAbi(contractInteractionsApiGetDeployedContractAbiRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ContractAbiResponseDto>> response =
fireblocks.contractInteractions().getDeployedContractAbi(contractAddress,
baseAssetId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.contract_interactions.get_deployed_contract_abi(contract_address,
base_asset_id, idempotency_key);
/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/read:
post:
operationId: readCallFunction
summary: Call a read function
description: >-
Call a read function on a deployed contract by blockchain native asset
id and contract address.
</br>Endpoint Permission: Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
- name: contractAddress
required: true
in: path
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
schema:
type: string
- name: baseAssetId
description: The blockchain base assetId
required: true
in: path
example: ETH
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: >-
# read_response =
# fireblocks.read_contract_call_function(base_asset_id,
# contract_address, payload)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const readResponse= await
fireblocks.readContractCallFunction(baseAssetId, contractAddress,
payload);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ParameterWithValueList>> =
fireblocks.contractInteractions.readCallFunction(contractInteractionsApiReadCallFunctionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<ParameterWithValue>>> response
=
fireblocks.contractInteractions().readCallFunction(readCallFunctionDto,
contractAddress, baseAssetId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_interactions.read_call_function(read_call_function_dto,
contract_address, base_asset_id, idempotency_key);
name: Fireblocks SDK Python example
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReadCallFunctionDto'
responses:
'200':
description: Read Call Retrieved Successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ParameterWithValueList'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Interactions
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ParameterWithValueList>>
=
fireblocks.contractInteractions.readCallFunction(contractInteractionsApiReadCallFunctionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<ParameterWithValue>>> response =
fireblocks.contractInteractions().readCallFunction(readCallFunctionDto,
contractAddress, baseAssetId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.contract_interactions.read_call_function(read_call_function_dto,
contract_address, base_asset_id, idempotency_key);
/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/write:
post:
operationId: writeCallFunction
summary: Call a write function
description: >-
Call a write function on a deployed contract by blockchain native asset
id and contract address. This creates an onchain transaction, thus it is
an async operation. It returns a transaction id that can be polled for
status check.
</br>Endpoint Permission: Owner, Admin, Non-Signing Admin, Signer, and Editor.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
- name: contractAddress
required: true
in: path
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
schema:
type: string
- name: baseAssetId
description: The blockchain base assetId
required: true
in: path
example: ETH
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: >-
# write_function_response =
# fireblocks.write_contract_call_function(base_asset_id,
# contract_address, payload)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const writeFunctionResponse = await
fireblocks.writeContractCallFunction(baseAssetId, contractAddress,
payload);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<WriteCallFunctionResponseDto>> =
fireblocks.contractInteractions.writeCallFunction(contractInteractionsApiWriteCallFunctionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<WriteCallFunctionResponseDto>>
response =
fireblocks.contractInteractions().writeCallFunction(writeCallFunctionDto,
contractAddress, baseAssetId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_interactions.write_call_function(write_call_function_dto,
contract_address, base_asset_id, idempotency_key);
name: Fireblocks SDK Python example
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WriteCallFunctionDto'
responses:
'202':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WriteCallFunctionResponseDto'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Interactions
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<WriteCallFunctionResponseDto>> =
fireblocks.contractInteractions.writeCallFunction(contractInteractionsApiWriteCallFunctionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<WriteCallFunctionResponseDto>>
response =
fireblocks.contractInteractions().writeCallFunction(writeCallFunctionDto,
contractAddress, baseAssetId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.contract_interactions.write_call_function(write_call_function_dto,
contract_address, base_asset_id, idempotency_key);
/contract_interactions/base_asset_id/{baseAssetId}/tx_hash/{txHash}/receipt:
get:
operationId: getTransactionReceipt
summary: Get transaction receipt
description: >-
Retrieve the transaction receipt by blockchain native asset ID and
transaction hash
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, and Viewer.
parameters:
- name: baseAssetId
required: true
in: path
description: The blockchain base assetId
example: ETH_TEST6
schema:
type: string
- name: txHash
required: true
in: path
description: The transaction hash
example: '0x3b015ca0518c55d7bff4e3f5aa5d0431705771553ba8a95cf20e34cb597f57f6'
schema:
type: string
x-readme:
code-samples:
# - language: python
# code: >-
# transaction_receipt =
# fireblocks.get_transaction_receipt(base_asset_id, tx_hash)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const transactionReceipt = await
fireblocks.getTransactionReceipt(baseAssetId, txHash);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TransactionReceiptResponse>> =
fireblocks.contractInteractions.getTransactionReceipt(contractInteractionsApiGetTransactionReceiptRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TransactionReceiptResponse>>
response =
fireblocks.contractInteractions().getTransactionReceipt(baseAssetId,
txHash);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.contract_interactions.get_transaction_receipt(base_asset_id,
tx_hash);
name: Fireblocks SDK Python example
responses:
'200':
description: Retrieved The Transaction Receipt Successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionReceiptResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Contract Interactions
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<TransactionReceiptResponse>> =
fireblocks.contractInteractions.getTransactionReceipt(contractInteractionsApiGetTransactionReceiptRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TransactionReceiptResponse>> response
=
fireblocks.contractInteractions().getTransactionReceipt(baseAssetId,
txHash);
- lang: Python
source: >-
response =
fireblocks.contract_interactions.get_transaction_receipt(base_asset_id,
tx_hash);
/staking/chains:
get:
operationId: getChains
summary: List supported chains for Fireblocks Staking
description: >-
Return an alphabetical list of supported chains.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<StakingGetChainsResponse>> =
fireblocks.staking.getChains();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<ChainDescriptor>>> response =
fireblocks.staking().getChains();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_chains();
name: Fireblocks SDK Python example
responses:
'200':
description: An array of supported chains was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetChainsResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<StakingGetChainsResponse>> =
fireblocks.staking.getChains();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<ChainDescriptor>>> response =
fireblocks.staking().getChains();
- lang: Python
source: response = fireblocks.staking.get_chains();
/staking/chains/{chainDescriptor}/merge:
post:
operationId: mergeStakeAccounts
summary: Merge operation on Solana stake accounts
description: >-
Perform a Solana Merge of two active stake accounts into one.
Endpoint permissions: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "SOL"/"SOL_TEST") to use
example: SOL
schema:
enum:
- SOL
- SOL_TEST
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MergeStakeAccountsRequest'
responses:
"201":
description: >-
Merge action has been executed successfully on vault and is
associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/MergeStakeAccountsResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
/staking/chains/{chainDescriptor}/chainInfo:
get:
operationId: getChainInfo
summary: Get chain-specific staking summary
description: >-
Return chain-specific, staking-related information summary (e.g. epoch
details, lockup durations, estimated rewards, etc.).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ChainInfoResponse>> =
fireblocks.staking.getChainInfo(stakingApiGetChainInfoRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ChainInfoResponse>> response =
fireblocks.staking().getChainInfo(chainDescriptor);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_chain_info(chain_descriptor);
name: Fireblocks SDK Python example
parameters:
- name: chainDescriptor
required: true
in: path
description: >-
The protocol identifier (e.g. "ETH"/"SOL"/"MATIC"/"STETH_ETH") to
use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
responses:
'200':
description: Chain specific info summary was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ChainInfoResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ChainInfoResponse>> =
fireblocks.staking.getChainInfo(stakingApiGetChainInfoRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ChainInfoResponse>> response =
fireblocks.staking().getChainInfo(chainDescriptor);
- lang: Python
source: response = fireblocks.staking.get_chain_info(chain_descriptor);
/staking/chains/{chainDescriptor}/stake:
post:
operationId: stake
summary: Initiate Stake Operation
description: Perform a chain-specific Stake.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StakeRequest'
responses:
'201':
description: >-
Stake action has been executed successfully on vault and is
associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakeResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<StakeResponse>> =
fireblocks.staking.stake(stakingApiStakeRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<StakeResponse>> response =
fireblocks.staking().stake(stakeRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.staking.stake(stake_request,
chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<StakeResponse>> =
fireblocks.staking.stake(stakingApiStakeRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<StakeResponse>> response =
fireblocks.staking().stake(stakeRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.staking.stake(stake_request, chain_descriptor,
idempotency_key);
/staking/chains/{chainDescriptor}/unstake:
post:
operationId: unstake
summary: Execute an Unstake operation
description: Execute an Unstake operation
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UnstakeRequest'
responses:
'201':
description: >-
Unstake action has been executed successfully on vault and is
associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.unstake(stakingApiUnstakeRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().unstake(unstakeRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.staking.unstake(unstake_request,
chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.unstake(stakingApiUnstakeRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().unstake(unstakeRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.staking.unstake(unstake_request,
chain_descriptor, idempotency_key);
/staking/chains/{chainDescriptor}/withdraw:
post:
operationId: withdraw
summary: Execute a Withdraw operation
description: Perform a chain-specific Withdraw.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "ETH"/"SOL"/"MATIC") to use
example: SOL
schema:
$ref: '#/components/schemas/ChainDescriptor'
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WithdrawRequest'
responses:
'201':
description: >-
Withdraw action has been executed successfully on vault and is
associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.withdraw(stakingApiWithdrawRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().withdraw(withdrawRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.staking.withdraw(withdraw_request,
chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.withdraw(stakingApiWithdrawRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().withdraw(withdrawRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.staking.withdraw(withdraw_request,
chain_descriptor, idempotency_key);
/staking/chains/{chainDescriptor}/claim_rewards:
post:
operationId: claimRewards
summary: Execute a Claim Rewards operation
description: Perform a chain-specific Claim Rewards.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "MATIC"/"SOL") to use
example: MATIC
schema:
enum:
- MATIC
- SOL
- SOL_TEST
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClaimRewardsRequest'
responses:
'201':
description: >-
Claim Rewards action has been executed successfully on vault and is
associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.claimRewards(stakingApiClaimRewardsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().claimRewards(claimRewardsRequest,
chainDescriptor, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.staking.claim_rewards(claim_rewards_request,
chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.claimRewards(stakingApiClaimRewardsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().claimRewards(claimRewardsRequest,
chainDescriptor, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.staking.claim_rewards(claim_rewards_request,
chain_descriptor, idempotency_key);
/staking/chains/{chainDescriptor}/split:
post:
operationId: split
summary: Execute a Split operation
description: Perform a SOL/SOL_TEST Split on a stake account.
parameters:
- name: chainDescriptor
required: true
in: path
description: The protocol identifier (e.g. "SOL"/"SOL_TEST") to use
example: SOL
schema:
enum:
- SOL
- SOL_TEST
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SplitRequest'
responses:
'201':
description: >-
Split action has been executed successfully on vault and is
associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SplitResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SplitResponse>> =
fireblocks.staking.split(stakingApiSplitRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SplitResponse>> response =
fireblocks.staking().split(splitRequest, chainDescriptor,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.staking.split(split_request,
chain_descriptor, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SplitResponse>> =
fireblocks.staking.split(stakingApiSplitRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SplitResponse>> response =
fireblocks.staking().split(splitRequest, chainDescriptor,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.staking.split(split_request, chain_descriptor,
idempotency_key);
/staking/positions:
get:
operationId: getAllDelegations
summary: List staking positions details
description: >-
Return detailed information on all staking positions, including the
staked amount, rewards, status and more.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<StakingGetAllDelegationsResponse>> =
fireblocks.staking.getAllDelegations(stakingApiGetAllDelegationsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<Delegation>>> response =
fireblocks.staking().getAllDelegations(chainDescriptor);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.staking.get_all_delegations(chain_descriptor);
name: Fireblocks SDK Python example
parameters:
- name: chainDescriptor
required: false
in: query
example: SOL
description: >-
Use "ETH" / "SOL" / "MATIC" / "STETH_ETH" in order to obtain
information related to the specific blockchain network or retrieve
information about all chains that have data available by providing
no argument.
schema:
$ref: '#/components/schemas/ChainDescriptor'
responses:
'200':
description: An array of position data was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetAllDelegationsResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<StakingGetAllDelegationsResponse>> =
fireblocks.staking.getAllDelegations(stakingApiGetAllDelegationsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<Delegation>>> response =
fireblocks.staking().getAllDelegations(chainDescriptor);
- lang: Python
source: response = fireblocks.staking.get_all_delegations(chain_descriptor);
/staking/positions/summary:
get:
operationId: getSummary
summary: Get staking summary details
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<DelegationSummary>> =
fireblocks.staking.getSummary();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DelegationSummary>> response =
fireblocks.staking().getSummary();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_summary();
name: Fireblocks SDK Python example
description: >-
Return a summary of all vaults, categorized by their status (active,
inactive), the total amounts staked and total rewards per-chain.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
responses:
'200':
description: A summary for all vaults were returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DelegationSummary'
example:
active:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.077345939'
inactive:
- chainDescriptor: ETH
amount: '0'
- chainDescriptor: SOL
amount: '0'
rewardsAmount:
- chainDescriptor: ETH
amount: '0.036604667'
- chainDescriptor: SOL
amount: '0.001345939'
totalStaked:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.077345939'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<DelegationSummary>> =
fireblocks.staking.getSummary();
- lang: Java
source: >-
CompletableFuture<ApiResponse<DelegationSummary>> response =
fireblocks.staking().getSummary();
- lang: Python
source: response = fireblocks.staking.get_summary();
/staking/positions/summary/vaults:
get:
operationId: getSummaryByVault
summary: Get staking summary details by vault
description: >-
Return a summary for each vault, categorized by their status (active,
inactive), the total amounts staked and total rewards per-chain.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<StakingGetSummaryByVaultResponse>> =
fireblocks.staking.getSummaryByVault();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<StakingGetSummaryByVaultResponse>>
response = fireblocks.staking().getSummaryByVault();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_summary_by_vault();
name: Fireblocks SDK Python example
responses:
'200':
description: A summary for each vault were returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetSummaryByVaultResponse'
example:
'0':
active:
- chainDescriptor: SOL
amount: '0.015202376'
inactive:
- chainDescriptor: SOL
amount: '0'
rewardsAmount:
- chainDescriptor: SOL
amount: '0.000202376'
totalStaked:
- chainDescriptor: SOL
amount: '0.015202376'
'1':
active:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.011191566'
inactive:
- chainDescriptor: ETH
amount: '0'
- chainDescriptor: SOL
amount: '0'
rewardsAmount:
- chainDescriptor: ETH
amount: '0.036604667'
- chainDescriptor: SOL
amount: '0.000191566'
totalStaked:
- chainDescriptor: ETH
amount: '64.036604667'
- chainDescriptor: SOL
amount: '0.011191566'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<StakingGetSummaryByVaultResponse>> =
fireblocks.staking.getSummaryByVault();
- lang: Java
source: >-
CompletableFuture<ApiResponse<StakingGetSummaryByVaultResponse>>
response = fireblocks.staking().getSummaryByVault();
- lang: Python
source: response = fireblocks.staking.get_summary_by_vault();
/staking/positions/{id}:
get:
operationId: getDelegationById
summary: Get staking position details
description: >-
Return detailed information on a staking position, including the staked
amount, rewards, status and more.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Delegation>> =
fireblocks.staking.getDelegationById(stakingApiGetDelegationByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Delegation>> response =
fireblocks.staking().getDelegationById(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_delegation_by_id(id);
name: Fireblocks SDK Python example
parameters:
- name: id
required: true
in: path
description: The unique identifier of the staking position
schema:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
responses:
'200':
description: Position data was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Delegation'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Delegation>> =
fireblocks.staking.getDelegationById(stakingApiGetDelegationByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Delegation>> response =
fireblocks.staking().getDelegationById(id);
- lang: Python
source: response = fireblocks.staking.get_delegation_by_id(id);
/staking/providers:
get:
operationId: getProviders
summary: List staking providers details
description: >-
Return information on all the available staking providers.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<StakingGetProvidersResponse>> =
fireblocks.staking.getProviders();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<Provider>>> response =
fireblocks.staking().getProviders();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.staking.get_providers();
name: Fireblocks SDK Python example
responses:
'200':
description: An array of supported providers was returned successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/StakingGetProvidersResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<StakingGetProvidersResponse>> =
fireblocks.staking.getProviders();
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<Provider>>> response =
fireblocks.staking().getProviders();
- lang: Python
source: response = fireblocks.staking.get_providers();
/staking/providers/{providerId}/approveTermsOfService:
post:
operationId: approveTermsOfServiceByProviderId
summary: Approve staking terms of service
description: >-
Approve the terms of service of the staking provider.
This must be called before performing a staking action for the first
time with this provider.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.approveTermsOfServiceByProviderId(stakingApiApproveTermsOfServiceByProviderIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().approveTermsOfServiceByProviderId(providerId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.staking.approve_terms_of_service_by_provider_id(provider_id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: providerId
required: true
in: path
description: The unique identifier of the staking provider
example: kiln
schema:
$ref: '#/components/schemas/StakingProvider'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: >-
The terms of service have been successfully approved and is
associated with 201 status code.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Staking
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.staking.approveTermsOfServiceByProviderId(stakingApiApproveTermsOfServiceByProviderIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.staking().approveTermsOfServiceByProviderId(providerId,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.staking.approve_terms_of_service_by_provider_id(provider_id,
idempotency_key);
/trading/providers:
get:
operationId: getTradingProviders
summary: Get providers
x-rate-limit-category: query
tags:
- Trading (Beta)
parameters:
- name: pageSize
in: query
required: false
description: Page size for pagination.
schema:
type: integer
minimum: 1
maximum: 100
default: 20
- name: pageCursor
in: query
required: false
description: Page cursor for pagination.
schema:
type: string
description: |
Retrieve a list of all available external providers supporting trading activities through the platform.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
**Endpoint Permission:** Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
responses:
200:
description: Providers response
content:
application/json:
schema:
$ref: '#/components/schemas/ProvidersListResponse'
401:
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
/trading/quotes:
post:
operationId: createQuote
summary: Create a quote
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
tags:
- Trading (Beta)
description: |
Generate a time-limited quote for asset conversion, providing exchange rate and amount calculations.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateQuote'
responses:
201:
description: Quote created
content:
application/json:
schema:
$ref: '#/components/schemas/QuotesResponse'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
401:
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
/trading/orders:
post:
operationId: createOrder
summary: Create an order
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
tags:
- Trading (Beta)
description: |
Create an order to buy or sell an asset. If no source is given, an external source will be use.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Editor.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrderRequest'
responses:
202:
description: Order creation response
content:
application/json:
schema:
$ref: '#/components/schemas/OrderDetails'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
401:
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
get:
operationId: getOrders
summary: Get orders
x-rate-limit-category: read
tags:
- Trading (Beta)
description: |
Retrieve a paginated list of orders with optional filtering by account, provider, status, and time range.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
parameters:
- name: pageSize
in: query
required: true
description: pageSize for pagination.
schema:
type: integer
minimum: 1
maximum: 100
- name: pageCursor
in: query
required: false
schema:
type: string
minLength: 1
- name: order
in: query
required: false
description: ASC / DESC ordering (default DESC)
schema:
type: string
default: DESC
enum:
- ASC
- DESC
- name: accountId
in: query
required: false
explode: true
style: form
description: Filter by accountId.
schema:
type: array
items:
type: string
minLength: 1
- name: providerId
in: query
required: false
explode: true
style: form
description: Filter by providerId.
schema:
type: array
items:
type: string
minLength: 1
- name: statuses
in: query
required: false
explode: true
style: form
description: Filter by order status.
schema:
type: array
items:
$ref: '#/components/schemas/OrderStatus'
- name: startTime
in: query
schema:
type: integer
minimum: 0
- name: endTime
in: query
schema:
type: integer
minimum: 0
- name: assetConversionType
in: query
schema:
type: string
enum: [DIGITAL_ONLY, FIAT]
description: Filter by asset conversion type.
responses:
200:
description: Orders response
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrdersResponse'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
401:
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
/trading/orders/{orderId}:
get:
operationId: getOrder
summary: Get order details
x-rate-limit-category: read
tags:
- Trading (Beta)
description: |
Retrieve detailed information about a specific order by its ID.
**Note:** These endpoints are currently in beta and might be subject to changes. If you want to participate and learn more about the Fireblocks Trading, please contact your Fireblocks Customer Success Manager or send an email to CSM@fireblocks.com.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
parameters:
- name: orderId
in: path
required: true
description: The ID of the order to fetch.
schema:
type: string
minLength: 1
responses:
200:
description: Order response
content:
application/json:
schema:
$ref: '#/components/schemas/OrderDetails'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
401:
description: Unauthorized. Missing / invalid JWT token in Authorization header.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
5XX:
description: Internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/TradingErrorResponse'
/admin_quorum:
put:
x-internal: true
operationId: setAdminQuorumThreshold
summary: Update admin quorum threshold
description: |-
Update admin quorum threshold.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
# - language: python
# code: >-
# result =
# fireblocks.set_admin_quorum_threshold(adminQuorumThreshold)
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: >-
const result = await
fireblocks.setAdminQuorumThreshold(adminQuorumThreshold)
name: Fireblocks SDK Javascript example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetAdminQuorumThresholdRequest'
responses:
'202':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetAdminQuorumThresholdResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: python
label: Python
source: result = fireblocks.set_admin_quorum_threshold(adminQuorumThreshold)
- lang: javascript
label: Javascript
source: >
const result = await
fireblocks.setAdminQuorumThreshold(adminQuorumThreshold)
/nfts/ownership/tokens:
put:
operationId: updateOwnershipTokens
summary: Refresh vault account tokens
description: >-
Updates all tokens and balances per blockchain and vault account.
Learn more about Fireblocks NFT management in the following
[guide](https://developers.fireblocks.com/reference/deploy-an-nft-collection).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateOwnershipTokens(nFTsApiUpdateOwnershipTokensRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateOwnershipTokens(blockchainDescriptor,
vaultAccountId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.n_f_ts.update_ownership_tokens(blockchain_descriptor,
vault_account_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: blockchainDescriptor
required: true
in: query
description: Blockchain descriptor filter
schema:
enum:
- ETH
- ETH_TEST5
- ETH_TEST6
- POLYGON
- POLYGON_TEST_MUMBAI
- AMOY_POLYGON_TEST
- BASECHAIN_ETH
- BASECHAIN_ETH_TEST5
- ETHERLINK
- ETHERLINK_TEST
- MANTLE
- MANTLE_TEST
- GUN_GUNZILLA_TEST
- ETH_SONEIUM
- SONEIUM_MINATO_TEST
- IOTX_IOTEX
type: string
- name: vaultAccountId
required: true
in: query
description: Vault account filter
schema:
type: string
example: '0'
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'202':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateOwnershipTokens(nFTsApiUpdateOwnershipTokensRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateOwnershipTokens(blockchainDescriptor,
vaultAccountId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.n_f_ts.update_ownership_tokens(blockchain_descriptor,
vault_account_id, idempotency_key);
get:
operationId: getOwnershipTokens
summary: List all owned tokens (paginated)
description: >-
Returns all tokens and their data in your workspace.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- name: blockchainDescriptor
required: false
in: query
description: Blockchain descriptor filter
schema:
enum:
- ETH
- ETH_TEST3
- ETH_TEST5
- ETH_TEST6
- POLYGON
- POLYGON_TEST_MUMBAI
- AMOY_POLYGON_TEST
- XTZ
- XTZ_TEST
- BASECHAIN_ETH
- BASECHAIN_ETH_TEST3
- BASECHAIN_ETH_TEST5
- ETHERLINK
- ETHERLINK_TEST
- MANTLE
- MANTLE_TEST
- GUN_GUNZILLA_TEST
- ETH_SONEIUM
- SONEIUM_MINATO_TEST
- IOTX_IOTEX
type: string
- name: vaultAccountIds
required: false
in: query
description: >-
A comma separated list of Vault Account IDs. Up to 100 are allowed
in a single request. This field will be ignored when
walletType=END_USER_WALLET or ncwId is provided.
schema:
type: string
example: '0'
- name: ncwId
required: false
in: query
description: Non-Custodial Wallet ID
schema:
type: string
example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539
- name: ncwAccountIds
required: false
in: query
description: >-
A comma separated list of Non-Custodial account IDs. Up to 100 are
allowed in a single request. This field will be ignored when
walletType=VAULT_ACCOUNT or ncwId is not provided.
schema:
type: string
example: 0,1,2
- name: walletType
required: false
in: query
description: Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`
schema:
default: VAULT_ACCOUNT
enum:
- VAULT_ACCOUNT
- END_USER_WALLET
type: string
- name: ids
required: false
in: query
description: >-
A comma separated list of NFT IDs. Up to 100 are allowed in a single
request.
schema:
type: string
example: >-
NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f,
NFT-aaabdababb0ecb3495beb17d8540a513c966bbb
- name: collectionIds
required: false
in: query
description: >-
A comma separated list of collection IDs. Up to 100 are allowed in a
single request.
schema:
type: string
example: >-
0x2953399124F0cBB46d2CbACD8A89cF0599974963,
0xababab9124F0cBB46d2CbACD8A89cF0599ababab
- name: pageCursor
required: false
in: query
description: Page cursor to fetch
schema:
type: string
example: MjAyNC0wNS0yNiAxMDowNTowMy4zNjggKzAwOjAw:NjkxNDI3Mw==
- name: pageSize
required: false
in: query
description: Items per page (max 100)
schema:
minimum: 1
maximum: 100
type: number
example: 20
- name: sort
required: false
in: query
description: >-
Sort by param, it can be one param or a list of params separated by
comma
schema:
type: array
items:
type: string
enum:
- ownershipLastUpdateTime
- name
- collection.name
- blockchainDescriptor
- name: order
required: false
in: query
description: >-
Order direction, it can be `ASC` for ascending or `DESC` for
descending
schema:
default: ASC
enum:
- DESC
- ASC
type: string
- name: status
required: false
in: query
description: Token ownership status
schema:
default: LISTED
enum:
- LISTED
- ARCHIVED
type: string
- name: search
required: false
in: query
description: >-
Search owned tokens and their collections. Possible criteria for
search: token name and id within the contract/collection,
collection name, blockchain descriptor and name.
schema:
maximum: 100
type: string
example: MyNFTName
- name: spam
required: false
in: query
description: Token ownership spam status.
schema:
enum:
- 'true'
- 'false'
- all
type: string
responses:
'200':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetOwnershipTokensResponse'
tags:
- NFTs
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetOwnershipTokensResponse>> =
fireblocks.nFTs.getOwnershipTokens(nFTsApiGetOwnershipTokensRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetOwnershipTokensResponse>>
response =
fireblocks.nFTs().getOwnershipTokens(blockchainDescriptor,
vaultAccountIds, ncwId, ncwAccountIds, walletType, ids,
collectionIds, pageCursor, pageSize, sort, order, status, search,
spam);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.n_f_ts.get_ownership_tokens(blockchain_descriptor,
vault_account_ids, ncw_id, ncw_account_ids, wallet_type, ids,
collection_ids, page_cursor, page_size, sort, order, status,
search, spam);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetOwnershipTokensResponse>> =
fireblocks.nFTs.getOwnershipTokens(nFTsApiGetOwnershipTokensRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetOwnershipTokensResponse>> response
= fireblocks.nFTs().getOwnershipTokens(blockchainDescriptor,
vaultAccountIds, ncwId, ncwAccountIds, walletType, ids,
collectionIds, pageCursor, pageSize, sort, order, status, search,
spam);
- lang: Python
source: >-
response =
fireblocks.n_f_ts.get_ownership_tokens(blockchain_descriptor,
vault_account_ids, ncw_id, ncw_account_ids, wallet_type, ids,
collection_ids, page_cursor, page_size, sort, order, status, search,
spam);
/nfts/ownership/assets:
get:
operationId: listOwnedTokens
summary: List all distinct owned tokens (paginated)
description: >-
Returns all owned distinct tokens (for your workspace) and their data in
your workspace.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ListOwnedTokensResponse>> =
fireblocks.nFTs.listOwnedTokens(nFTsApiListOwnedTokensRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ListOwnedTokensResponse>> response =
fireblocks.nFTs().listOwnedTokens(ncwId, walletType, pageCursor,
pageSize, sort, order, status, search, spam);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.n_f_ts.list_owned_tokens(ncw_id,
wallet_type, page_cursor, page_size, sort, order, status, search,
spam);
name: Fireblocks SDK Python example
parameters:
- name: ncwId
required: false
in: query
description: Non-Custodial Wallet ID
schema:
type: string
example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539
- name: walletType
required: false
in: query
description: Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`
schema:
default: VAULT_ACCOUNT
enum:
- VAULT_ACCOUNT
- END_USER_WALLET
type: string
- name: pageCursor
required: false
in: query
description: Page cursor to fetch
schema:
type: string
example: MTcyNzg3Nw==
- name: pageSize
required: false
in: query
description: Items per page (max 100)
schema:
minimum: 1
maximum: 100
type: number
- name: sort
required: false
in: query
description: >-
Sort by param, it can be one param or a list of params separated by
comma
schema:
type: array
items:
type: string
enum:
- name
- name: order
required: false
in: query
description: >-
Order direction, it can be `ASC` for ascending or `DESC` for
descending
schema:
default: ASC
enum:
- DESC
- ASC
type: string
- name: status
required: false
in: query
description: Token ownership status
schema:
default: LISTED
enum:
- LISTED
- ARCHIVED
type: string
- name: search
required: false
in: query
description: Search owned tokens by token name
schema:
maximum: 100
type: string
example: MyTokenName
- name: spam
required: false
in: query
description: Token ownership spam status.
schema:
enum:
- 'true'
- 'false'
- all
type: string
responses:
'200':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ListOwnedTokensResponse'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ListOwnedTokensResponse>>
= fireblocks.nFTs.listOwnedTokens(nFTsApiListOwnedTokensRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ListOwnedTokensResponse>> response =
fireblocks.nFTs().listOwnedTokens(ncwId, walletType, pageCursor,
pageSize, sort, order, status, search, spam);
- lang: Python
source: >-
response = fireblocks.n_f_ts.list_owned_tokens(ncw_id, wallet_type,
page_cursor, page_size, sort, order, status, search, spam);
/nfts/ownership/collections:
get:
operationId: listOwnedCollections
summary: List owned collections (paginated)
description: >-
Returns all collections in your workspace.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ListOwnedCollectionsResponse>> =
fireblocks.nFTs.listOwnedCollections(nFTsApiListOwnedCollectionsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ListOwnedCollectionsResponse>>
response = fireblocks.nFTs().listOwnedCollections(ncwId,
walletType, search, pageCursor, pageSize, sort, order, status);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.n_f_ts.list_owned_collections(ncw_id,
wallet_type, search, page_cursor, page_size, sort, order, status);
name: Fireblocks SDK Python example
parameters:
- name: ncwId
required: false
in: query
description: Tenant's Non-Custodial Wallet ID
schema:
type: string
example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539
- name: walletType
required: false
in: query
description: Wallet type, it can be `VAULT_ACCOUNT` or `END_USER_WALLET`
schema:
default: VAULT_ACCOUNT
enum:
- VAULT_ACCOUNT
- END_USER_WALLET
type: string
- name: search
required: false
in: query
description: >-
Search owned collections. Possible criteria for search: collection
name, collection contract address.
schema:
maximum: 100
type: string
example: MyTokenName
- name: pageCursor
required: false
in: query
description: Page cursor to fetch
schema:
type: string
example: MTcyNzg3Nw==
- name: pageSize
required: false
in: query
description: Items per page (max 100)
schema:
minimum: 1
maximum: 100
type: number
example: 10
- name: sort
required: false
in: query
description: >-
Sort by param, it can be one param or a list of params separated by
comma
schema:
type: array
items:
type: string
enum:
- name
- name: order
required: false
in: query
description: >-
Order direction, it can be `ASC` for ascending or `DESC` for
descending
schema:
default: ASC
enum:
- DESC
- ASC
type: string
- name: status
required: false
in: query
description: Token ownership status
schema:
default: LISTED
enum:
- LISTED
- ARCHIVED
type: string
responses:
'200':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ListOwnedCollectionsResponse'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ListOwnedCollectionsResponse>> =
fireblocks.nFTs.listOwnedCollections(nFTsApiListOwnedCollectionsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ListOwnedCollectionsResponse>>
response = fireblocks.nFTs().listOwnedCollections(ncwId, walletType,
search, pageCursor, pageSize, sort, order, status);
- lang: Python
source: >-
response = fireblocks.n_f_ts.list_owned_collections(ncw_id,
wallet_type, search, page_cursor, page_size, sort, order, status);
/nfts/tokens/{id}:
put:
operationId: refreshNFTMetadata
summary: Refresh token metadata
description: >-
Updates the latest token metadata.
Learn more about Fireblocks NFT management in the following
[guide](https://developers.fireblocks.com/reference/deploy-an-nft-collection).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.refreshNFTMetadata(nFTsApiRefreshNFTMetadataRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().refreshNFTMetadata(id, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.n_f_ts.refresh_n_f_t_metadata(id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: id
required: true
in: path
description: NFT ID
schema:
type: string
example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'202':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.refreshNFTMetadata(nFTsApiRefreshNFTMetadataRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().refreshNFTMetadata(id, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.n_f_ts.refresh_n_f_t_metadata(id,
idempotency_key);
get:
operationId: getNFT
summary: List token data by ID
description: >-
Returns the requested token data.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<TokenResponse>> =
fireblocks.nFTs.getNFT(nFTsApiGetNFTRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TokenResponse>> response =
fireblocks.nFTs().getNFT(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.n_f_ts.get_n_f_t(id);
name: Fireblocks SDK Python example
parameters:
- name: id
required: true
in: path
description: NFT ID
schema:
type: string
example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
responses:
'200':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/TokenResponse'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TokenResponse>> =
fireblocks.nFTs.getNFT(nFTsApiGetNFTRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TokenResponse>> response =
fireblocks.nFTs().getNFT(id);
- lang: Python
source: response = fireblocks.n_f_ts.get_n_f_t(id);
/nfts/tokens:
get:
operationId: getNFTs
summary: List tokens by IDs
description: >-
Returns the requested tokens data.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetNFTsResponse>> =
fireblocks.nFTs.getNFTs(nFTsApiGetNFTsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetNFTsResponse>> response =
fireblocks.nFTs().getNFTs(ids, pageCursor, pageSize, sort, order);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.n_f_ts.get_n_f_ts(ids, page_cursor,
page_size, sort, order);
name: Fireblocks SDK Python example
parameters:
- name: ids
required: true
in: query
description: >-
A comma separated list of NFT IDs. Up to 100 are allowed in a single
request.
schema:
type: string
example: >-
NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd,
NFT-cbcbcbcbcbcbabcdefabcdefabcdefabcdefabab
- name: pageCursor
required: false
in: query
description: Page cursor to fetch
schema:
type: string
example: MjAyNC0wNS0yNiAxMDowNTowMy4zNjggKzAwOjAw:NjkxNDI3Mw==
- name: pageSize
required: false
in: query
description: Items per page (max 100)
schema:
minimum: 1
maximum: 100
type: number
example: 20
- name: sort
required: false
in: query
description: >-
Sort by param, it can be one param or a list of params separated by
comma
schema:
type: array
items:
type: string
enum:
- collection.name
- name
- blockchainDescriptor
- name: order
required: false
in: query
description: >-
Order direction, it can be `ASC` for ascending or `DESC` for
descending
schema:
default: ASC
enum:
- DESC
- ASC
type: string
responses:
'200':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetNFTsResponse'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetNFTsResponse>> =
fireblocks.nFTs.getNFTs(nFTsApiGetNFTsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetNFTsResponse>> response =
fireblocks.nFTs().getNFTs(ids, pageCursor, pageSize, sort, order);
- lang: Python
source: >-
response = fireblocks.n_f_ts.get_n_f_ts(ids, page_cursor, page_size,
sort, order);
/nfts/ownership/tokens/{id}/status:
put:
operationId: updateTokenOwnershipStatus
summary: Update token ownership status
description: >-
Updates token status for a workspace, in all workspace vaults.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateTokenOwnershipStatus(nFTsApiUpdateTokenOwnershipStatusRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateTokenOwnershipStatus(updateTokenOwnershipStatusDto,
id, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.n_f_ts.update_token_ownership_status(update_token_ownership_status_dto,
id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: id
required: true
in: path
description: NFT ID
schema:
type: string
example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTokenOwnershipStatusDto'
responses:
'200':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateTokenOwnershipStatus(nFTsApiUpdateTokenOwnershipStatusRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateTokenOwnershipStatus(updateTokenOwnershipStatusDto,
id, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.n_f_ts.update_token_ownership_status(update_token_ownership_status_dto,
id, idempotency_key);
/nfts/ownership/tokens/status:
put:
operationId: updateTokensOwnershipStatus
summary: Update tokens ownership status
description: >-
Updates tokens status for a workspace, in all vault accounts.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateTokensOwnershipStatus(nFTsApiUpdateTokensOwnershipStatusRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateTokensOwnershipStatus(tokenOwnershipStatusUpdatePayload,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.n_f_ts.update_tokens_ownership_status(token_ownership_status_update_payload,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTokensOwnershipStatusRequest'
responses:
'200':
description: All token statuses have been updated
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'400':
description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'404':
description: Ownership for token ID is not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateTokensOwnershipStatus(nFTsApiUpdateTokensOwnershipStatusRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateTokensOwnershipStatus(tokenOwnershipStatusUpdatePayload,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.n_f_ts.update_tokens_ownership_status(token_ownership_status_update_payload,
idempotency_key);
/nfts/ownership/tokens/spam:
put:
operationId: updateTokensOwnershipSpam
summary: Update tokens ownership spam property
description: >-
Updates tokens spam property for a workspace's token ownerships, in all
vault accounts.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateTokensOwnershipSpam(nFTsApiUpdateTokensOwnershipSpamRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateTokensOwnershipSpam(tokenOwnershipSpamUpdatePayload,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.n_f_ts.update_tokens_ownership_spam(token_ownership_spam_update_payload,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTokensOwnershipSpamRequest'
responses:
'200':
description: All token spam properties have been updated
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'400':
description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'404':
description: Ownership for token ID is not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- NFTs
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.nFTs.updateTokensOwnershipSpam(nFTsApiUpdateTokensOwnershipSpamRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.nFTs().updateTokensOwnershipSpam(tokenOwnershipSpamUpdatePayload,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.n_f_ts.update_tokens_ownership_spam(token_ownership_spam_update_payload,
idempotency_key);
/connections:
get:
operationId: get
summary: List all open Web3 connections
description: >-
List all open Web3 connections.
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- name: order
required: false
in: query
description: List order (ascending or descending)
schema:
type: string
enum:
- ASC
- DESC
default: ASC
- name: filter
required: false
in: query
description: Parsed filter object
examples:
object:
summary: The filter object
description: ''
value:
id: string
userId: string
vaultAccountId: number
connectionMethod: string
feeLevel: string
appUrl: string
appName: string
stringified:
summary: The stringified parsed object
description: >-
About stringified parsed objects:
* Each key-value pair is separated by '=', and each pair is
separated by ',' (you can use
[`qs`](https://www.npmjs.com/package/qs) package for this)
value: >-
id=string,userId=string,vaultAccountId=number,connectionMethod=string,feeLevel=string,appUrl=string,appName=string
schema:
type: object
properties:
id:
type: string
description: Unique connection ID
example: 44075fd3-6fc5-4855-bd7b-510e35f9e671
userId:
type: string
description: User ID that established the connection
example: 5e7889fc-b5d6-5c6d-89cd-627ae94f1efd
vaultAccountId:
type: number
description: >-
Unique vault account identifier that the connection was
established with
example: 0
connectionMethod:
description: >
The method that the connection was established with.
- MOBILE: for connections that were established by scanning a
WalletConnect QR code
- DESKTOP: for connection that were established by
WalletConnect desktop connections
type: string
enum:
- MOBILE
- DESKTOP
feeLevel:
type: string
description: The fee level for the transactions over the connection
enum:
- MEDIUM
- HIGH
appUrl:
type: string
description: The dApp URL
example: https://app.uniswap.org
appName:
type: string
description: dApps name
example: Uniswap
- name: sort
required: false
in: query
description: Property to sort Web3 connections by.
schema:
type: string
enum:
- id
- userId
- vaultAccountId
- createdAt
- feeLevel
- appUrl
- appName
default: createdAt
example: userId=5e7889fc-b5d6-5c6d-89cd-627ae94f1efd,appName=Uniswap
- name: pageSize
required: false
in: query
description: Amount of results to return in the next page.
schema:
type: number
default: 10
maximum: 50
example: 20
- name: next
required: false
in: query
description: Cursor to the next page
schema:
type: string
example: >-
MjAyNC0wNC0xMSAyMDozOToxOC40Nzc=:ODZhOGI2M2M3MjVkYTY1OWNmNDAyMzNiYjc0NTViMTJlMDhiNjZiZmM4MjU3NGNhN2I2OWYxZjQ2N2E2ZjI3OA==
responses:
'200':
description: ''
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetConnectionsResponse'
'400':
description: Query parameters were invalid
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'500':
description: Something went wrong
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- dApp Connections
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetConnectionsResponse>> =
fireblocks.web3Connections.get(web3ConnectionsApiGetRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetConnectionsResponse>> response =
fireblocks.web3Connections().get(order, filter, sort, pageSize,
next);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.web3_connections.get(order, filter, sort,
page_size, next);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetConnectionsResponse>>
= fireblocks.web3Connections.get(web3ConnectionsApiGetRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetConnectionsResponse>> response =
fireblocks.web3Connections().get(order, filter, sort, pageSize,
next);
- lang: Python
source: >-
response = fireblocks.web3_connections.get(order, filter, sort,
page_size, next);
/connections/wc:
post:
operationId: create
summary: Create a new Web3 connection.
description: >-
Initiate a new Web3 connection.
* Note: After this succeeds, make a request to `PUT
/v1/connections/wc/{id}` (below) to approve or reject the new Web3
connection.
Learn more about Fireblocks Wallet Link in the following
[guide](https://developers.fireblocks.com/docs/web3-wallet-link).
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConnectionRequest'
responses:
'201':
description: dApp connection initiated successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConnectionResponse'
'400':
description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'500':
description: Something went wrong
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- dApp Connections
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateConnectionResponse>> =
fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateConnectionResponse>> response
= fireblocks.web3Connections().create(createConnectionRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.web3_connections.create(create_connection_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateConnectionResponse>> =
fireblocks.web3Connections.create(web3ConnectionsApiCreateRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateConnectionResponse>> response =
fireblocks.web3Connections().create(createConnectionRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.web3_connections.create(create_connection_request,
idempotency_key);
/connections/wc/{id}:
put:
operationId: submit
summary: Respond to a pending connection
description: >-
Submit a response to *approve* or *reject* an initiated Web3 connection.
* Note: This call is used to complete your `POST /v1/connections/wc/`
request.
After this succeeds, your new Web3 connection is created and
functioning.
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- name: id
description: The ID of the initiated Web3 connection to approve.
required: true
in: path
schema:
type: string
example: 44075fd3-6fc5-4855-bd7b-510e35f9e671
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RespondToConnectionRequest'
responses:
'200':
description: Connection submitted successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'400':
description: Invalid data sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'404':
description: Connection not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'500':
description: Something went wrong
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- dApp Connections
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.web3Connections().submit(respondToConnectionRequest,
id, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.web3_connections.submit(respond_to_connection_request,
id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.web3Connections.submit(web3ConnectionsApiSubmitRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.web3Connections().submit(respondToConnectionRequest, id,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.web3_connections.submit(respond_to_connection_request,
id, idempotency_key);
delete:
operationId: remove
summary: Remove an existing Web3 connection
description: >-
Remove an existing Web3 connection.
</br>Endpoint Permission: Admin, Non-Signing Admin.
parameters:
- name: id
description: The ID of the existing Web3 connection to remove.
required: true
in: path
schema:
type: string
example: 44075fd3-6fc5-4855-bd7b-510e35f9e671
responses:
'200':
description: Connection removed successfully
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'404':
description: Connection not found
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'500':
description: Something went wrong
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
tags:
- dApp Connections
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.web3Connections().remove(id);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.web3_connections.remove(id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.web3Connections.remove(web3ConnectionsApiRemoveRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.web3Connections().remove(id);
- lang: Python
source: response = fireblocks.web3_connections.remove(id);
/screening/travel_rule/transaction/validate:
post:
operationId: validateTravelRuleTransaction
summary: Validate Travel Rule Transaction
description: >-
Validate Travel Rule transactions.
Checks what beneficiary VASP details are required by your jurisdiction
and the beneficiary's jurisdiction.
**Deprecation Notice** This endpoint will be deprecated soon in favor of the
[validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint. Please update your integrations to use the
[validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint to ensure compatibility with future releases.
Checks what beneficiary VASP details are required by your jurisdiction and
the beneficiary's jurisdiction.
Learn more about Fireblocks Travel Rule management in the following
[guide](https://developers.fireblocks.com/docs/define-travel-rule-policies).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: notation
in: query
description: >-
Specifies the notation of the transaction. Possible values are:
- `notabene`: Uses Notabene notation (default behavior).
- `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts.
- `<none>`: Defaults to `notabene` for backward compatibility.
**Note:** The default value for the `notation` parameter will change from
`notabene` to `fireblocks` Update your integrations accordingly.
required: false
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleValidateTransactionRequest'
responses:
'200':
description: Transaction validated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleValidateTransactionResponse'
'400':
description: Invalid request body
'500':
description: Internal server error
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TravelRuleValidateTransactionResponse>>
=
fireblocks.travelRuleBeta.validateTravelRuleTransaction(travelRuleBetaApiValidateTravelRuleTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TravelRuleValidateTransactionResponse>>
response =
fireblocks.travelRuleBeta().validateTravelRuleTransaction(travelRuleValidateTransactionRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.travel_rule_beta.validate_travel_rule_transaction(travel_rule_validate_transaction_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<TravelRuleValidateTransactionResponse>> =
fireblocks.travelRuleBeta.validateTravelRuleTransaction(travelRuleBetaApiValidateTravelRuleTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TravelRuleValidateTransactionResponse>>
response =
fireblocks.travelRuleBeta().validateTravelRuleTransaction(travelRuleValidateTransactionRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.travel_rule_beta.validate_travel_rule_transaction(travel_rule_validate_transaction_request,
idempotency_key);
/screening/travel_rule/transaction/validate/full:
post:
operationId: validateFullTravelRuleTransaction
summary: Validate Full Travel Rule Transaction
description: >-
Validate Full Travel Rule transaction.
Checks for all required information on the originator and beneficiary
VASPs.
Learn more about Fireblocks Travel Rule management in the following
[guide](https://developers.fireblocks.com/docs/define-travel-rule-policies).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: notation
in: query
description: |
Specifies the notation of the transaction. Possible values are
- `notabene`: Uses Notabene notation (default behavior).
- `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts.
- `<none>`: Defaults to `notabene` for backward compatibility.
**Note:** The default value for the `notation` parameter will change from
`notabene` to `fireblocks` Update your integrations accordingly.
required: false
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleValidateFullTransactionRequest'
responses:
'200':
description: Transaction validated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleValidateTransactionResponse'
'400':
description: Invalid request body
'500':
description: Internal server error
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TravelRuleValidateTransactionResponse>>
=
fireblocks.travelRuleBeta.validateFullTravelRuleTransaction(travelRuleBetaApiValidateFullTravelRuleTransactionRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TravelRuleValidateTransactionResponse>>
response =
fireblocks.travelRuleBeta().validateFullTravelRuleTransaction(travelRuleValidateFullTransactionRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.travel_rule_beta.validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<TravelRuleValidateTransactionResponse>> =
fireblocks.travelRuleBeta.validateFullTravelRuleTransaction(travelRuleBetaApiValidateFullTravelRuleTransactionRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TravelRuleValidateTransactionResponse>>
response =
fireblocks.travelRuleBeta().validateFullTravelRuleTransaction(travelRuleValidateFullTransactionRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.travel_rule_beta.validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request,
idempotency_key);
/screening/travel_rule/vasp/{did}:
get:
operationId: getVASPByDID
summary: Get VASP details
description: >-
Get VASP Details.
Returns information about a VASP that has the specified DID.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: did
required: true
in: path
schema:
type: string
- name: fields
required: false
in: query
description: >-
CSV of fields to return (all, "blank" or see list of all field names
below)
schema:
type: string
responses:
'200':
description: Transaction validated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleVASP'
'400':
description: Invalid request body
'500':
description: Internal server error
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<TravelRuleVASP>> =
fireblocks.travelRuleBeta.getVASPByDID(travelRuleBetaApiGetVASPByDIDRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TravelRuleVASP>> response =
fireblocks.travelRuleBeta().getVASPByDID(did, fields);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.travel_rule_beta.get_v_a_s_p_by_d_i_d(did,
fields);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TravelRuleVASP>> =
fireblocks.travelRuleBeta.getVASPByDID(travelRuleBetaApiGetVASPByDIDRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TravelRuleVASP>> response =
fireblocks.travelRuleBeta().getVASPByDID(did, fields);
- lang: Python
source: >-
response = fireblocks.travel_rule_beta.get_v_a_s_p_by_d_i_d(did,
fields);
/screening/travel_rule/vasp:
get:
operationId: getVASPs
summary: Get All VASPs
description: >-
Get All VASPs.
Returns a list of VASPs. VASPs can be searched and sorted and results
are paginated.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- name: order
required: false
in: query
description: Field to order by
schema:
type: string
- name: per_page
required: false
in: query
description: Records per page
schema:
type: number
- name: page
required: false
in: query
description: Page number
schema:
type: number
- name: fields
required: false
in: query
description: >-
CSV of fields to return (all, "blank" or see list of all field names
below)
schema:
type: string
- name: q
required: false
in: query
description: Search query
schema:
type: string
- name: reviewValue
required: false
in: query
description: >-
Filter by the VASP's review status. Possible values include:
"TRUSTED", "BLOCKED", "MANUAL", or "NULL".
When provided, only VASPs that match the specified reviewValue
will be returned (i.e., VASPs that have already been reviewed
to this status).
schema:
type: string
responses:
'200':
description: Get all VASPs
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleGetAllVASPsResponse'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TravelRuleGetAllVASPsResponse>> =
fireblocks.travelRuleBeta.getVASPs(travelRuleBetaApiGetVASPsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TravelRuleGetAllVASPsResponse>>
response = fireblocks.travelRuleBeta().getVASPs(order, perPage,
page, fields);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.travel_rule_beta.get_v_a_s_ps(order,
per_page, page, fields);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<TravelRuleGetAllVASPsResponse>> =
fireblocks.travelRuleBeta.getVASPs(travelRuleBetaApiGetVASPsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TravelRuleGetAllVASPsResponse>>
response = fireblocks.travelRuleBeta().getVASPs(order, perPage,
page, fields);
- lang: Python
source: >-
response = fireblocks.travel_rule_beta.get_v_a_s_ps(order, per_page,
page, fields);
/screening/travel_rule/vasp/update:
put:
operationId: updateVasp
summary: Update VASP Details
description: >-
Updates a VASP with the provided parameters. Use this endpoint to add
your public jsonDIDkey generated by Notabene.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleUpdateVASPDetails'
responses:
'200':
description: VASP updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleUpdateVASPDetails'
'400':
description: Invalid request body
'500':
description: Internal server error
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TravelRuleUpdateVASPDetails>> =
fireblocks.travelRuleBeta.updateVasp(travelRuleBetaApiUpdateVaspRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TravelRuleUpdateVASPDetails>>
response =
fireblocks.travelRuleBeta().updateVasp(travelRuleUpdateVASPDetails,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.travel_rule_beta.update_vasp(travel_rule_update_v_a_s_p_details,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<TravelRuleUpdateVASPDetails>> =
fireblocks.travelRuleBeta.updateVasp(travelRuleBetaApiUpdateVaspRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TravelRuleUpdateVASPDetails>> response
=
fireblocks.travelRuleBeta().updateVasp(travelRuleUpdateVASPDetails,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.travel_rule_beta.update_vasp(travel_rule_update_v_a_s_p_details,
idempotency_key);
/screening/travel_rule/post_screening_policy:
get:
operationId: getPostScreeningPolicy
summary: Travel Rule - View Post-Screening Policy
description: >-
Get the post-screening policy for Travel Rule.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters: []
responses:
'200':
description: Post-screening policy retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningPolicyResponse'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningPolicyResponse>> =
fireblocks.compliance.getPostScreeningPolicy();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningPolicyResponse>> response =
fireblocks.compliance().getPostScreeningPolicy();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.compliance.get_post_screening_policy();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ScreeningPolicyResponse>>
= fireblocks.compliance.getPostScreeningPolicy();
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningPolicyResponse>> response =
fireblocks.compliance().getPostScreeningPolicy();
- lang: Python
source: response = fireblocks.compliance.get_post_screening_policy();
/screening/travel_rule/screening_policy:
get:
operationId: getScreeningPolicy
summary: Travel Rule - View Screening Policy
description: >-
Get the screening policy for Travel Rule.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters: []
responses:
'200':
description: Screening policy retrieved successfully.
content:
application/json:
schema:
$ref: >-
#/components/schemas/ScreeningProviderRulesConfigurationResponse
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningProviderRulesConfigurationResponse>>
= fireblocks.compliance.getScreeningPolicy();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningProviderRulesConfigurationResponse>>
response = fireblocks.compliance().getScreeningPolicy();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.compliance.get_screening_policy();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ScreeningProviderRulesConfigurationResponse>>
= fireblocks.compliance.getScreeningPolicy();
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningProviderRulesConfigurationResponse>>
response = fireblocks.compliance().getScreeningPolicy();
- lang: Python
source: response = fireblocks.compliance.get_screening_policy();
/screening/travel_rule/vault/{vaultAccountId}/vasp:
get:
summary: Get assigned VASP to vault
description: |
Get assigned VASP DID for a specific vault.
Returns empty `vaspDid` string value in response if none assigned.
tags:
- Compliance
x-readme:
code-samples:
- language: javascript
code: >-
const vaultAsset = await
fireblocks.getVaspForVault(vaultAccountId);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TravelRuleVaspForVault>> =
fireblocks.travelRuleBeta.getVaspForVault(travelRuleBetaApiGetVaspForVaultRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TravelRuleVaspForVault>> response =
fireblocks.travelRuleBeta().getVaspForVault(vaultAccountId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.travel_rule_beta.get_vasp_for_vault(vault_account_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
example: 1
schema:
type: string
format: numeric
x-fb-entity: vault_account
responses:
'200':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleVaspForVault'
default:
$ref: '#/components/responses/Error'
operationId: getVaspForVault
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TravelRuleVaspForVault>>
=
fireblocks.travelRuleBeta.getVaspForVault(travelRuleBetaApiGetVaspForVaultRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TravelRuleVaspForVault>> response =
fireblocks.travelRuleBeta().getVaspForVault(vaultAccountId);
- lang: Python
source: >-
response =
fireblocks.travel_rule_beta.get_vasp_for_vault(vault_account_id);
post:
summary: Assign VASP to vault
description: |
Sets the VASP DID for a specific vault.
Pass empty string to remove an existing one.
tags:
- Compliance
x-readme:
code-samples:
- language: javascript
code: >-
const vaultAsset = await
fireblocks.setVaspForVault(vaultAccountId, vaspDid);
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<TravelRuleVaspForVault>> =
fireblocks.travelRuleBeta.setVaspForVault(travelRuleBetaApiSetVaspForVaultRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<TravelRuleVaspForVault>> response =
fireblocks.travelRuleBeta().setVaspForVault(travelRuleVaspForVault,
vaultAccountId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.travel_rule_beta.set_vasp_for_vault(travel_rule_vasp_for_vault,
vault_account_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<TravelRuleVaspForVault>>
=
fireblocks.travelRuleBeta.setVaspForVault(travelRuleBetaApiSetVaspForVaultRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<TravelRuleVaspForVault>> response =
fireblocks.travelRuleBeta().setVaspForVault(travelRuleVaspForVault,
vaultAccountId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.travel_rule_beta.set_vasp_for_vault(travel_rule_vasp_for_vault,
vault_account_id, idempotency_key);
parameters:
- in: path
name: vaultAccountId
required: true
description: The ID of the vault account
schema:
type: string
format: numeric
x-fb-entity: vault_account
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleVaspForVault'
responses:
'201':
description: OK
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/TravelRuleVaspForVault'
default:
$ref: '#/components/responses/Error'
operationId: setVaspForVault
/screening/travel_rule/policy_configuration:
get:
operationId: getScreeningConfiguration
summary: Get Travel Rule Screening Policy Configuration
description: >-
Retrieves the configuration for Travel Rule screening policy.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters: []
responses:
'200':
description: Screening policy configuration retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningConfigurationsRequest'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.complianceScreeningConfiguration.getScreeningConfiguration();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.complianceScreeningConfiguration().getScreeningConfiguration();
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.compliance_screening_configuration.get_screening_configuration();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.complianceScreeningConfiguration.getScreeningConfiguration();
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.complianceScreeningConfiguration().getScreeningConfiguration();
- lang: Python
source: >-
response =
fireblocks.compliance_screening_configuration.get_screening_configuration();
put:
operationId: updateTravelRuleConfig
summary: Update Travel Rule Configuration
description: >-
Updates bypass screening, inbound delay, or outbound delay
configurations for Travel Rule.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Configuration updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningConfigurationsRequest'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.compliance.updateTravelRuleConfig(complianceApiUpdateTravelRuleConfigRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.compliance().updateTravelRuleConfig(idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.compliance.update_travel_rule_config(idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.compliance.updateTravelRuleConfig(complianceApiUpdateTravelRuleConfigRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.compliance().updateTravelRuleConfig(idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.compliance.update_travel_rule_config(idempotency_key);
/screening/aml/policy_configuration:
get:
operationId: getAmlScreeningConfiguration
summary: Get AML Screening Policy Configuration
description: >-
Retrieves the configuration for Travel Rule screening policy.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters: []
responses:
'200':
description: Screening policy configuration retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningConfigurationsRequest'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.complianceScreeningConfiguration.getAmlScreeningConfiguration();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.complianceScreeningConfiguration().getAmlScreeningConfiguration();
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.compliance_screening_configuration.get_aml_screening_configuration();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.complianceScreeningConfiguration.getAmlScreeningConfiguration();
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.complianceScreeningConfiguration().getAmlScreeningConfiguration();
- lang: Python
source: >-
response =
fireblocks.compliance_screening_configuration.get_aml_screening_configuration();
put:
operationId: updateAmlScreeningConfiguration
summary: Update AML Configuration
description: >-
Updates bypass screening, inbound delay, or outbound delay
configurations for AML.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Configuration updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningConfigurationsRequest'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.compliance.updateAmlScreeningConfiguration(complianceApiUpdateAmlScreeningConfigurationRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.compliance().updateAmlScreeningConfiguration(idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.compliance.update_aml_screening_configuration(idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ScreeningConfigurationsRequest>> =
fireblocks.compliance.updateAmlScreeningConfiguration(complianceApiUpdateAmlScreeningConfigurationRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningConfigurationsRequest>>
response =
fireblocks.compliance().updateAmlScreeningConfiguration(idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.compliance.update_aml_screening_configuration(idempotency_key);
/screening/aml/screening_policy:
get:
operationId: getAmlScreeningPolicy
summary: AML - View Screening Policy
description: >-
Get the screening policy for AML.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters: []
responses:
'200':
description: Screening policy retrieved successfully.
content:
application/json:
schema:
$ref: >-
#/components/schemas/ScreeningProviderRulesConfigurationResponse
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningProviderRulesConfigurationResponse>>
= fireblocks.compliance.getAmlScreeningPolicy();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningProviderRulesConfigurationResponse>>
response = fireblocks.compliance().getAmlScreeningPolicy();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.compliance.get_aml_screening_policy();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ScreeningProviderRulesConfigurationResponse>>
= fireblocks.compliance.getAmlScreeningPolicy();
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningProviderRulesConfigurationResponse>>
response = fireblocks.compliance().getAmlScreeningPolicy();
- lang: Python
source: response = fireblocks.compliance.get_aml_screening_policy();
/screening/aml/post_screening_policy:
get:
operationId: getAmlPostScreeningPolicy
summary: AML - View Post-Screening Policy
description: >-
Get the post-screening policy for AML.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters: []
responses:
'200':
description: Post-screening policy retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningPolicyResponse'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningPolicyResponse>> =
fireblocks.compliance.getAmlPostScreeningPolicy();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningPolicyResponse>> response =
fireblocks.compliance().getAmlPostScreeningPolicy();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.compliance.get_aml_post_screening_policy();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ScreeningPolicyResponse>>
= fireblocks.compliance.getAmlPostScreeningPolicy();
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningPolicyResponse>> response =
fireblocks.compliance().getAmlPostScreeningPolicy();
- lang: Python
source: response = fireblocks.compliance.get_aml_post_screening_policy();
/screening/configurations:
put:
operationId: updateScreeningConfiguration
summary: Screening Configuration Update
description: >-
Update Tenant screening configuration.
Learn more about Fireblocks AML management in the following
[guide](https://developers.fireblocks.com/docs/define-aml-policies).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningUpdateConfigurations'
responses:
'200':
description: Tenant Screening configuration updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ScreeningUpdateConfigurations'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ScreeningUpdateConfigurations>> =
fireblocks.compliance.updateScreeningConfiguration(complianceApiUpdateScreeningConfigurationRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ScreeningUpdateConfigurations>>
response =
fireblocks.compliance().updateScreeningConfiguration(screeningUpdateConfigurations,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.compliance.update_screening_configuration(screening_update_configurations,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ScreeningUpdateConfigurations>> =
fireblocks.compliance.updateScreeningConfiguration(complianceApiUpdateScreeningConfigurationRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ScreeningUpdateConfigurations>>
response =
fireblocks.compliance().updateScreeningConfiguration(screeningUpdateConfigurations,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.compliance.update_screening_configuration(screening_update_configurations,
idempotency_key);
/screening/transaction/{txId}/bypass_screening_policy:
post:
operationId: retryRejectedTransactionBypassScreeningChecks
summary: Bypass Screening Policy
description: >-
This endpoint is restricted to Admin API users and is only applicable to
outgoing transactions.
Calling the "Bypass Screening Policy" API endpoint triggers a new
transaction, with the API user as the initiator, bypassing the screening
policy check
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- in: path
name: txId
required: true
description: The transaction id that was rejected by screening checks
example: 550e8400-e29b-41d4-a716-446655440000
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'201':
description: A transaction object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransactionResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.compliance.retryRejectedTransactionBypassScreeningChecks(complianceApiRetryRejectedTransactionBypassScreeningChecksRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response
=
fireblocks.compliance().retryRejectedTransactionBypassScreeningChecks(txId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.compliance.retry_rejected_transaction_bypass_screening_checks(tx_id,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CreateTransactionResponse>> =
fireblocks.compliance.retryRejectedTransactionBypassScreeningChecks(complianceApiRetryRejectedTransactionBypassScreeningChecksRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CreateTransactionResponse>> response =
fireblocks.compliance().retryRejectedTransactionBypassScreeningChecks(txId,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.compliance.retry_rejected_transaction_bypass_screening_checks(tx_id,
idempotency_key);
/screening/transaction/{txId}:
get:
operationId: getScreeningFullDetails
summary: Get Screening Full Details
description: >-
Provides all the compliance details for the given screened transaction.
</br>Endpoint Permission: All users.
parameters:
- in: path
name: txId
required: true
description: Fireblocks transaction ID of the screened transaction
example: 550e8400-e29b-41d4-a716-446655440000
schema:
type: string
responses:
'200':
description: A compliance object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ComplianceResultFullPayload'
default:
$ref: '#/components/responses/Error'
tags:
- Compliance
x-readme:
code-samples:
- language: typescript
code: 'const response: Promise<FireblocksResponse<ComplianceResultFullPayload>> = fireblocks.compliance.getScreeningFullDetails(complianceApiGetScreeningFullDetailsRequest);'
name: Fireblocks SDK TypeScript example
- language: java
code: CompletableFuture<ApiResponse<ComplianceResultFullPayload>> response = fireblocks.compliance().getScreeningFullDetails(txId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.compliance.get_screening_full_details(tx_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: 'const response: Promise<FireblocksResponse<ComplianceResultFullPayload>> = fireblocks.compliance.getScreeningFullDetails(complianceApiGetScreeningFullDetailsRequest);'
- lang: Java
source: CompletableFuture<ApiResponse<ComplianceResultFullPayload>> response = fireblocks.compliance().getScreeningFullDetails(txId);
- lang: Python
source: response = fireblocks.compliance.get_screening_full_details(tx_id);
/screening/aml/verdict/manual:
post:
operationId: setAmlVerdict
summary: Set AML verdict for Manual Screening Verdict
description: Set AML verdict for incoming transactions when the Manual Screening Verdict feature is enabled.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AmlVerdictManualRequest'
responses:
"200":
description: AML verdict set successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/AmlVerdictManualResponse'
"400":
description: Feature not enabled for tenant.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchema'
"425":
description: Too Early - transaction not yet in pending screening.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchema'
"500":
description: Internal server error.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchema'
default:
$ref: '#/components/responses/Error'
tags:
- Compliance
x-rate-limit-category: write
/management/ota:
put:
operationId: setOtaStatus
summary: Enable or disable transactions to OTA
description: >-
Enable or disable transactions to One Time Addresses (Non Whitelisted
addresses).
Learn more about [One Time
Addresses](https://support.fireblocks.io/hc/en-us/articles/4409104568338-One-Time-Address-OTA-feature)
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<SetOtaStatusResponse>>
= fireblocks.oTABeta.setOtaStatus(oTABetaApiSetOtaStatusRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SetOtaStatusResponse>> response =
fireblocks.oTABeta().setOtaStatus(setOtaStatusRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.o_t_a_beta.set_ota_status(set_ota_status_request,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetOtaStatusRequest'
responses:
'202':
description: Successfully updated OTA status
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SetOtaStatusResponse'
'400':
description: Bad request
'409':
description: Similar request already pending
'500':
description: Internal server error
tags:
- Workspace Management
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SetOtaStatusResponse>> =
fireblocks.oTABeta.setOtaStatus(oTABetaApiSetOtaStatusRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SetOtaStatusResponse>> response =
fireblocks.oTABeta().setOtaStatus(setOtaStatusRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.o_t_a_beta.set_ota_status(set_ota_status_request,
idempotency_key);
get:
operationId: getOtaStatus
summary: Returns current OTA status
description: >-
Returns current One Time Address status.
Learn more about [One Time
Addresses](https://support.fireblocks.io/hc/en-us/articles/4409104568338-One-Time-Address-OTA-feature)
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetOtaStatusResponse>>
= fireblocks.oTABeta.getOtaStatus();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetOtaStatusResponse>> response =
fireblocks.oTABeta().getOtaStatus();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.o_t_a_beta.get_ota_status();
name: Fireblocks SDK Python example
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetOtaStatusResponse'
description: Current OTA status
'404':
description: Configuration not found for the workspace
tags:
- Workspace Management
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetOtaStatusResponse>> =
fireblocks.oTABeta.getOtaStatus();
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetOtaStatusResponse>> response =
fireblocks.oTABeta().getOtaStatus();
- lang: Python
source: response = fireblocks.o_t_a_beta.get_ota_status();
/management/workspace_status:
get:
operationId: getWorkspaceStatus
summary: Returns current workspace status
description: >-
Returns current workspace status (Beta).
**Note**:
- This endpoint is now in Beta, disabled for general availability at
this time.
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceStatusResponse'
description: Current workspace status
'404':
description: Workspace not found
tags:
- Workspace Management
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetWorkspaceStatusResponse>> =
fireblocks.workspaceStatusBeta.getWorkspaceStatus();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetWorkspaceStatusResponse>>
response = fireblocks.workspaceStatusBeta().getWorkspaceStatus();
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.workspace_status_beta.get_workspace_status();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetWorkspaceStatusResponse>> =
fireblocks.workspaceStatusBeta.getWorkspaceStatus();
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetWorkspaceStatusResponse>> response
= fireblocks.workspaceStatusBeta().getWorkspaceStatus();
- lang: Python
source: response = fireblocks.workspace_status_beta.get_workspace_status();
/tap/active_policy:
get:
operationId: getActivePolicy
summary: Get the active policy and its validation
description: >-
Returns the active policy and its validation. </br>
**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.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Policy Editor (Beta)
x-readme:
code-samples:
# - language: python
# code: policy = fireblocks.get_active_policy()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const policy = await fireblocks.getActivePolicy();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<PolicyAndValidationResponse>> =
fireblocks.policyEditorBeta.getActivePolicy();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PolicyAndValidationResponse>>
response = fireblocks.policyEditorBeta().getActivePolicy();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.policy_editor_beta.get_active_policy();
name: Fireblocks SDK Python example
responses:
'200':
description: A policy object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyAndValidationResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<PolicyAndValidationResponse>> =
fireblocks.policyEditorBeta.getActivePolicy();
- lang: Java
source: >-
CompletableFuture<ApiResponse<PolicyAndValidationResponse>> response
= fireblocks.policyEditorBeta().getActivePolicy();
- lang: Python
source: response = fireblocks.policy_editor_beta.get_active_policy();
/tap/draft:
get:
operationId: getDraft
summary: Get the active draft
description: >-
Returns the active draft and its validation. </br>
**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.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Policy Editor (Beta)
x-readme:
code-samples:
# - language: python
# code: policy = fireblocks.get_draft()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const policy = await fireblocks.getDraft();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DraftReviewAndValidationResponse>> =
fireblocks.policyEditorBeta.getDraft();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DraftReviewAndValidationResponse>>
response = fireblocks.policyEditorBeta().getDraft();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.policy_editor_beta.get_draft();
name: Fireblocks SDK Python example
responses:
'200':
description: A draft validation response object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DraftReviewAndValidationResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<DraftReviewAndValidationResponse>> =
fireblocks.policyEditorBeta.getDraft();
- lang: Java
source: >-
CompletableFuture<ApiResponse<DraftReviewAndValidationResponse>>
response = fireblocks.policyEditorBeta().getDraft();
- lang: Python
source: response = fireblocks.policy_editor_beta.get_draft();
put:
operationId: updateDraft
summary: Update the draft with a new set of rules
description: >-
Update the draft and return its validation. </br>
**Note:** These endpoints are currently in beta and might be subject to
changes.
If you want to participate and learn more about the Fireblocks TAP,
please contact your Fireblocks Customer Success Manager or send an email
to CSM@fireblocks.com.
Learn more about Fireblocks Transaction Authorization Policy in the
following
[guide](https://developers.fireblocks.com/docs/set-transaction-authorization-policy).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Policy Editor (Beta)
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
x-readme:
code-samples:
# - language: python
# code: policy = fireblocks.update_draft()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const policy = await fireblocks.updateDraft();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<DraftReviewAndValidationResponse>> =
fireblocks.policyEditorBeta.updateDraft(policyEditorBetaApiUpdateDraftRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<DraftReviewAndValidationResponse>>
response = fireblocks.policyEditorBeta().updateDraft(policyRules,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.policy_editor_beta.update_draft(policy_rules,
idempotency_key);
name: Fireblocks SDK Python example
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyRules'
responses:
'200':
description: A draft validation response object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DraftReviewAndValidationResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<DraftReviewAndValidationResponse>> =
fireblocks.policyEditorBeta.updateDraft(policyEditorBetaApiUpdateDraftRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<DraftReviewAndValidationResponse>>
response = fireblocks.policyEditorBeta().updateDraft(policyRules,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.policy_editor_beta.update_draft(policy_rules,
idempotency_key);
post:
operationId: publishDraft
summary: Send publish request for a certain draft id
description: >-
Send publish request of certain draft id and returns the response. </br>
**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.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Policy Editor (Beta)
x-readme:
code-samples:
# - language: python
# code: policy = fireblocks.publish_draft()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const policy = await fireblocks.publishDraft();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<PublishResult>> =
fireblocks.policyEditorBeta.publishDraft(policyEditorBetaApiPublishDraftRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PublishResult>> response =
fireblocks.policyEditorBeta().publishDraft(publishDraftRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.policy_editor_beta.publish_draft(publish_draft_request,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PublishDraftRequestV2'
responses:
'201':
description: A policy publish result object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PublishResult'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<PublishResult>> =
fireblocks.policyEditorBeta.publishDraft(policyEditorBetaApiPublishDraftRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PublishResult>> response =
fireblocks.policyEditorBeta().publishDraft(publishDraftRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.policy_editor_beta.publish_draft(publish_draft_request,
idempotency_key);
/tap/publish:
post:
operationId: publishPolicyRules
summary: Send publish request for a set of policy rules
description: >-
Send publish request of set of policy rules and returns the response.
</br>
**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.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Policy Editor (Beta)
x-readme:
code-samples:
# - language: python
# code: policy = fireblocks.publish_rules()
# name: Fireblocks SDK Python example (Legacy)
- language: javascript
code: const policy = await fireblocks.publishRules();
name: Fireblocks SDK Javascript example
- language: typescript
code: >-
const response: Promise<FireblocksResponse<PublishResult>> =
fireblocks.policyEditorBeta.publishPolicyRules(policyEditorBetaApiPublishPolicyRulesRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PublishResult>> response =
fireblocks.policyEditorBeta().publishPolicyRules(policyRules,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.policy_editor_beta.publish_policy_rules(policy_rules,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyRules'
responses:
'201':
description: A policy publish result object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PublishResult'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<PublishResult>> =
fireblocks.policyEditorBeta.publishPolicyRules(policyEditorBetaApiPublishPolicyRulesRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PublishResult>> response =
fireblocks.policyEditorBeta().publishPolicyRules(policyRules,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.policy_editor_beta.publish_policy_rules(policy_rules,
idempotency_key);
/policy/active_policy:
get:
operationId: getActiveV2Policy
summary: Get the active policy and its validation by policy type
description: |
**Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.
Returns the active policy and its validation for a specific policy type.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
tags:
- Policy Editor V2 (Beta)
x-rate-limit-category: query
parameters:
- name: policyType
in: query
required: true
description: The policy type(s) to retrieve. Can be a single type or multiple types by repeating the parameter (e.g., ?policyType=TRANSFER&policyType=MINT).
schema:
$ref: '#/components/schemas/PolicyTypeV2'
x-readme:
code-samples:
- language: python
code: |
# Single policy type
policy = fireblocks.get_active_policy(policyType="TRANSFER")
# Multiple policy types
policy = fireblocks.get_active_policy(policyType=["TRANSFER", "MINT"])
name: Fireblocks SDK Python example
- language: javascript
code: |
// Single policy type
const policy = await fireblocks.getActivePolicy({policyType: "TRANSFER"});
// Multiple policy types
const policy = await fireblocks.getActivePolicy({policyType: ["TRANSFER", "MINT"]});
name: Fireblocks SDK Javascript example
responses:
'200':
description: A policy object with validation
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyAndValidationResponseV2'
default:
$ref: '#/components/responses/Error'
/policy/draft:
get:
operationId: getV2Draft
summary: Get the active draft by policy type
description: |
**Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.
Returns the active draft and its validation for a specific policy type.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
tags:
- Policy Editor V2 (Beta)
x-rate-limit-category: read
parameters:
- name: policyType
in: query
required: true
description: The policy type(s) to retrieve. Can be a single type or multiple types by repeating the parameter (e.g., ?policyType=TRANSFER&policyType=MINT).
schema:
$ref: '#/components/schemas/PolicyTypeV2'
x-readme:
code-samples:
- language: python
code: |
# Single policy type
draft = fireblocks.get_draft(policyType="TRANSFER")
# Multiple policy types
draft = fireblocks.get_draft(policyType=["TRANSFER", "MINT"])
name: Fireblocks SDK Python example
- language: javascript
code: |
// Single policy type
const draft = await fireblocks.getDraft({policyType: "TRANSFER"});
// Multiple policy types
const draft = await fireblocks.getDraft({policyType: ["TRANSFER", "MINT"]});
name: Fireblocks SDK Javascript example
responses:
'200':
description: A draft validation response object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DraftReviewAndValidationResponseV2'
default:
$ref: '#/components/responses/Error'
put:
operationId: updateV2Draft
summary: Update the draft with a new set of rules by policy types
description: |
**Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.
Updates the draft and returns its validation for specific policy types.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
tags:
- Policy Editor V2 (Beta)
x-rate-limit-category: write
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
x-readme:
code-samples:
- language: python
code: |
draft = fireblocks.update_draft({"policyTypes": ["TRANSFER"], "rules": rules})
name: Fireblocks SDK Python example
- language: javascript
code: |
const draft = await fireblocks.updateDraft({policyTypes: ["TRANSFER"], rules: rules});
name: Fireblocks SDK Javascript example
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDraftRequestV2'
responses:
'200':
description: A draft validation response object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DraftReviewAndValidationResponseV2'
default:
$ref: '#/components/responses/Error'
post:
operationId: publishV2Draft
summary: Send publish request for a certain draft ID
description: |
**Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.
Publishes a draft policy by request, and returns the response.
**Endpoint Permissions:** Owner, Admin, Non-Signing Admin.
tags:
- Policy Editor V2 (Beta)
x-rate-limit-category: write
x-readme:
code-samples:
- language: python
code: |
policy = fireblocks.publish_draft({"policyTypes": ["TRANSFER"], "draftId": "draft-123"})
name: Fireblocks SDK Python example
- language: javascript
code: |
const policy = await fireblocks.publishDraft({policyTypes: ["TRANSFER"], draftId: "draft-123"});
name: Fireblocks SDK Javascript example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PublishDraftRequestV2'
responses:
'201':
description: A policy publish result object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/PublishResultV2'
default:
$ref: '#/components/responses/Error'
/management/users:
get:
operationId: getConsoleUsers
summary: Get console users
description: >-
Get console users for your workspace.
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: javascript
code: const consoleUsers = await fireblocks.getConsoleUsers();
name: Fireblocks SDK Javascript example
# - language: python
# code: consoleUsers = fireblocks.get_console_users()
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetConsoleUsersResponse>> =
fireblocks.consoleUser.getConsoleUsers();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetConsoleUsersResponse>> response =
fireblocks.consoleUser().getConsoleUsers();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.console_user.get_console_users();
name: Fireblocks SDK Python example
responses:
'200':
description: got console users
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetConsoleUsersResponse'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Lacking permissions.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetConsoleUsersResponse>>
= fireblocks.consoleUser.getConsoleUsers();
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetConsoleUsersResponse>> response =
fireblocks.consoleUser().getConsoleUsers();
- lang: Python
source: response = fireblocks.console_user.get_console_users();
post:
operationId: createConsoleUser
summary: Create console user
description: >-
Create console users in your workspace
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
Learn more about Fireblocks Users management in the following
[guide](https://developers.fireblocks.com/docs/manage-users).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: javascript
code: >-
const res = await fireblocks.createConsoleUser(firstName,
lastName, email, role);
name: Fireblocks SDK Javascript example
# - language: python
# code: >-
# res = fireblocks.create_console_user(first_name, last_name, email,
# role)
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.consoleUser.createConsoleUser(consoleUserApiCreateConsoleUserRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.consoleUser().createConsoleUser(createConsoleUser,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.console_user.create_console_user(create_console_user,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConsoleUser'
responses:
'200':
description: User creation approval request has been sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'400':
description: bad request
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Lacking permissions.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.consoleUser.createConsoleUser(consoleUserApiCreateConsoleUserRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.consoleUser().createConsoleUser(createConsoleUser,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.console_user.create_console_user(create_console_user,
idempotency_key);
/management/api_users:
get:
operationId: getApiUsers
summary: Get API Keys
description: >-
List all API keys in your workspace.
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: javascript
code: const apiUsers = await fireblocks.getApiUsers();
name: Fireblocks SDK Javascript example
# - language: python
# code: apiUsers = fireblocks.get_api_users()
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response: Promise<FireblocksResponse<GetAPIUsersResponse>> =
fireblocks.apiUser.getApiUsers();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetAPIUsersResponse>> response =
fireblocks.apiUser().getApiUsers();
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.api_user.get_api_users();
name: Fireblocks SDK Python example
responses:
'200':
description: Successfully returned all API Keys
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetAPIUsersResponse'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Lacking permissions.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<GetAPIUsersResponse>> =
fireblocks.apiUser.getApiUsers();
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetAPIUsersResponse>> response =
fireblocks.apiUser().getApiUsers();
- lang: Python
source: response = fireblocks.api_user.get_api_users();
post:
operationId: createApiUser
summary: Create API Key
description: >-
Create a new API key in your workspace.
Learn more about Fireblocks API Keys management in the following
[guide](https://developers.fireblocks.com/docs/manage-api-keys).
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: javascript
code: >-
const res = await fireblocks.createApiUser(name, role,
csrForNewUser, coSignerType, isFirstUser);
name: Fireblocks SDK Javascript example
# - language: python
# code: >-
# res = fireblocks.create_api_user(name, role, csr_pem,
# co_signer_setup, co_signer_setup_is_first_user)
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.apiUser.createApiUser(apiUserApiCreateApiUserRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.apiUser().createApiUser(createAPIUser, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.api_user.create_api_user(create_a_p_i_user,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAPIUser'
responses:
'200':
description: User creation approval request has been sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'400':
description: bad request
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Lacking permissions.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.apiUser.createApiUser(apiUserApiCreateApiUserRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.apiUser().createApiUser(createAPIUser, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.api_user.create_api_user(create_a_p_i_user,
idempotency_key);
/management/users/{id}/reset_device:
post:
operationId: resetDevice
summary: Resets device
description: >-
Resets mobile device for given console user, that user will need to do
mobile onboarding again.
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: javascript
code: const res = await fireblocks.resetDeviceRequest(consoleUserId);
name: Fireblocks SDK Javascript example
# - language: python
# code: res = fireblocks.reset_device_request(console_user_id)
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.resetDevice.resetDevice(resetDeviceApiResetDeviceRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.resetDevice().resetDevice(id, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.reset_device.reset_device(id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- in: path
name: id
required: true
description: The ID of the console user
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Reset device approval request has been sent
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Lacking permissions.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.resetDevice.resetDevice(resetDeviceApiResetDeviceRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.resetDevice().resetDevice(id, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.reset_device.reset_device(id,
idempotency_key);
/management/api_users/{userId}/whitelist_ip_addresses:
get:
operationId: getWhitelistIpAddresses
summary: Get whitelisted ip addresses for an API Key
description: >-
Get a list of the whitelisted IP addresses for a specific API Key
- Please note that this endpoint is available only for API keys with
Admin/Non Signing Admin permissions.
</br>Endpoint Permission: Admin, Non-Signing Admin.
tags:
- Workspace Management
x-readme:
code-samples:
- language: javascript
code: >-
const whitelistedAddresses = await
fireblocks.getWhitelistedAddresses(apiUserId);
name: Fireblocks SDK Javascript example
# - language: python
# code: >-
# whitelisted_addresses =
# fireblocks.get_whitelisted_ip_addresses(api_user_id)
# name: Fireblocks SDK Python example (Legacy)
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<GetWhitelistIpAddressesResponse>> =
fireblocks.whitelistIpAddresses.getWhitelistIpAddresses(whitelistIpAddressesApiGetWhitelistIpAddressesRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<GetWhitelistIpAddressesResponse>>
response =
fireblocks.whitelistIpAddresses().getWhitelistIpAddresses(userId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.whitelist_ip_addresses.get_whitelist_ip_addresses(user_id);
name: Fireblocks SDK Python example
parameters:
- in: path
name: userId
required: true
description: The ID of the api user
schema:
type: string
example: ceb990eb-838d-4de0-accf-924e8132dd67
responses:
'200':
description: successfully got whitelisted ip addresses
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/GetWhitelistIpAddressesResponse'
'401':
description: Unauthorized. Missing / invalid JWT token in Authorization header.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Lacking permissions.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
5XX:
description: Internal error.
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
$ref: '#/components/responses/Error'
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<GetWhitelistIpAddressesResponse>> =
fireblocks.whitelistIpAddresses.getWhitelistIpAddresses(whitelistIpAddressesApiGetWhitelistIpAddressesRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<GetWhitelistIpAddressesResponse>>
response =
fireblocks.whitelistIpAddresses().getWhitelistIpAddresses(userId);
- lang: Python
source: >-
response =
fireblocks.whitelist_ip_addresses.get_whitelist_ip_addresses(user_id);
/smart-transfers:
post:
operationId: createTicket
summary: Create Ticket
description: |
Creates a new Smart Transfer ticket. Learn more about Fireblocks Smart Transfers [here](https://developers.fireblocks.com/docs/execute-smart-transfers).
**Note:** The `DVP` value is in Early Access and should only be used if Fireblocks has enabled it in your workspace. Contact your Customer Success Manager for more information.
**Endpoint Permissions:** Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.createTicket(smartTransferApiCreateTicketRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response =
fireblocks.smartTransfer().createTicket(smartTransferCreateTicket,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.create_ticket(smart_transfer_create_ticket,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferCreateTicket'
responses:
'201':
description: Smart Transfer ticket was created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.createTicket(smartTransferApiCreateTicketRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
= fireblocks.smartTransfer().createTicket(smartTransferCreateTicket,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.create_ticket(smart_transfer_create_ticket,
idempotency_key);
get:
operationId: searchTickets
summary: Find Ticket
description: >-
Finds Smart Transfer tickets that match the submitted criteria.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor,
Viewer.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketFilteredResponse>> =
fireblocks.smartTransfer.searchTickets(smartTransferApiSearchTicketsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketFilteredResponse>>
response = fireblocks.smartTransfer().searchTickets(q, statuses,
networkId, createdByMe, expiresAfter, expiresBefore, type,
externalRefId, after, limit);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.smart_transfer.search_tickets(q, statuses,
network_id, created_by_me, expires_after, expires_before, type,
external_ref_id, after, limit);
name: Fireblocks SDK Python example
parameters:
- name: q
required: false
in: query
description: Search string - counterparty name or asset or ticketId. Optional
schema:
minLength: 1
type: string
example: BTC
- name: statuses
required: false
in: query
description: Ticket statuses for Smart Transfer tickets. Optional
example:
- DRAFT
- OPEN
schema:
default: []
type: array
items:
type: string
enum:
- DRAFT
- PENDING_APPROVAL
- OPEN
- IN_SETTLEMENT
- FULFILLED
- EXPIRED
- CANCELED
- name: networkId
required: false
in: query
description: "NetworkId that is used in the ticket\t. Optional"
schema:
type: string
example: cf6c9e4b-916a-4dae-9421-8782b20a44ea
- name: createdByMe
required: false
in: query
description: Filter created tickets by created by self or by others. Optional
schema:
type: boolean
- name: expiresAfter
required: false
in: query
description: Lower bound of search range. Optional
schema:
format: date-time
type: string
example: '2017-07-21T17:32:28Z'
- name: expiresBefore
required: false
in: query
description: Upper bound of search range. Optional
schema:
format: date-time
type: string
example: '2017-07-21T17:32:28Z'
- name: type
required: false
in: query
description: >-
Type of transfer. ASYNC executes transfers as they are funded,
ATOMIC executes all terms (legs) as one atomic transfer
schema:
enum:
- ASYNC
- DVP
type: string
- name: externalRefId
required: false
in: query
description: >-
External ref. ID that workspace can use to identify ticket outside
of Fireblocks system.
schema:
minLength: 1
maxLength: 64
type: string
example: some-external-reference
- name: after
required: false
in: query
description: ID of the record after which to fetch $limit records
schema:
type: string
example: aeda4201-7ec5-4276-a198-f0c62a5a8619
- name: limit
required: false
in: query
description: Number of records to fetch. By default, it is 100
schema:
minimum: 1
type: number
example: 20
responses:
'200':
description: Smart Transfer tickets were returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketFilteredResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketFilteredResponse>> =
fireblocks.smartTransfer.searchTickets(smartTransferApiSearchTicketsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketFilteredResponse>>
response = fireblocks.smartTransfer().searchTickets(q, statuses,
networkId, createdByMe, expiresAfter, expiresBefore, type,
externalRefId, after, limit);
- lang: Python
source: >-
response = fireblocks.smart_transfer.search_tickets(q, statuses,
network_id, created_by_me, expires_after, expires_before, type,
external_ref_id, after, limit);
/smart-transfers/{ticketId}:
get:
operationId: findTicketById
summary: Search Ticket by ID
description: >-
Find Smart Transfer ticket by id.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.findTicketById(smartTransferApiFindTicketByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response = fireblocks.smartTransfer().findTicketById(ticketId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.smart_transfer.find_ticket_by_id(ticket_id);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
example: 118320d2-761f-46c7-96cf-65e71a370b36
responses:
'200':
description: Smart Transfer ticket returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.findTicketById(smartTransferApiFindTicketByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
= fireblocks.smartTransfer().findTicketById(ticketId);
- lang: Python
source: response = fireblocks.smart_transfer.find_ticket_by_id(ticket_id);
/smart-transfers/{ticketId}/expires-in:
put:
operationId: setTicketExpiration
summary: Set expiration
description: >-
Set expiration date on Smart Transfer ticket.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.setTicketExpiration(smartTransferApiSetTicketExpirationRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response =
fireblocks.smartTransfer().setTicketExpiration(smartTransferSetTicketExpiration,
ticketId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.set_ticket_expiration(smart_transfer_set_ticket_expiration,
ticket_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferSetTicketExpiration'
responses:
'200':
description: Successfully set expiration date on Smart Transfer ticket
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.setTicketExpiration(smartTransferApiSetTicketExpirationRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
=
fireblocks.smartTransfer().setTicketExpiration(smartTransferSetTicketExpiration,
ticketId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.set_ticket_expiration(smart_transfer_set_ticket_expiration,
ticket_id, idempotency_key);
/smart-transfers/{ticketId}/external-id:
put:
operationId: setExternalRefId
summary: Add external ref. ID
description: >-
Set external id Smart Transfer ticket.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.setExternalRefId(smartTransferApiSetExternalRefIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response =
fireblocks.smartTransfer().setExternalRefId(smartTransferSetTicketExternalId,
ticketId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.set_external_ref_id(smart_transfer_set_ticket_external_id,
ticket_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferSetTicketExternalId'
responses:
'200':
description: Successfully set external id on Smart Transfer ticket
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.setExternalRefId(smartTransferApiSetExternalRefIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
=
fireblocks.smartTransfer().setExternalRefId(smartTransferSetTicketExternalId,
ticketId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.set_external_ref_id(smart_transfer_set_ticket_external_id,
ticket_id, idempotency_key);
/smart-transfers/{ticketId}/submit:
put:
operationId: submitTicket
summary: Submit ticket
description: >-
Submit Smart Transfer ticket - change status into ready for approval if
auto approval is not turned on, or OPEN if auto approval is on.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.submitTicket(smartTransferApiSubmitTicketRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response =
fireblocks.smartTransfer().submitTicket(smartTransferSubmitTicket,
ticketId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.submit_ticket(smart_transfer_submit_ticket,
ticket_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferSubmitTicket'
responses:
'200':
description: Successfully submitted Smart Transfer ticket
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.submitTicket(smartTransferApiSubmitTicketRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
= fireblocks.smartTransfer().submitTicket(smartTransferSubmitTicket,
ticketId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.submit_ticket(smart_transfer_submit_ticket,
ticket_id, idempotency_key);
/smart-transfers/{ticketId}/fulfill:
put:
operationId: fulfillTicket
summary: Fund ticket manually
description: >-
Manually fulfill ticket, in case when all terms (legs) are funded
manually.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.fulfillTicket(smartTransferApiFulfillTicketRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response = fireblocks.smartTransfer().fulfillTicket(ticketId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.smart_transfer.fulfill_ticket(ticket_id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Successfully fulfilled on Smart Transfer ticket
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.fulfillTicket(smartTransferApiFulfillTicketRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
= fireblocks.smartTransfer().fulfillTicket(ticketId,
idempotencyKey);
- lang: Python
source: >-
response = fireblocks.smart_transfer.fulfill_ticket(ticket_id,
idempotency_key);
/smart_transfers/{ticketId}/dvp/fund:
put:
operationId: fundDvpTicket
summary: Fund dvp ticket
description: Create or fulfill DvP ticket order
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferFundDvpTicket'
responses:
'200':
description: >-
Successfully started creating or fulfilling order on dvp Smart
Transfer ticket
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.fundDvpTicket(smartTransferApiFundDvpTicketRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response =
fireblocks.smartTransfer().fundDvpTicket(smartTransferFundDvpTicket,
ticketId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.fund_dvp_ticket(smart_transfer_fund_dvp_ticket,
ticket_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.fundDvpTicket(smartTransferApiFundDvpTicketRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
=
fireblocks.smartTransfer().fundDvpTicket(smartTransferFundDvpTicket,
ticketId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.fund_dvp_ticket(smart_transfer_fund_dvp_ticket,
ticket_id, idempotency_key);
/smart-transfers/{ticketId}/cancel:
put:
operationId: cancelTicket
summary: Cancel Ticket
description: >-
Cancel Smart Transfer ticket.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.cancelTicket(smartTransferApiCancelTicketRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>>
response = fireblocks.smartTransfer().cancelTicket(ticketId,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.smart_transfer.cancel_ticket(ticket_id,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
example: deea0e4a-c64d-41b5-b3c5-f7112369a7d4
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: Smart Transfer ticket successfully canceled
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketResponse>> =
fireblocks.smartTransfer.cancelTicket(smartTransferApiCancelTicketRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketResponse>> response
= fireblocks.smartTransfer().cancelTicket(ticketId, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.smart_transfer.cancel_ticket(ticket_id,
idempotency_key);
/smart-transfers/{ticketId}/terms:
post:
operationId: createTicketTerm
summary: Create leg (term)
description: >-
Creates new smart transfer ticket term (when the ticket status is DRAFT).
Learn more about Fireblocks Smart Transfers in the following
[guide](https://developers.fireblocks.com/docs/execute-smart-transfers).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.createTicketTerm(smartTransferApiCreateTicketTermRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().createTicketTerm(smartTransferCreateTicketTerm,
ticketId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.create_ticket_term(smart_transfer_create_ticket_term,
ticket_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
example: 900f04c3-83bc-428d-b681-aef682059637
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferCreateTicketTerm'
responses:
'201':
description: Smart Transfer ticket term was created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketTermResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.createTicketTerm(smartTransferApiCreateTicketTermRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().createTicketTerm(smartTransferCreateTicketTerm,
ticketId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.create_ticket_term(smart_transfer_create_ticket_term,
ticket_id, idempotency_key);
/smart-transfers/{ticketId}/terms/{termId}:
get:
operationId: findTicketTermById
summary: Get Smart Transfer ticket term
description: >-
Find a specific term of a specific Smart Transfer ticket.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.findTicketTermById(smartTransferApiFindTicketTermByIdRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response = fireblocks.smartTransfer().findTicketTermById(ticketId,
termId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.find_ticket_term_by_id(ticket_id,
term_id);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
example: 118320d2-761f-46c7-96cf-65e71a370b36
- name: termId
required: true
in: path
schema:
type: string
example: 88587a11-5a3e-4d90-8a63-5008d7a40fb4
responses:
'200':
description: Smart Transfer ticket term returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketTermResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.findTicketTermById(smartTransferApiFindTicketTermByIdRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response = fireblocks.smartTransfer().findTicketTermById(ticketId,
termId);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.find_ticket_term_by_id(ticket_id,
term_id);
put:
operationId: updateTicketTerm
summary: Update ticket leg (term)
description: >-
Update ticket term (when ticket status is DRAFT).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- name: termId
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferUpdateTicketTerm'
responses:
'200':
description: Smart Transfer ticket term updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketTermResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
tags:
- Smart Transfers
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.updateTicketTerm(smartTransferApiUpdateTicketTermRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().updateTicketTerm(smartTransferUpdateTicketTerm,
ticketId, termId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.update_ticket_term(smart_transfer_update_ticket_term,
ticket_id, term_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.updateTicketTerm(smartTransferApiUpdateTicketTermRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().updateTicketTerm(smartTransferUpdateTicketTerm,
ticketId, termId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.update_ticket_term(smart_transfer_update_ticket_term,
ticket_id, term_id, idempotency_key);
delete:
operationId: removeTicketTerm
summary: Delete ticket leg (term)
description: >-
Delete ticket term when ticket is in DRAFT status.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- name: termId
required: true
in: path
schema:
type: string
responses:
'204':
description: Smart Transfer ticket term successfully removed
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
tags:
- Smart Transfers
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.smartTransfer.removeTicketTerm(smartTransferApiRemoveTicketTermRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.smartTransfer().removeTicketTerm(ticketId, termId);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.smart_transfer.remove_ticket_term(ticket_id,
term_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.smartTransfer.removeTicketTerm(smartTransferApiRemoveTicketTermRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.smartTransfer().removeTicketTerm(ticketId, termId);
- lang: Python
source: >-
response = fireblocks.smart_transfer.remove_ticket_term(ticket_id,
term_id);
/smart-transfers/{ticketId}/terms/{termId}/fund:
put:
operationId: fundTicketTerm
summary: Define funding source
description: >-
Set funding source for ticket term (in case of ASYNC tickets, this will
execute transfer immediately).
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.fundTicketTerm(smartTransferApiFundTicketTermRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().fundTicketTerm(smartTransferFundTerm,
ticketId, termId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.fund_ticket_term(smart_transfer_fund_term,
ticket_id, term_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
example: 118320d2-761f-46c7-96cf-65e71a370b36
- name: termId
required: true
in: path
schema:
type: string
example: 88587a11-5a3e-4d90-8a63-5008d7a40fb4
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferFundTerm'
responses:
'201':
description: Funding source for ticket term successfully done
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketTermResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.fundTicketTerm(smartTransferApiFundTicketTermRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().fundTicketTerm(smartTransferFundTerm,
ticketId, termId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.fund_ticket_term(smart_transfer_fund_term,
ticket_id, term_id, idempotency_key);
/smart_transfers/{ticketId}/terms/{termId}/dvp/approve:
put:
operationId: approveDvPTicketTerm
summary: Set funding source and approval
description: >-
Set funding source for ticket term and creating approving transaction
for contract to transfer asset
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
- name: termId
required: true
in: path
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferApproveTerm'
responses:
'201':
description: Creating approval transaction started
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketTermResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.approveDvPTicketTerm(smartTransferApiApproveDvPTicketTermRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().approveDvPTicketTerm(smartTransferApproveTerm,
ticketId, termId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.approve_dv_p_ticket_term(smart_transfer_approve_term,
ticket_id, term_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.approveDvPTicketTerm(smartTransferApiApproveDvPTicketTermRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().approveDvPTicketTerm(smartTransferApproveTerm,
ticketId, termId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.approve_dv_p_ticket_term(smart_transfer_approve_term,
ticket_id, term_id, idempotency_key);
/smart-transfers/{ticketId}/terms/{termId}/manually-fund:
put:
operationId: manuallyFundTicketTerm
summary: Manually add term transaction
description: >-
Manually set ticket term transaction.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.manuallyFundTicketTerm(smartTransferApiManuallyFundTicketTermRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().manuallyFundTicketTerm(smartTransferManuallyFundTerm,
ticketId, termId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.manually_fund_ticket_term(smart_transfer_manually_fund_term,
ticket_id, term_id, idempotency_key);
name: Fireblocks SDK Python example
parameters:
- name: ticketId
required: true
in: path
schema:
type: string
example: 118320d2-761f-46c7-96cf-65e71a370b36
- name: termId
required: true
in: path
schema:
type: string
example: 88587a11-5a3e-4d90-8a63-5008d7a40fb4
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferManuallyFundTerm'
responses:
'201':
description: Successfully manually set ticket term transaction
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferTicketTermResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferNotFoundResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferTicketTermResponse>> =
fireblocks.smartTransfer.manuallyFundTicketTerm(smartTransferApiManuallyFundTicketTermRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferTicketTermResponse>>
response =
fireblocks.smartTransfer().manuallyFundTicketTerm(smartTransferManuallyFundTerm,
ticketId, termId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.manually_fund_ticket_term(smart_transfer_manually_fund_term,
ticket_id, term_id, idempotency_key);
/smart-transfers/settings/user-groups:
post:
operationId: setUserGroups
summary: Set user group
description: >-
Set Smart Transfers user group to receive email notifications for Smart
Transfers.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferUserGroupsResponse>> =
fireblocks.smartTransfer.setUserGroups(smartTransferApiSetUserGroupsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferUserGroupsResponse>>
response =
fireblocks.smartTransfer().setUserGroups(smartTransferSetUserGroups,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.set_user_groups(smart_transfer_set_user_groups,
idempotency_key);
name: Fireblocks SDK Python example
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferSetUserGroups'
responses:
'201':
description: User group settings were set successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferUserGroupsResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferUserGroupsResponse>> =
fireblocks.smartTransfer.setUserGroups(smartTransferApiSetUserGroupsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferUserGroupsResponse>>
response =
fireblocks.smartTransfer().setUserGroups(smartTransferSetUserGroups,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.smart_transfer.set_user_groups(smart_transfer_set_user_groups,
idempotency_key);
get:
operationId: getSmartTransferUserGroups
summary: Get user group
description: >-
Get Smart Transfer user groups.
</br>Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferUserGroupsResponse>> =
fireblocks.smartTransfer.getSmartTransferUserGroups();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferUserGroupsResponse>>
response =
fireblocks.smartTransfer().getSmartTransferUserGroups();
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.get_smart_transfer_user_groups();
name: Fireblocks SDK Python example
responses:
'200':
description: User group settings were returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferUserGroupsResponse'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
'422':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferBadRequestResponse'
tags:
- Smart Transfers
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<SmartTransferUserGroupsResponse>> =
fireblocks.smartTransfer.getSmartTransferUserGroups();
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferUserGroupsResponse>>
response = fireblocks.smartTransfer().getSmartTransferUserGroups();
- lang: Python
source: >-
response =
fireblocks.smart_transfer.get_smart_transfer_user_groups();
/smart_transfers/statistic:
get:
operationId: getSmartTransferStatistic
summary: Get smart transfers statistic
description: Get smart transfer statistic
responses:
'200':
description: Smart Transfer ticket statistic returned successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferStatistic'
'403':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/SmartTransferForbiddenResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Smart Transfers
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<SmartTransferStatistic>> =
fireblocks.smartTransfer.getSmartTransferStatistic();
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<SmartTransferStatistic>> response =
fireblocks.smartTransfer().getSmartTransferStatistic();
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.smart_transfer.get_smart_transfer_statistic();
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<SmartTransferStatistic>>
= fireblocks.smartTransfer.getSmartTransferStatistic();
- lang: Java
source: >-
CompletableFuture<ApiResponse<SmartTransferStatistic>> response =
fireblocks.smartTransfer().getSmartTransferStatistic();
- lang: Python
source: response = fireblocks.smart_transfer.get_smart_transfer_statistic();
/batch/jobs:
get:
operationId: getJobs
summary: Return a list of jobs belonging to tenant
description: >-
Get an array of objects including all active, paused, canceled, and
complete jobs in a workspace.
parameters:
- name: fromTime
description: Start of time range in ms since 1970
in: query
required: false
schema:
type: integer
- name: toTime
description: End of time range in ms since 1970
in: query
required: false
schema:
type: integer
responses:
'200':
description: An array of jobs
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Jobs'
default:
$ref: '#/components/responses/Error'
tags:
- Job Management
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Jobs>> =
fireblocks.jobManagement.getJobs(jobManagementApiGetJobsRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<Job>>> response =
fireblocks.jobManagement().getJobs(fromTime, toTime);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.job_management.get_jobs(from_time, to_time);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Jobs>> =
fireblocks.jobManagement.getJobs(jobManagementApiGetJobsRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<Job>>> response =
fireblocks.jobManagement().getJobs(fromTime, toTime);
- lang: Python
source: response = fireblocks.job_management.get_jobs(from_time, to_time);
/batch/{jobId}:
get:
operationId: getJob
summary: Get job details
description: Get an object describing the given job
parameters:
- in: path
required: true
name: jobId
description: The requested job id
schema:
type: string
responses:
'200':
description: A JSON object that describes the job
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
default:
$ref: '#/components/responses/Error'
tags:
- Job Management
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Job>> =
fireblocks.jobManagement.getJob(jobManagementApiGetJobRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Job>> response =
fireblocks.jobManagement().getJob(jobId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.job_management.get_job(job_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Job>> =
fireblocks.jobManagement.getJob(jobManagementApiGetJobRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Job>> response =
fireblocks.jobManagement().getJob(jobId);
- lang: Python
source: response = fireblocks.job_management.get_job(job_id);
/batch/{jobId}/pause:
post:
summary: Pause a job
description: >-
Pause the given job, after the current task is done. A paused job can
later be resumed by calling ‘continue’, or canceled.
operationId: pauseJob
parameters:
- in: path
required: true
name: jobId
description: The requested job id
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: paused successfully
default:
$ref: '#/components/responses/Error'
tags:
- Job Management
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.jobManagement.pauseJob(jobManagementApiPauseJobRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.jobManagement().pauseJob(jobId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.job_management.pause_job(job_id,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.jobManagement.pauseJob(jobManagementApiPauseJobRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.jobManagement().pauseJob(jobId, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.job_management.pause_job(job_id,
idempotency_key);
/batch/{jobId}/continue:
post:
operationId: continueJob
summary: Continue a paused job
description: Continue the given paused job.
parameters:
- in: path
required: true
name: jobId
description: The requested job id
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: continued successfully
default:
$ref: '#/components/responses/Error'
tags:
- Job Management
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.jobManagement.continueJob(jobManagementApiContinueJobRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.jobManagement().continueJob(jobId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.job_management.continue_job(job_id,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.jobManagement.continueJob(jobManagementApiContinueJobRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.jobManagement().continueJob(jobId, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.job_management.continue_job(job_id,
idempotency_key);
/batch/{jobId}/cancel:
post:
operationId: cancelJob
summary: Cancel a running job
description: >-
Stop the given job immediately. If the job is in the ‘Active’ state, the
job will be canceled after completing the current task. Vault accounts
and Wallets that are already created will not be affected.
parameters:
- in: path
required: true
name: jobId
description: The requested job id
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
responses:
'200':
description: canceled successfully
default:
$ref: '#/components/responses/Error'
tags:
- Job Management
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.jobManagement.cancelJob(jobManagementApiCancelJobRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.jobManagement().cancelJob(jobId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.job_management.cancel_job(job_id,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<void>> =
fireblocks.jobManagement.cancelJob(jobManagementApiCancelJobRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Void>> response =
fireblocks.jobManagement().cancelJob(jobId, idempotencyKey);
- lang: Python
source: >-
response = fireblocks.job_management.cancel_job(job_id,
idempotency_key);
/batch/{jobId}/tasks:
get:
operationId: getJobTasks
summary: Return a list of tasks for given job
description: Return a list of tasks for given job
parameters:
- in: path
required: true
name: jobId
description: The requested job id
schema:
type: string
responses:
'200':
description: An array of tasks
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Tasks'
default:
$ref: '#/components/responses/Error'
tags:
- Job Management
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Tasks>> =
fireblocks.jobManagement.getJobTasks(jobManagementApiGetJobTasksRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<List<Task>>> response =
fireblocks.jobManagement().getJobTasks(jobId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.job_management.get_job_tasks(job_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Tasks>> =
fireblocks.jobManagement.getJobTasks(jobManagementApiGetJobTasksRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<List<Task>>> response =
fireblocks.jobManagement().getJobTasks(jobId);
- lang: Python
source: response = fireblocks.job_management.get_job_tasks(job_id);
/cosigners:
get:
operationId: getCosigners
summary: Get all cosigners
description: >-
Get all workspace cosigners (paginated).
**Note:** These endpoints are currently in beta and might be subject to
changes.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: order
required: false
in: query
description: ASC / DESC ordering (default DESC)
example: ASC
schema:
default: DESC
enum:
- ASC
- DESC
type: string
- name: pageCursor
required: false
in: query
description: Cursor of the required page
schema:
type: string
- name: pageSize
required: false
in: query
description: Maximum number of items in the page
example: 10
schema:
minimum: 1
maximum: 100
default: 10
type: number
responses:
'200':
description: A paginated response containing Cosigner objects
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/CosignersPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<CosignersPaginatedResponse>> =
fireblocks.cosignersBeta.getCosigners(cosignersBetaApiGetCosignersRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<CosignersPaginatedResponse>>
response = fireblocks.cosignersBeta().getCosigners(order,
pageCursor, pageSize);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.cosigners_beta.get_cosigners(order,
page_cursor, page_size);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<CosignersPaginatedResponse>> =
fireblocks.cosignersBeta.getCosigners(cosignersBetaApiGetCosignersRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<CosignersPaginatedResponse>> response
= fireblocks.cosignersBeta().getCosigners(order, pageCursor,
pageSize);
- lang: Python
source: >-
response = fireblocks.cosigners_beta.get_cosigners(order,
page_cursor, page_size);
post:
operationId: addCosigner
summary: Add cosigner
description: >-
Add a new cosigner. The cosigner will be pending pairing until the API
key is manually paired
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddCosignerRequest'
responses:
'201':
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
description: Pending cosigner added
content:
application/json:
schema:
$ref: '#/components/schemas/AddCosignerResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<AddCosignerResponse>> =
fireblocks.cosignersBeta.addCosigner(cosignersBetaApiAddCosignerRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<AddCosignerResponse>> response =
fireblocks.cosignersBeta().addCosigner(addCosignerRequest,
idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.cosigners_beta.add_cosigner(add_cosigner_request,
idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<AddCosignerResponse>> =
fireblocks.cosignersBeta.addCosigner(cosignersBetaApiAddCosignerRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<AddCosignerResponse>> response =
fireblocks.cosignersBeta().addCosigner(addCosignerRequest,
idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.cosigners_beta.add_cosigner(add_cosigner_request,
idempotency_key);
/cosigners/{cosignerId}:
get:
operationId: getCosigner
summary: Get cosigner
description: >-
Get a cosigner by ID.
**Note:** These endpoints are currently in beta and might be subject to
changes.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
responses:
'200':
description: A cosigner object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Cosigner'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Cosigner>> =
fireblocks.cosignersBeta.getCosigner(cosignersBetaApiGetCosignerRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Cosigner>> response =
fireblocks.cosignersBeta().getCosigner(cosignerId);
name: Fireblocks SDK Java example
- language: python
code: response = fireblocks.cosigners_beta.get_cosigner(cosigner_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Cosigner>> =
fireblocks.cosignersBeta.getCosigner(cosignersBetaApiGetCosignerRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Cosigner>> response =
fireblocks.cosignersBeta().getCosigner(cosignerId);
- lang: Python
source: response = fireblocks.cosigners_beta.get_cosigner(cosigner_id);
patch:
operationId: renameCosigner
summary: Rename cosigner
description: >-
Rename a cosigner by ID.
**Note:** These endpoints are currently in beta and might be subject to
changes.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RenameCosigner'
responses:
'200':
description: A cosigner object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Cosigner'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Cosigner>> =
fireblocks.cosignersBeta.renameCosigner(cosignersBetaApiRenameCosignerRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Cosigner>> response =
fireblocks.cosignersBeta().renameCosigner(renameCosigner,
cosignerId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.cosigners_beta.rename_cosigner(rename_cosigner,
cosigner_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Cosigner>> =
fireblocks.cosignersBeta.renameCosigner(cosignersBetaApiRenameCosignerRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Cosigner>> response =
fireblocks.cosignersBeta().renameCosigner(renameCosigner,
cosignerId);
- lang: Python
source: >-
response =
fireblocks.cosigners_beta.rename_cosigner(rename_cosigner,
cosigner_id);
/cosigners/{cosignerId}/api_keys:
get:
operationId: getApiKeys
summary: Get all API keys
description: >-
Get all cosigner paired API keys (paginated).
**Note:** These endpoints are currently in beta and might be subject to
changes.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
- name: order
required: false
in: query
description: ASC / DESC ordering (default DESC)
example: ASC
schema:
default: DESC
enum:
- ASC
- DESC
type: string
- name: pageCursor
required: false
in: query
description: Cursor of the required page
schema:
type: string
- name: pageSize
required: false
in: query
description: Maximum number of items in the page
example: 10
schema:
minimum: 1
maximum: 100
default: 10
type: number
responses:
'200':
description: A paginated response containing ApiKey objects
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKeysPaginatedResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<ApiKeysPaginatedResponse>> =
fireblocks.cosignersBeta.getApiKeys(cosignersBetaApiGetApiKeysRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ApiKeysPaginatedResponse>> response
= fireblocks.cosignersBeta().getApiKeys(cosignerId, order,
pageCursor, pageSize);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.cosigners_beta.get_api_keys(cosigner_id,
order, page_cursor, page_size);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<ApiKeysPaginatedResponse>> =
fireblocks.cosignersBeta.getApiKeys(cosignersBetaApiGetApiKeysRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ApiKeysPaginatedResponse>> response =
fireblocks.cosignersBeta().getApiKeys(cosignerId, order, pageCursor,
pageSize);
- lang: Python
source: >-
response = fireblocks.cosigners_beta.get_api_keys(cosigner_id,
order, page_cursor, page_size);
/cosigners/{cosignerId}/api_keys/{apiKeyId}:
get:
operationId: getApiKey
summary: Get API key
description: >-
Get an API key by ID.
**Note:** These endpoints are currently in beta and might be subject to
changes.
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
- name: apiKeyId
required: true
in: path
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
type: string
responses:
'200':
description: An ApiKey object
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ApiKey>> =
fireblocks.cosignersBeta.getApiKey(cosignersBetaApiGetApiKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ApiKey>> response =
fireblocks.cosignersBeta().getApiKey(cosignerId, apiKeyId);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.cosigners_beta.get_api_key(cosigner_id,
api_key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ApiKey>> =
fireblocks.cosignersBeta.getApiKey(cosignersBetaApiGetApiKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ApiKey>> response =
fireblocks.cosignersBeta().getApiKey(cosignerId, apiKeyId);
- lang: Python
source: >-
response = fireblocks.cosigners_beta.get_api_key(cosigner_id,
api_key_id);
put:
operationId: pairApiKey
summary: Pair API key
description: >-
Pair an API key to a cosigner
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
- name: apiKeyId
required: true
in: path
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
type: string
- $ref: '#/components/parameters/X-Idempotency-Key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PairApiKeyRequest'
responses:
'202':
description: The API key object to be paired
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
Location:
$ref: '#/components/headers/Location'
content:
application/json:
schema:
$ref: '#/components/schemas/PairApiKeyResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<PairApiKeyResponse>> =
fireblocks.cosignersBeta.pairApiKey(cosignersBetaApiPairApiKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<PairApiKeyResponse>> response =
fireblocks.cosignersBeta().pairApiKey(pairApiKeyRequest,
cosignerId, apiKeyId, idempotencyKey);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.cosigners_beta.pair_api_key(pair_api_key_request,
cosigner_id, api_key_id, idempotency_key);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<PairApiKeyResponse>> =
fireblocks.cosignersBeta.pairApiKey(cosignersBetaApiPairApiKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<PairApiKeyResponse>> response =
fireblocks.cosignersBeta().pairApiKey(pairApiKeyRequest, cosignerId,
apiKeyId, idempotencyKey);
- lang: Python
source: >-
response =
fireblocks.cosigners_beta.pair_api_key(pair_api_key_request,
cosigner_id, api_key_id, idempotency_key);
delete:
operationId: unpairApiKey
summary: Unpair API key
description: >-
Unpair an API key from a cosigner
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
- name: apiKeyId
required: true
in: path
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
type: string
responses:
'202':
description: The API key object to be unpaired
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
Location:
$ref: '#/components/headers/Location'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiKey'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<ApiKey>> =
fireblocks.cosignersBeta.unpairApiKey(cosignersBetaApiUnpairApiKeyRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<ApiKey>> response =
fireblocks.cosignersBeta().unpairApiKey(cosignerId, apiKeyId);
name: Fireblocks SDK Java example
- language: python
code: >-
response = fireblocks.cosigners_beta.unpair_api_key(cosigner_id,
api_key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<ApiKey>> =
fireblocks.cosignersBeta.unpairApiKey(cosignersBetaApiUnpairApiKeyRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<ApiKey>> response =
fireblocks.cosignersBeta().unpairApiKey(cosignerId, apiKeyId);
- lang: Python
source: >-
response = fireblocks.cosigners_beta.unpair_api_key(cosigner_id,
api_key_id);
patch:
operationId: updateCallbackHandler
summary: Update API key callback handler
description: >-
Update the callback handler of an API key
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
- name: apiKeyId
required: true
in: path
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCallbackHandlerRequest'
responses:
'202':
description: The API key object with the new callback handler
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
Location:
$ref: '#/components/headers/Location'
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCallbackHandlerResponse'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response:
Promise<FireblocksResponse<UpdateCallbackHandlerResponse>> =
fireblocks.cosignersBeta.updateCallbackHandler(cosignersBetaApiUpdateCallbackHandlerRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<UpdateCallbackHandlerResponse>>
response =
fireblocks.cosignersBeta().updateCallbackHandler(updateCallbackHandlerRequest,
cosignerId, apiKeyId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.cosigners_beta.update_callback_handler(update_callback_handler_request,
cosigner_id, api_key_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response:
Promise<FireblocksResponse<UpdateCallbackHandlerResponse>> =
fireblocks.cosignersBeta.updateCallbackHandler(cosignersBetaApiUpdateCallbackHandlerRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<UpdateCallbackHandlerResponse>>
response =
fireblocks.cosignersBeta().updateCallbackHandler(updateCallbackHandlerRequest,
cosignerId, apiKeyId);
- lang: Python
source: >-
response =
fireblocks.cosigners_beta.update_callback_handler(update_callback_handler_request,
cosigner_id, api_key_id);
/cosigners/{cosignerId}/api_keys/{apiKeyId}/{requestId}:
get:
operationId: getRequestStatus
summary: Get request status
description: >-
Get the status of an asynchronous request
</br>Endpoint Permission: Admin and Non-Signing Admin.
parameters:
- name: cosignerId
required: true
in: path
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
format: uuid
type: string
- name: apiKeyId
required: true
in: path
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
schema:
type: string
- name: requestId
required: true
in: path
schema:
type: string
responses:
'200':
description: The status of the request
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
default:
$ref: '#/components/responses/Error'
tags:
- Cosigners (Beta)
x-readme:
code-samples:
- language: typescript
code: >-
const response: Promise<FireblocksResponse<Status>> =
fireblocks.cosignersBeta.getRequestStatus(cosignersBetaApiGetRequestStatusRequest);
name: Fireblocks SDK TypeScript example
- language: java
code: >-
CompletableFuture<ApiResponse<Status>> response =
fireblocks.cosignersBeta().getRequestStatus(cosignerId, apiKeyId,
requestId);
name: Fireblocks SDK Java example
- language: python
code: >-
response =
fireblocks.cosigners_beta.get_request_status(cosigner_id,
api_key_id, request_id);
name: Fireblocks SDK Python example
x-codeSamples:
- lang: TypeScript
source: >-
const response: Promise<FireblocksResponse<Status>> =
fireblocks.cosignersBeta.getRequestStatus(cosignersBetaApiGetRequestStatusRequest);
- lang: Java
source: >-
CompletableFuture<ApiResponse<Status>> response =
fireblocks.cosignersBeta().getRequestStatus(cosignerId, apiKeyId,
requestId);
- lang: Python
source: >-
response = fireblocks.cosigners_beta.get_request_status(cosigner_id,
api_key_id, request_id);
components:
securitySchemes:
bearerTokenAuth:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
headers:
X-Request-ID:
schema:
type: string
example: 8a11a1e2-0d23-408c-b39a-e2a5e201991b
description: >-
Unique ID correlated to the API request. Please provide it in any
support ticket you create or on Github issues related to Fireblocks SDKs
next-page:
schema:
type: string
description: >-
URL representing a new request to this API endpoint to receive the next
page of results.
prev-page:
schema:
type: string
description: >-
URL representing a new request to this API endpoint to receive the
previous page of results.
Location:
schema:
type: string
description: The location URL of the request status
example: >-
/v1/cosigners/7cd3c3d2-611b-43fe-98da-1e0bfe893e2f/api_keys/ec1ca5d4-3824-4c67-9bea-7f3f636b9f40/123456789
schemas:
TagAttachmentOperationAction:
type: string
enum:
- ATTACH
- DETACH
VaultAccountTagAttachmentOperation:
type: object
properties:
vaultAccountId:
description: The ID of the Vault account
example: "1"
type: string
format: numeric
tagId:
description: The tag ID
example: "f0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"
type: string
format: uuid
action:
$ref: '#/components/schemas/TagAttachmentOperationAction'
required:
- vaultAccountId
- tagId
- action
VaultAccountTagAttachmentPendingOperation:
type: object
properties:
vaultAccountId:
description: The ID of the vault account
example: "1"
type: string
format: numeric
tagId:
description: Tag ID
example: f0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
type: string
format: uuid
action:
$ref: '#/components/schemas/TagAttachmentOperationAction'
approvalRequestId:
description: Pending approval request ID
example: "12345"
type: string
required:
- vaultAccountId
- tagId
- action
- approvalRequestId
VaultAccountTagAttachmentRejectedOperation:
type: object
properties:
vaultAccountId:
description: The ID of the vault account
example: "1"
type: string
format: numeric
tagId:
description: Tag ID
example: "f0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"
type: string
format: uuid
action:
$ref: '#/components/schemas/TagAttachmentOperationAction'
reason:
description: Reason for rejection
type: string
enum:
- CAPACITY_EXCEEDED
- ATTACHMENT_ALREADY_EXISTS
- ATTACHMENT_DOES_NOT_EXIST
- PENDING_REQUEST_EXISTS
required:
- vaultAccountId
- tagId
- action
- reason
VaultAccountsTagAttachmentOperationsRequest:
type: object
properties:
vaultAccountIds:
description: The IDs of the vault accounts to attach tags to
example: ["0", "1"]
type: array
minItems: 1
maxItems: 100
items:
type: string
format: numeric
tagIdsToAttach:
description: The IDs of the tags to attach
example: ["df4c0987-30da-4976-8dcf-bc2dd41ae331", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
type: array
minItems: 1
maxItems: 20
items:
type: string
format: uuid
tagIdsToDetach:
description: The IDs of the tags to detach
example: ["df4c0987-30da-4976-8dcf-bc2dd41ae331", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
type: array
minItems: 1
maxItems: 20
items:
type: string
format: uuid
required:
- vaultAccountIds
VaultAccountsTagAttachmentOperationsResponse:
type: object
properties:
appliedOperations:
description: The operations that were applied
type: array
items:
$ref: '#/components/schemas/VaultAccountTagAttachmentOperation'
pendingOperations:
description: The operations that are pending
type: array
items:
$ref: '#/components/schemas/VaultAccountTagAttachmentPendingOperation'
rejectedOperations:
description: The operations that were rejected
type: array
items:
$ref: '#/components/schemas/VaultAccountTagAttachmentRejectedOperation'
ApprovalRequest:
type: object
description: Approval request details
properties:
id:
type: string
format: numeric
description: The approval request identifier
example: "12345"
type:
type: string
description: The approval request type
enum:
- TAG_UPDATE
- TAG_DELETE
- TAG_ATTACH_DETACH
state:
type: string
description: The approval request state
enum:
- PENDING
- APPROVED
- REJECTED
- FAILED
- CANCELLED
- EXPIRED
required:
- id
- type
- state
AbaPaymentInfo:
type: object
description: ABA payment information for US bank transfers
properties:
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "John"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Doe"
accountHolderCity:
type: string
description: The city where the account holder resides
example: "New York"
accountHolderCountry:
type: string
description: The country where the account holder resides (ISO 3166-1 alpha-2 code)
example: "US"
accountHolderAddress1:
type: string
description: The primary address line of the account holder
example: "123 Wall Street"
accountHolderAddress2:
type: string
description: The secondary address line of the account holder (optional)
example: "Suite 100"
accountHolderDistrict:
type: string
description: The district or region where the account holder resides
example: "Manhattan"
accountHolderPostalCode:
type: string
description: The postal code of the account holder's address
example: "10005"
abaRoutingNumber:
type: string
description: The ABA routing number for the bank
example: "021000021"
abaAccountNumber:
type: string
description: The account number at the bank
example: "1234567890"
abaCountry:
type: string
description: The country for the ABA transfer (ISO 3166-1 alpha-2 code)
example: "US"
required:
- accountHolderGivenName
- accountHolderCity
- accountHolderCountry
- accountHolderAddress1
- accountHolderPostalCode
- abaRoutingNumber
- abaAccountNumber
- abaCountry
SolanaInstructionWithValue:
type: object
properties:
name:
type: string
description: The name of the instruction
example: approve
discriminator:
type: array
items:
type: number
description: The discriminator for the instruction. Acts as a function selector
example: [13]
accounts:
type: array
items:
$ref: '#/components/schemas/SOLAccountWithValue'
args:
type: array
description: The arguments of the instruction
items:
$ref: '#/components/schemas/SolParameterWithValue'
required:
- name
- discriminator
- accounts
- args
SOLAccountWithValue:
type: object
properties:
name:
type: string
description: The name of the account
example: mint
signer:
type: boolean
description: Indicates if the account needs to sign the instruction. If true a signature for this account must be provided
example: false
writable:
type: boolean
description: Indicates if the account's data can be changed by the instruction.
example: true
address:
type: string
description: The address of the account
example: 4PVcDXAkAgQkVx4puiSXdZ5H8BrTqUzstJBKKWFy3XsH
required:
- name
- address
SolParameterWithValue:
type: object
properties:
value:
type: string
description: The value of the parameter
example: "1000000"
name:
type: string
description: The name of the parameter
example: mint
type:
$ref: '#/components/schemas/IdlType'
required:
- name
- type
- value
IdlType:
type: string
enum:
- bool
- u8
- i8
- u16
- i16
- u32
- i32
- f32
- u64
- i64
- f64
- u128
- i128
- u256
- i256
- bytes
- string
- pubkey
description: The type of the parameter
example: u8
AccessType:
discriminator:
propertyName: type
mapping:
PROVIDER_ACCOUNT: '#/components/schemas/AccountAccess'
PROVIDER: '#/components/schemas/DirectAccess'
oneOf:
- $ref: '#/components/schemas/AccountAccess'
- $ref: '#/components/schemas/DirectAccess'
AccountAccess:
type: object
properties:
type:
type: string
enum: [PROVIDER_ACCOUNT]
description: Indicates this uses account-based access
providerId:
type: string
description: The ID of the provider
accountId:
type: string
description: The ID of the account
required:
- type
- accountId
example:
type: PROVIDER_ACCOUNT
providerId: bridge-provider-001
accountId: acc_9f4e2d8b1c6a5e73
AccountBase:
type: object
properties:
id:
type: string
description: The ID of the account
name:
type: string
description: The name of the account
required:
- id
- name
example:
id: acc_9f4e2d8b1c6a5e73
name: Main Trading Account
AccountBasedAccessProvider:
allOf:
- $ref: '#/components/schemas/BaseProvider'
- type: object
properties:
manifest:
$ref: '#/components/schemas/Manifest'
connected:
type: boolean
description: Whether the provider is currently connected
accounts:
type: array
items:
$ref: '#/components/schemas/AccountBase'
required:
- accountBased
- manifest
- connected
example:
id: "prov_9a2c4e8f7b1d3a6e"
name: "Premium Trading Co"
logo: "https://example.com/logos/premium-trading-co.png"
accountBased: true
manifest:
assetTypes: ["DIGITAL", "FIAT"]
capabilities: ["SPOT_TRADING"]
connected: true
accounts: [{ "id": "acc_5f8e2d9c1a7b4e36", "name": "Trading Account 1", "description": "Primary trading account" }]
AccountHolderDetails:
type: object
properties:
name:
description: Full name of the account holder.
type: string
city:
type: string
country:
description: Country code, as specified in ISO 3166-1 alpha-2.
type: string
subdivision:
description: Country administrative subdivision, as specified in ISO 3166-2.
type: string
address:
description: Account holder street address.
type: string
postalCode:
type: string
required:
- name
example:
name: "John Smith"
city: "New York"
country: "US"
subdivision: "NY"
address: "123 Wall Street, Apt 4B"
postalCode: "10005"
AccountProviderID:
type: object
properties:
providerId:
type: string
description: The ID of the provider associated with the account.
accountId:
type: string
description: The ID of the account associated with the provider.
required:
- accountId
- providerId
example:
providerId: "prov_8c3f1a4b2d6e9f7c"
accountId: "acc_5e9a2d1c4b7f3e8a"
AccountReference:
discriminator:
propertyName: type
mapping:
VAULT_ACCOUNT: '#/components/schemas/InternalReference'
EXCHANGE_ACCOUNT: '#/components/schemas/InternalReference'
INTERNAL_WALLET: '#/components/schemas/InternalReference'
EXTERNAL_WALLET: '#/components/schemas/InternalReference'
FIAT_ACCOUNT: '#/components/schemas/InternalReference'
ONE_TIME_ADDRESS: '#/components/schemas/OneTimeAddressReference'
oneOf:
- $ref: '#/components/schemas/InternalReference'
- $ref: '#/components/schemas/OneTimeAddressReference'
AchAccountType:
type: string
description: Type of the bank account.
enum:
- CHECKING
- SAVINGS
example: CHECKING
AchAddress:
type: object
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
bankName:
type: string
description: Name of the bank.
bankAccountNumber:
type: string
description: The bank account number for the ACH transfer.
pattern: '^\d{4,17}$'
routingNumber:
type: string
pattern: '^\d{9}$'
description: Routing number identifying the bank account.
accountType:
$ref: '#/components/schemas/AchAccountType'
required:
- accountHolder
- bankAccountNumber
- routingNumber
- accountType
example:
accountHolder:
name: "Sarah Johnson"
city: "Austin"
country: "US"
subdivision: "TX"
address: "456 Oak Avenue"
postalCode: "78701"
bankName: "Chase Bank"
bankAccountNumber: "1234567890123"
routingNumber: "021000021"
accountType: "CHECKING"
AchDestination:
type: object
properties:
type:
type: string
enum: [ACH]
address:
$ref: '#/components/schemas/AchAddress'
required:
- type
- address
example:
type: "ACH"
address:
accountHolder:
name: "Sarah Johnson"
city: "Austin"
country: "US"
subdivision: "TX"
address: "456 Oak Avenue"
postalCode: "78701"
bankName: "Chase Bank"
bankAccountNumber: "1234567890123"
routingNumber: "021000021"
accountType: "CHECKING"
AchPaymentInfo:
type: object
description: ACH payment information for US Automated Clearing House transfers
properties:
rail:
type: string
enum:
- ACH
description: The payment rail type for ACH transfers
example: "ACH"
addressingSystem:
type: string
enum:
- ACH
description: The addressing system used for ACH transfers
example: "ACH"
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "John"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Smith"
country:
type: string
description: The country for the transfer (ISO 3166-1 alpha-2 code)
example: "US"
accountNumber:
type: string
description: The bank account number
example: "1234567890"
routingNumber:
type: string
description: The bank routing number (ABA routing number)
example: "021000021"
accountType:
type: string
enum:
- CHECKING
- SAVINGS
description: The type of bank account
example: "CHECKING"
required:
- rail
- addressingSystem
- routingNumber
- accountType
- accountHolderGivenName
- accountHolderSurname
- country
- accountNumber
BaseProvider:
type: object
properties:
id:
type: string
description: Unique identifier for the provider
name:
type: string
description: Display name of the provider
logo:
type: string
description: URL to the logo image of the provider
accountBased:
type: boolean
description: Indicates whether the provider access model is through accounts or directly
required:
- id
- name
- accountBased
example:
id: "prov_7b4e2d9f1c8a5e3b"
name: "Global Exchange Partners"
logo: "https://example.com/logos/global-exchange-partners.png"
accountBased: false
BlockchainTransfer:
type: object
properties:
type:
type: string
enum: [BLOCKCHAIN]
txHash:
type: string
description: The hash of the transaction on the blockchain.
amount:
type: string
description: The amount of the transaction.
required:
- amount
example:
type: "BLOCKCHAIN"
txHash: "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b"
amount: "250.75"
BpsFee:
allOf:
- type: object
properties:
amountType:
type: string
enum: [BPS]
amount:
type: number
minimum: 0
maximum: 10000
description: Fee in basis points (1 = 0.01%, 10000 = 100%)
example: 50
required:
- amountType
- amount
example:
amountType: BPS
amount: 50
BusinessIdentification:
type: object
properties:
externalReferenceId:
type: string
entityType:
type: string
enum: [BUSINESS]
participantRelationshipType:
$ref: '#/components/schemas/ParticipantRelationshipType'
businessName:
type: string
registrationNumber:
type: string
postalAddress:
$ref: '#/components/schemas/PostalAddress'
required:
- externalReferenceId
- entityType
- participantRelationshipType
- businessName
- registrationNumber
- postalAddress
example:
externalReferenceId: "bus_ref_9f3e2d1c4b8a7e5f"
entityType: "BUSINESS"
participantRelationshipType: "COUNTERPARTY"
businessName: "TechCorp Solutions LLC"
registrationNumber: "TC-2023-001547"
postalAddress:
streetAddress: "789 Innovation Drive"
city: "San Francisco"
state: "CA"
postalCode: "94105"
country: "US"
Capability:
type: string
enum:
- WITHDRAWALS
- DEPOSITS
- TRADING
example: TRADING
CommittedQuoteType:
type: object
properties:
type:
type: string
enum: [COMMITTED]
description: Indicates this is a committed quote
expiresAt:
type: string
format: date-time
description: ISO 8601 timestamp of the expiration time of the quote.
required:
- type
- expiresAt
example:
type: "COMMITTED"
expiresAt: "2024-01-15T14:30:00.000Z"
CreateOrderRequest:
type: object
properties:
via:
$ref: '#/components/schemas/AccessType'
executionRequestDetails:
$ref: '#/components/schemas/ExecutionRequestDetails'
settlement:
$ref: '#/components/schemas/Settlement'
participantsIdentification:
$ref: '#/components/schemas/ParticipantsIdentification'
customerInternalReferenceId:
type: string
description: Internal reference ID for the customer
note:
type: string
maxLength: 512
description: Optional note for the order
required:
- via
- executionRequestDetails
- settlement
example:
via:
type: "PROVIDER_ACCOUNT"
providerId: "prov_8c3f1a4b2d6e9f7c"
accountId: "acc_5e9a2d1c4b7f3e8a"
executionRequestDetails:
type: "MARKET"
baseAssetId: "USD"
quoteAssetId: "BTC"
side: "BUY"
baseAmount: "1000.00"
settlement:
type: "DVP"
sourceAccount:
type: "VAULT_ACCOUNT"
id: "vault_acc_3f7e1d9b2c5a8e4f"
destinationAccount:
type: "VAULT_ACCOUNT"
id: "vault_acc_7b2e5d8f1c4a9e3b"
customerInternalReferenceId: "order_ref_2024_001"
note: "Monthly investment order"
CreateQuote:
type: object
properties:
scope:
type: array
items:
oneOf:
- $ref: '#/components/schemas/AccountProviderID'
- $ref: '#/components/schemas/ProviderID'
baseAssetId:
type: string
baseAssetRail:
$ref: '#/components/schemas/TransferRail'
quoteAssetId:
type: string
quoteAssetRail:
$ref: '#/components/schemas/TransferRail'
baseAmount:
type: string
pattern: '^\d+(\.\d+)?$'
description: The amount to convert from
example: "100.00"
slippageBps:
type: number
description: Slippage tolerance in basis points (bps) for defi quotes - 1 is 0.01% and 10000 is 100%
default: 50
minimum: 1
maximum: 10000
settlement:
$ref: '#/components/schemas/DVPSettlement'
side:
type: string
enum: [BUY, SELL]
description: Side of the order
required:
- quoteAssetId
- baseAssetId
- baseAmount
- side
- scope
example:
scope: [{ "providerId": "prov_8c3f1a4b2d6e9f7c", "accountId": "acc_5e9a2d1c4b7f3e8a" }]
baseAssetId: "USD"
baseAssetRail: "FIAT_RAILS"
quoteAssetId: "BTC"
quoteAssetRail: "BLOCKCHAIN_RAILS"
baseAmount: "1000.00"
side: "BUY"
slippageBps: 100
settlement:
type: "DVP"
sourceAccount:
type: "VAULT_ACCOUNT"
id: "vault_acc_3f7e1d9b2c5a8e4f"
destinationAccount:
type: "VAULT_ACCOUNT"
id: "vault_acc_7b2e5d8f1c4a9e3b"
DVPSettlement:
type: object
description: Source/Destination accounts for the quote (must have for defi quotes)
properties:
type:
type: string
enum: [DVP]
sourceAccount:
$ref: '#/components/schemas/SettlementSourceAccount'
destinationAccount:
$ref: '#/components/schemas/AccountReference'
required:
- type
- sourceAccount
- destinationAccount
example:
type: "DVP"
sourceAccount:
type: "VAULT_ACCOUNT"
id: "vault_acc_3f7e1d9b2c5a8e4f"
destinationAccount:
type: "VAULT_ACCOUNT"
id: "vault_acc_7b2e5d8f1c4a9e3b"
DirectAccess:
type: object
properties:
type:
type: string
enum: [PROVIDER]
description: Indicates this uses direct provider access
providerId:
type: string
description: The ID of the provider
required:
- type
- providerId
example:
type: PROVIDER
providerId: uniswap-v3-provider
DirectAccessProvider:
allOf:
- $ref: '#/components/schemas/BaseProvider'
- type: object
properties:
approved:
type: boolean
description: Whether the provider was approved for use
hasTermsOfService:
type: boolean
description: Whether the provider has terms of service
termsOfServiceUrl:
type: string
description: URL to the terms of service document
required:
- accountBased
- hasTermsOfService
example:
id: "prov_2f8e1d9b4c7a5e3f"
name: "DirectTrade Solutions"
logo: "https://example.com/logos/directtrade-solutions.png"
accountBased: false
approved: true
hasTermsOfService: true
termsOfServiceUrl: "https://directtrade.example.com/terms"
ErrorCodes:
type: string
enum:
- INVALID_TOKEN
- MISSING_PARAMETER
- INVALID_PARAMETER
- RESOURCE_NOT_FOUND
- INVALID_TIME_RANGE
- UNAUTHORIZED
- ACCOUNT_NOT_ACTIVE
- UNMANAGED_WALLET_NOT_APPROVED
example: INVALID_PARAMETER
ExecutionRequestBaseDetails:
type: object
properties:
side:
type: string
enum: [BUY, SELL]
description: Side of the order
default: BUY
baseAmount:
type: string
description: Amount to convert
baseAssetId:
type: string
description: Source asset identifier
baseAssetRail:
$ref: '#/components/schemas/TransferRail'
quoteAssetId:
type: string
description: Target asset identifier
quoteAssetRail:
$ref: '#/components/schemas/TransferRail'
required:
- baseAmount
- baseAssetId
- quoteAssetId
- side
example:
side: BUY
baseAmount: "1000.00"
baseAssetId: USDC
baseAssetRail: BLOCKCHAIN
quoteAssetId: BTC
quoteAssetRail: BLOCKCHAIN
ExecutionRequestDetails:
description: Order execution details
discriminator:
propertyName: type
mapping:
LIMIT: '#/components/schemas/LimitExecutionRequestDetails'
MARKET: '#/components/schemas/MarketExecutionRequestDetails'
QUOTE: '#/components/schemas/QuoteExecutionWithRequoteRequestDetails'
oneOf:
- $ref: '#/components/schemas/LimitExecutionRequestDetails'
- $ref: '#/components/schemas/MarketExecutionRequestDetails'
- $ref: '#/components/schemas/QuoteExecutionWithRequoteRequestDetails'
ExecutionResponseBaseDetails:
type: object
properties:
side:
type: string
enum: [BUY, SELL]
description: Side of the order
default: BUY
baseAmount:
type: string
description: Amount to convert
baseAssetId:
type: string
description: Source asset identifier
baseAssetRail:
$ref: '#/components/schemas/TransferRail'
quoteAssetId:
type: string
description: Target asset identifier
quoteAssetRail:
$ref: '#/components/schemas/TransferRail'
required:
- baseAmount
- baseAssetId
- quoteAssetId
- side
example:
side: BUY
baseAmount: "1000.00"
baseAssetId: USDC
baseAssetRail: BLOCKCHAIN
quoteAssetId: BTC
quoteAssetRail: BLOCKCHAIN
ExecutionResponseDetails:
discriminator:
propertyName: type
mapping:
LIMIT: '#/components/schemas/LimitExecutionResponseDetails'
MARKET: '#/components/schemas/MarketExecutionResponseDetails'
QUOTE: '#/components/schemas/QuoteExecutionWithRequoteResponseDetails'
oneOf:
- $ref: '#/components/schemas/LimitExecutionResponseDetails'
- $ref: '#/components/schemas/MarketExecutionResponseDetails'
- $ref: '#/components/schemas/QuoteExecutionWithRequoteResponseDetails'
ExecutionStep:
type: object
properties:
type:
$ref: '#/components/schemas/ExecutionStepType'
status:
$ref: '#/components/schemas/ExecutionStepStatusEnum'
fee:
$ref: '#/components/schemas/Fee'
txId:
type: string
txHash:
type: string
error:
$ref: '#/components/schemas/ExecutionStepError'
required:
- type
- status
example:
type: EXECUTE
status: PROCESSING
fee:
feeType: NETWORK
assetId: ETH
amountType: FIXED
amount: "0.01"
txId: tx_abc123def456
ExecutionStepDetails:
type: object
properties:
type:
$ref: '#/components/schemas/ExecutionStepType'
fee:
$ref: '#/components/schemas/Fee'
required:
- type
example:
type: "MARKET_EXECUTION"
fee:
feeType: "ORDER"
assetId: "USD"
amountType: "FIXED"
amount: "2.50"
ExecutionStepError:
type: string
enum:
- INTERNAL_ERROR
- QUOTE_EXPIRED
- INSUFFICIENT_OUTPUT_AMOUNT
- INSUFFICIENT_FUNDS
- LAST_TRANSACTION_FAILED
- SWAP_APPROVAL_FAILED
- PROVIDER_EXECUTION_ERROR
example: INSUFFICIENT_FUNDS
ExecutionStepStatus:
type: object
properties:
type:
$ref: '#/components/schemas/ExecutionStepType'
status:
$ref: '#/components/schemas/ExecutionStepStatusEnum'
fee:
$ref: '#/components/schemas/Fee'
txId:
type: string
txHash:
type: string
error:
$ref: '#/components/schemas/ExecutionStepError'
required:
- type
- status
example:
type: "MARKET_EXECUTION"
status: "PROCESSING"
fee:
feeType: "ORDER"
assetId: "USD"
amountType: "FIXED"
amount: "2.50"
txId: "tx_9f4e2d8b1c6a5e73"
txHash: "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b"
ExecutionStepStatusEnum:
type: string
enum:
- WAITING
- PROCESSING
- COMPLETED
- FAILED
- CANCELLED
example: PROCESSING
ExecutionStepType:
type: string
enum:
- APPROVE
- PERMIT
- CONTRACT_CALL
- EXECUTE
- SETTLEMENT
example: EXECUTE
ExternalAccount:
type: object
properties:
type:
type: string
enum: [EXTERNAL]
required:
- type
example:
type: "EXTERNAL"
Fee:
allOf:
- type: object
properties:
feeType:
type: string
enum: [ORDER, NETWORK, SPREAD]
description: |
The type of fee, such as ORDER, NETWORK, or SPREAD.
- `ORDER`: Fee for executing the order.
- `NETWORK`: Fee for network transactions.
- `SPREAD`: Fee for the difference between buy and sell prices.
assetId:
type: string
description: The asset identifier for the fee.
amountType:
type: string
enum: [FIXED, BPS]
description: The type of amount for the fee, either FIXED or BPS (basis points).
required:
- feeType
- assetId
- amountType
- discriminator:
propertyName: amountType
mapping:
FIXED: ./FixedFee.yml
BPS: ./BpsFee.yml
oneOf:
- $ref: '#/components/schemas/FixedFee'
- $ref: '#/components/schemas/BpsFee'
FiatDestination:
type: object
discriminator:
propertyName: type
mapping:
IBAN: '#/components/schemas/IbanDestination'
SWIFT: '#/components/schemas/SwiftDestination'
ACH: '#/components/schemas/AchDestination'
US_WIRE: '#/components/schemas/USWireDestination'
SPEI: '#/components/schemas/SpeiDestination'
SEPA: '#/components/schemas/SEPADestination'
PIX: '#/components/schemas/PixDestination'
LOCAL_BANK_TRANSFER_AFRICA: '#/components/schemas/LocalBankTransferAfricaDestination'
MOBILE_MONEY: '#/components/schemas/MobileMoneyDestination'
properties:
type:
type: string
enum:
- IBAN
- SWIFT
- ACH
- US_WIRE
- SPEI
- SEPA
- PIX
- LOCAL_BANK_TRANSFER_AFRICA
- MOBILE_MONEY
address:
$ref: '#/components/schemas/AccountHolderDetails'
required:
- type
- address
oneOf:
- $ref: '#/components/schemas/IbanDestination'
- $ref: '#/components/schemas/SwiftDestination'
- $ref: '#/components/schemas/AchDestination'
- $ref: '#/components/schemas/USWireDestination'
- $ref: '#/components/schemas/SpeiDestination'
- $ref: '#/components/schemas/SEPADestination'
- $ref: '#/components/schemas/PixDestination'
- $ref: '#/components/schemas/LocalBankTransferAfricaDestination'
- $ref: '#/components/schemas/MobileMoneyDestination'
FiatTransfer:
type: object
properties:
type:
type: string
enum: [FIAT]
amount:
type: string
description: The amount of the fiat transfer.
referenceId:
type: string
description: The reference ID for the fiat transfer.
required:
- amount
example:
type: "FIAT"
amount: "750.25"
referenceId: "fiat_ref_2024_003_789"
FixedFee:
allOf:
- type: object
properties:
amountType:
type: string
enum: [FIXED]
amount:
type: string
pattern: '^\d+(\.\d+)?$'
description: The fixed amount of the fee
example: "0.01"
required:
- amountType
- amount
example:
amountType: FIXED
amount: "0.01"
GetOrdersResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/OrderSummary'
total:
type: integer
description: Total number of orders matching the query.
next:
type: string
description: A cursor for the next page of results, if available.
required:
- total
- data
example:
data:
- id: "ord_5f8e2d9c1a7b4e36"
via:
type: "PROVIDER_ACCOUNT"
providerId: "prov_8c3f1a4b2d6e9f7c"
accountId: "acc_5e9a2d1c4b7f3e8a"
baseAmount: "1000.00"
quoteAmount: "0.02458"
baseAssetId: "USD"
quoteAssetId: "BTC"
status: "COMPLETED"
destination:
type: "VAULT_ACCOUNT"
accountId: "vault_acc_7b2e5d8f1c4a9e3b"
createdAt: "2024-01-15T10:30:00.000Z"
total: 1
next: "cursor_next_page_token"
Iban:
type: string
pattern: ^[A-Z]{2}\d{2}[a-zA-Z0-9]{1,30}$
example: "GB82WEST12345698765432"
IbanAddress:
type: object
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
iban:
$ref: '#/components/schemas/Iban'
required:
- accountHolder
- iban
example:
accountHolder:
name: "Maria Gonzalez"
city: "Madrid"
country: "ES"
subdivision: "MD"
address: "Calle Gran Via 123, 2°B"
postalCode: "28013"
iban: "ES9121000418450200051332"
IbanDestination:
type: object
properties:
type:
type: string
enum: [IBAN]
address:
$ref: '#/components/schemas/IbanAddress'
required:
- type
- address
example:
type: "IBAN"
address:
accountHolder:
name: "Maria Gonzalez"
city: "Madrid"
country: "ES"
subdivision: "MD"
address: "Calle Gran Via 123, 2°B"
postalCode: "28013"
iban: "ES9121000418450200051332"
IbanPaymentInfo:
type: object
description: IBAN payment information for European bank transfers
properties:
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "John"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Doe"
accountHolderCity:
type: string
description: The city where the account holder resides
example: "London"
accountHolderCountry:
type: string
description: The country where the account holder resides (ISO 3166-1 alpha-2 code)
example: "GB"
accountHolderAddress1:
type: string
description: The primary address line of the account holder
example: "123 Main Street"
accountHolderAddress2:
type: string
description: The secondary address line of the account holder (optional)
example: "Apartment 4B"
accountHolderDistrict:
type: string
description: The district or region where the account holder resides
example: "Westminster"
accountHolderPostalCode:
type: string
description: The postal code of the account holder's address
example: "SW1A 1AA"
iban:
type: string
description: The International Bank Account Number (IBAN)
example: "GB82WEST12345698765432"
ibanCity:
type: string
description: The city associated with the IBAN
example: "London"
ibanCountry:
type: string
description: The country associated with the IBAN (ISO 3166-1 alpha-2 code)
example: "GB"
required:
- accountHolderGivenName
- accountHolderCity
- accountHolderCountry
- accountHolderAddress1
- accountHolderPostalCode
- iban
- ibanCity
- ibanCountry
Identification:
discriminator:
propertyName: entityType
mapping:
INDIVIDUAL: '#/components/schemas/PersonalIdentification'
BUSINESS: '#/components/schemas/BusinessIdentification'
oneOf:
- $ref: '#/components/schemas/PersonalIdentification'
- $ref: '#/components/schemas/BusinessIdentification'
IndicativeQuoteType:
type: object
properties:
type:
type: string
enum: [INDICATIVE]
description: Indicates this is an indicative quote
required:
- type
example:
type: "INDICATIVE"
InternalReference:
type: object
properties:
type:
$ref: '#/components/schemas/PeerType'
accountId:
type: string
required:
- accountId
- type
example:
type: "VAULT_ACCOUNT"
accountId: "vault_acc_9f3e2d1c4b8a7e5f"
LbtPaymentInfo:
type: object
description: LBT (Lebanese Bank Transfer) payment information for Lebanese bank transfers
properties:
rail:
type: string
enum:
- LBT
description: The payment rail type for Lebanese bank transfers
example: "LBT"
addressingSystem:
type: string
enum:
- BAN
description: The addressing system used for Lebanese bank transfers (Bank Account Number)
example: "BAN"
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "Ahmad"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Khalil"
country:
type: string
description: The country for the transfer (ISO 3166-1 alpha-2 code)
example: "LB"
accountNumber:
type: string
description: The bank account number
example: "123456789012"
bankName:
type: string
description: The name of the bank
example: "Bank of Beirut"
bankCode:
type: string
description: The bank code or identifier
example: "001"
required:
- rail
- addressingSystem
- accountHolderGivenName
- accountHolderSurname
- country
- accountNumber
- bankName
- bankCode
LimitExecutionRequestDetails:
allOf:
- type: object
properties:
type:
type: string
enum: [LIMIT]
description: Order type for limit orders
timeInForce:
$ref: '#/components/schemas/TimeInForce'
limitPrice:
type: string
description: Price for limit orders
required:
- type
- timeInForce
- limitPrice
- $ref: '#/components/schemas/ExecutionRequestBaseDetails'
example:
type: "LIMIT"
timeInForce: "GTC"
limitPrice: "41000.00"
baseAssetId: "USD"
quoteAssetId: "BTC"
side: "BUY"
baseAmount: "1000.00"
LimitExecutionResponseDetails:
allOf:
- type: object
properties:
type:
type: string
enum: [LIMIT]
description: Order type for limit orders
timeInForce:
$ref: '#/components/schemas/TimeInForce'
limitPrice:
type: string
description: Price for limit orders
required:
- type
- timeInForce
- limitPrice
- $ref: '#/components/schemas/ExecutionResponseBaseDetails'
example:
type: "LIMIT"
timeInForce: "FOK"
limitPrice: "41000.00"
side: "BUY"
baseAmount: "1000.00"
baseAssetId: "USD"
quoteAssetId: "BTC"
baseAssetRail: "BLOCKCHAIN"
quoteAssetRail: "BLOCKCHAIN"
LocalBankAfricaAccountNumber:
type: string
pattern: ^\d{4,17}$
example: "1234567890123"
LocalBankTransferAfricaAddress:
type: object
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
accountNumber:
$ref: '#/components/schemas/LocalBankAfricaAccountNumber'
bankName:
type: string
description: Name of the bank
bankCode:
type: string
description: Internal bank identifier
required:
- accountHolder
- accountNumber
- bankName
- bankCode
example:
accountHolder:
name: Adaora Okafor
city: Lagos
country: NG
subdivision: LA
address: 15 Victoria Island Road
postalCode: "101001"
accountNumber: "1234567890123"
bankName: First Bank of Nigeria
bankCode: "011"
LocalBankTransferAfricaDestination:
type: object
properties:
type:
type: string
enum: [LOCAL_BANK_TRANSFER_AFRICA]
address:
$ref: '#/components/schemas/LocalBankTransferAfricaAddress'
required:
- type
- address
example:
type: LOCAL_BANK_TRANSFER_AFRICA
address:
accountHolder:
name: Adaora Okafor
city: Lagos
country: NG
subdivision: LA
address: 15 Victoria Island Road
postalCode: "101001"
accountNumber: "1234567890123"
bankName: First Bank of Nigeria
bankCode: "011"
Manifest:
type: object
properties:
assetTypes:
type: array
items:
type: string
enum:
- DIGITAL
- FIAT
capabilities:
type: array
items:
$ref: '#/components/schemas/Capability'
required:
- assetTypes
- capabilities
example:
assetTypes: ["DIGITAL", "FIAT"]
capabilities: ["SPOT_TRADING", "LIMIT_ORDERS"]
MarketExecutionRequestDetails:
allOf:
- type: object
properties:
type:
type: string
enum: [MARKET]
description: Order type for market orders
required:
- type
- $ref: '#/components/schemas/ExecutionRequestBaseDetails'
example:
type: "MARKET"
baseAssetId: "USD"
quoteAssetId: "BTC"
side: "BUY"
baseAmount: "1000.00"
MarketExecutionResponseDetails:
allOf:
- type: object
properties:
type:
type: string
enum: [MARKET]
description: Order type for market orders
required:
- type
- $ref: '#/components/schemas/ExecutionResponseBaseDetails'
example:
type: MARKET
side: BUY
baseAmount: "1000.00"
baseAssetId: USDC
baseAssetRail: BLOCKCHAIN
quoteAssetId: BTC
quoteAssetRail: BLOCKCHAIN
MarketRequoteRequestDetails:
type: object
properties:
type:
type: string
enum: [MARKET]
description: Indicates that the order should be re-quoted if the original quote is expired. This will lead to a market order.
required:
- type
example:
type: MARKET
MobileMoneyAddress:
type: object
required:
- accountHolder
- mobilePhoneNumber
- provider
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
mobilePhoneNumber:
$ref: '#/components/schemas/MobilePhoneNumber'
provider:
type: string
enum:
- m-pesa
- airtel
- mtn
- tigo
- orange
description: Mobile money provider
beneficiaryDocumentId:
type: string
description: Beneficiary document identification (may be required)
beneficiaryRelationship:
type: string
description: Relationship to beneficiary for AML purposes
example:
accountHolder:
name: Grace Wanjiku Kamau
city: Nairobi
country: KE
subdivision: NRB
address: Westlands Avenue 45
postalCode: "00100"
mobilePhoneNumber: "+254712345678"
provider: m-pesa
beneficiaryDocumentId: "12345678"
beneficiaryRelationship: self
MobileMoneyDestination:
type: object
properties:
type:
type: string
enum: [MOBILE_MONEY]
address:
$ref: '#/components/schemas/MobileMoneyAddress'
required:
- type
- address
example:
type: MOBILE_MONEY
address:
accountHolder:
name: Grace Wanjiku Kamau
city: Nairobi
country: KE
subdivision: NRB
address: Westlands Avenue 45
postalCode: "00100"
mobilePhoneNumber: "+254712345678"
provider: m-pesa
beneficiaryDocumentId: "12345678"
beneficiaryRelationship: self
MobilePhoneNumber:
type: string
pattern: ^\+[1-9]\d{1,14}$
description: Mobile phone number in E.164 format
example: "+14155551234"
MomoPaymentInfo:
type: object
description: Mobile Money (MOMO) payment information for African mobile payment services
properties:
rail:
type: string
enum:
- MOMO
description: The payment rail type for mobile money transfers
example: "MOMO"
addressingSystem:
type: string
enum:
- MOMO
description: The addressing system used for mobile money transfers
example: "MOMO"
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "Kwame"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Asante"
country:
type: string
description: The country for the transfer (ISO 3166-1 alpha-2 code)
example: "GH"
mobilePhoneNumber:
type: string
description: The mobile phone number associated with the mobile money account
example: "+233241234567"
provider:
type: string
enum:
- M_PESA
- AIRTEL
- MTN
- TIGO
description: The mobile money service provider
example: "MTN"
beneficiaryDocumentId:
type: string
description: The document ID of the beneficiary
example: "GHA-123456789-0"
beneficiaryRelationship:
type: string
description: The relationship between sender and beneficiary
example: "Family"
required:
- rail
- addressingSystem
- accountHolderGivenName
- accountHolderSurname
- country
- mobilePhoneNumber
- provider
OneTimeAddressReference:
type: object
properties:
type:
type: string
enum:
- ONE_TIME_ADDRESS
address:
type: string
tag:
type: string
required:
- type
- address
example:
type: "ONE_TIME_ADDRESS"
address: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
tag: "destination-memo-123"
OrderDetails:
type: object
properties:
id:
type: string
via:
$ref: '#/components/schemas/AccessType'
status:
$ref: '#/components/schemas/OrderStatus'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
receipt:
$ref: '#/components/schemas/TransferReceipt'
generalFees:
type: array
items:
$ref: '#/components/schemas/Fee'
executionSteps:
type: array
items:
$ref: '#/components/schemas/ExecutionStep'
executionResponseDetails:
$ref: '#/components/schemas/ExecutionResponseDetails'
settlement:
$ref: '#/components/schemas/Settlement'
participantsIdentification:
$ref: '#/components/schemas/ParticipantsIdentification'
paymentInstructions:
type: array
description: Payment instructions for the order, the client can use one of these to pay the order.
items:
$ref: '#/components/schemas/PaymentInstructions'
createdBy:
type: string
description: The ID of the user who created the order
customerInternalReferenceId:
type: string
description: Internal reference ID for the customer
note:
type: string
maxLength: 512
description: Optional note for the Order
expiresAt:
type: string
format: date-time
required:
- id
- via
- status
- createdAt
- createdBy
- executionSteps
- settlement
- executionResponseDetails
example:
id: order_9f4e2d8b1c6a5e73
via:
type: PROVIDER_ACCOUNT
providerId: bridge-provider-001
accountId: acc_9f4e2d8b1c6a5e73
status: PROCESSING
createdAt: "2024-01-15T10:30:00.000Z"
updatedAt: "2024-01-15T10:30:30.000Z"
receipt:
type: BLOCKCHAIN
txHash: "0x1234567890abcdef"
amount: "0.02458"
generalFees:
- feeType: ORDER
assetId: USDC
amountType: FIXED
amount: "5.00"
executionSteps:
- type: EXECUTE
status: PROCESSING
fee:
feeType: NETWORK
assetId: ETH
amountType: FIXED
amount: "0.01"
txId: tx_abc123def456
executionResponseDetails:
type: MARKET
side: BUY
baseAmount: "1000.00"
baseAssetId: USDC
quoteAssetId: BTC
settlement:
type: PREFUNDED
destinationAccount:
type: VAULT_ACCOUNT
accountId: vault_acc_9f4e2d8b1c6a5e73
createdBy: user_123abc456def789
customerInternalReferenceId: order_ref_2024_001
note: Monthly investment order
OrderStatus:
type: string
enum:
- CREATED
- PENDING_USER_ACTION
- PROCESSING
- CANCELED
- COMPLETED
- FAILED
example: PROCESSING
OrderSummary:
type: object
properties:
id:
type: string
via:
$ref: '#/components/schemas/AccessType'
side:
type: string
enum: [BUY, SELL]
description: Side of the order
baseAmount:
type: string
quoteAmount:
type: string
baseAssetId:
type: string
quoteAssetId:
type: string
status:
$ref: '#/components/schemas/OrderStatus'
destination:
$ref: '#/components/schemas/AccountReference'
source:
$ref: '#/components/schemas/SettlementSourceAccount'
createdAt:
type: string
format: date-time
required:
- id
- via
- baseAmount
- baseAssetId
- quoteAssetId
- status
- destination
- createdAt
- side
example:
id: "ord_5f8e2d9c1a7b4e36"
via:
type: "PROVIDER_ACCOUNT"
providerId: "prov_8c3f1a4b2d6e9f7c"
accountId: "acc_5e9a2d1c4b7f3e8a"
side: "BUY"
baseAmount: "1000.00"
quoteAmount: "0.02458"
baseAssetId: "USD"
quoteAssetId: "BTC"
status: "COMPLETED"
destination:
type: "VAULT_ACCOUNT"
accountId: "vault_acc_7b2e5d8f1c4a9e3b"
source:
type: "VAULT_ACCOUNT"
accountId: "vault_acc_3f7e1d9b2c5a8e4f"
createdAt: "2024-01-15T10:30:00.000Z"
ParticipantRelationshipType:
type: string
enum: [FirstParty, SecondParty, ThirdParty]
example: FirstParty
ParticipantsIdentification:
description: KYC/AML participant identification
type: object
properties:
originator:
$ref: '#/components/schemas/Identification'
beneficiary:
$ref: '#/components/schemas/Identification'
example:
originator:
externalReferenceId: user_123456
entityType: INDIVIDUAL
participantRelationshipType: FirstParty
fullName:
firstName: John
lastName: Smith
dateOfBirth: "1985-03-15"
postalAddress:
streetName: Main Street
buildingNumber: "123"
postalCode: "10001"
city: New York
subdivision: NY
district: Manhattan
country: US
beneficiary:
externalReferenceId: user_789012
entityType: INDIVIDUAL
participantRelationshipType: ThirdParty
fullName:
firstName: Alice
lastName: Johnson
dateOfBirth: "1990-07-22"
postalAddress:
streetName: Broadway
buildingNumber: "456"
postalCode: "10002"
city: New York
subdivision: NY
district: Manhattan
country: US
PaymentInstructions:
type: object
properties:
type:
type: string
enum: [IBAN, SWIFT, ACH, US_WIRE, SPEI, SEPA, PIX, LOCAL_BANK_TRANSFER_AFRICA, MOBILE_MONEY]
address:
$ref: '#/components/schemas/AccountHolderDetails'
referenceId:
type: string
required:
- type
- address
- referenceId
example:
type: IBAN
address:
accountHolder:
name: John Smith
city: London
country: GB
subdivision: ENG
address: 123 King's Road
postalCode: SW3 4LX
iban: GB82WEST12345698765432
referenceId: PAY_INST_abc123def456
PeerType:
type: string
enum:
- VAULT_ACCOUNT
- EXCHANGE_ACCOUNT
- INTERNAL_WALLET
- EXTERNAL_WALLET
- FIAT_ACCOUNT
example: VAULT_ACCOUNT
PersonalIdentification:
type: object
properties:
externalReferenceId:
type: string
entityType:
type: string
enum: [INDIVIDUAL]
participantRelationshipType:
$ref: '#/components/schemas/ParticipantRelationshipType'
fullName:
type: object
properties:
firstName:
type: string
lastName:
type: string
required:
- firstName
- lastName
dateOfBirth:
type: string
format: date
postalAddress:
$ref: '#/components/schemas/PostalAddress'
required:
- externalReferenceId
- entityType
- participantRelationshipType
- fullName
- dateOfBirth
- postalAddress
example:
externalReferenceId: "person_ref_7f3e2d1c4b8a5e9f"
entityType: "INDIVIDUAL"
participantRelationshipType: "FirstParty"
fullName:
firstName: "Alexander"
lastName: "Johnson"
dateOfBirth: "1985-03-15"
postalAddress:
streetName: "Oak Street"
buildingNumber: "742"
postalCode: "90210"
city: "Beverly Hills"
subdivision: "CA"
district: "Los Angeles County"
country: "US"
PixAddress:
type: object
required:
- accountHolder
- pixKey
- keyType
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
pixKey:
type: string
keyType:
type: string
enum:
- cpf
- cnpj
- email
- phone
- random
bankName:
type: string
bankCode:
type: string
example:
accountHolder:
name: Maria Silva Santos
city: São Paulo
country: BR
subdivision: SP
address: Rua das Flores, 123
postalCode: "01234-567"
pixKey: "11987654321"
keyType: phone
bankName: Banco do Brasil
bankCode: "001"
PixDestination:
type: object
properties:
type:
type: string
enum: [PIX]
address:
$ref: '#/components/schemas/PixAddress'
required:
- type
- address
example:
type: PIX
address:
accountHolder:
name: Maria Silva Santos
city: São Paulo
country: BR
subdivision: SP
address: Rua das Flores, 123
postalCode: "01234-567"
pixKey: "11987654321"
keyType: phone
bankName: Banco do Brasil
bankCode: "001"
PixPaymentInfo:
type: object
description: PIX payment information for Brazilian instant payments
properties:
rail:
type: string
enum:
- PIX
description: The payment rail type for PIX transfers
example: "PIX"
addressingSystem:
type: string
enum:
- PIX
description: The addressing system used for PIX transfers
example: "PIX"
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "João"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Silva"
country:
type: string
description: The country for the transfer (ISO 3166-1 alpha-2 code)
example: "BR"
pixKey:
type: string
description: The PIX key used for the transfer
example: "joao.silva@email.com"
bankName:
type: string
description: The name of the bank
example: "Banco do Brasil"
bankCode:
type: string
description: The bank code (ISPB - Identificador do Sistema de Pagamentos Brasileiros)
example: "00000000"
keyType:
type: string
enum:
- CPF
- CNPJ
- EMAIL
- PHONE
- RANDOM
description: The type of PIX key being used
example: "EMAIL"
required:
- rail
- addressingSystem
- accountHolderGivenName
- accountHolderSurname
- country
- pixKey
- keyType
PlatformAccount:
type: object
properties:
type:
type: string
enum: [VAULT_ACCOUNT, CONNECTED_ACCOUNT, FIAT_ACCOUNT]
accountId:
type: string
required:
- type
- accountId
example:
type: "VAULT_ACCOUNT"
accountId: "vault_acc_5e9a2d1c4b7f3e8a"
PostOrderSettlement:
type: object
properties:
type:
type: string
enum: [POST_ORDER]
required:
- type
example:
type: POST_ORDER
PostalAddress:
type: object
properties:
streetName:
type: string
buildingNumber:
type: string
postalCode:
type: string
city:
type: string
subdivision:
type: string
district:
type: string
country:
type: string
required:
- streetName
- buildingNumber
- postalCode
- city
- subdivision
- district
- country
example:
streetName: "Fifth Avenue"
buildingNumber: "350"
postalCode: "10118"
city: "New York"
subdivision: "NY"
district: "Manhattan"
country: "US"
PrefundedSettlement:
type: object
properties:
type:
type: string
enum: [PREFUNDED]
destinationAccount:
$ref: '#/components/schemas/AccountReference'
required:
- type
- destinationAccount
example:
type: PREFUNDED
destinationAccount:
type: VAULT_ACCOUNT
accountId: vault_acc_9f4e2d8b1c6a5e73
ProviderID:
type: object
properties:
providerId:
type: string
description: The ID of the provider associated with the account.
required:
- providerId
example:
providerId: "prov_8c3f1a4b2d6e9f7c"
ProvidersListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TradingProvider'
description: List of available providers
total:
type: integer
description: Total number of providers matching the query.
next:
type: string
description: A cursor for the next page of results, if available.
required:
- data
- total
example:
data:
- id: bridge-provider-001
name: Bridge Provider
logo: https://example.com/logos/bridge.png
accountBased: true
manifest:
assetTypes:
- DIGITAL
- FIAT
capabilities:
- TRADING
- WITHDRAWALS
connected: true
accounts:
- id: acc_9f4e2d8b1c6a5e73
name: Main Trading Account
- id: uniswap-v3-provider
name: Uniswap V3
logo: https://example.com/logos/uniswap.png
accountBased: false
approved: true
hasTermsOfService: true
termsOfServiceUrl: https://uniswap.org/terms
total: 2
next: cursor_abc123def456
Quote:
allOf:
- type: object
properties:
via:
$ref: '#/components/schemas/AccessType'
id:
type: string
type:
type: string
enum: [COMMITTED, INDICATIVE]
quoteAssetId:
type: string
baseAssetId:
type: string
baseAmount:
type: string
quoteAmount:
type: string
priceImpact:
type: number
quoteMinAmount:
type: string
executionSteps:
type: array
items:
$ref: '#/components/schemas/ExecutionStepDetails'
generalFees:
type: array
items:
$ref: '#/components/schemas/Fee'
side:
type: string
enum: [BUY, SELL]
description: Side of the order
required:
- via
- id
- baseAssetId
- quoteAssetId
- baseAmount
- quoteAmount
- type
- side
- discriminator:
propertyName: type
mapping:
COMMITTED: '#/components/schemas/CommittedQuoteType'
INDICATIVE: '#/components/schemas/IndicativeQuoteType'
oneOf:
- $ref: '#/components/schemas/CommittedQuoteType'
- $ref: '#/components/schemas/IndicativeQuoteType'
QuoteExecutionRequestDetails:
type: object
properties:
type:
type: string
enum: [QUOTE]
description: Order type for quote orders
quoteId:
type: string
description: Quote ID for quote orders
required:
- type
- quoteId
example:
type: QUOTE
quoteId: quote_8f2e4d1a9c5b7e3f
QuoteExecutionResponseDetails:
allOf:
- type: object
properties:
type:
type: string
enum: [QUOTE]
description: Order type for quote orders
quoteId:
type: string
description: Quote ID for quote orders
quoteAmount:
type: string
description: Quote amount for quote orders
required:
- type
- quoteId
- quoteAmount
- $ref: '#/components/schemas/ExecutionResponseBaseDetails'
example:
type: QUOTE
quoteId: quote_8f2e4d1a9c5b7e3f
quoteAmount: "0.02458"
side: BUY
baseAmount: "1000.00"
baseAssetId: USDC
baseAssetRail: BLOCKCHAIN
quoteAssetId: BTC
quoteAssetRail: BLOCKCHAIN
QuoteExecutionWithRequoteRequestDetails:
allOf:
- $ref: '#/components/schemas/QuoteExecutionRequestDetails'
- type: object
properties:
reQuote:
discriminator:
propertyName: type
mapping:
MARKET: '#/components/schemas/MarketRequoteRequestDetails'
RETRY: '#/components/schemas/RetryRequoteRequestDetails'
oneOf:
- $ref: '#/components/schemas/MarketRequoteRequestDetails'
- $ref: '#/components/schemas/RetryRequoteRequestDetails'
example:
type: QUOTE
quoteId: quote_8f2e4d1a9c5b7e3f
reQuote:
type: RETRY
count: 1
slippageBps: 50
QuoteExecutionWithRequoteResponseDetails:
allOf:
- $ref: '#/components/schemas/QuoteExecutionResponseDetails'
- type: object
properties:
reQuote:
discriminator:
propertyName: type
mapping:
MARKET: '#/components/schemas/MarketRequoteRequestDetails'
RETRY: '#/components/schemas/RetryRequoteRequestDetails'
oneOf:
- $ref: '#/components/schemas/MarketRequoteRequestDetails'
- $ref: '#/components/schemas/RetryRequoteRequestDetails'
example:
type: QUOTE
quoteId: quote_8f2e4d1a9c5b7e3f
side: BUY
baseAmount: "1000.00"
baseAssetId: USDC
baseAssetRail: BLOCKCHAIN
quoteAssetId: BTC
quoteAssetRail: BLOCKCHAIN
reQuote:
type: RETRY
count: 1
slippageBps: 50
QuotesResponse:
type: object
properties:
quotes:
type: array
items:
$ref: '#/components/schemas/Quote'
example:
quotes:
- via:
type: PROVIDER_ACCOUNT
providerId: bridge-provider-001
accountId: acc_9f4e2d8b1c6a5e73
id: quote_8f2e4d1a9c5b7e3f
type: COMMITTED
baseAssetId: USDC
quoteAssetId: BTC
baseAmount: "1000.00"
quoteAmount: "0.02458"
priceImpact: 0.005
quoteMinAmount: "0.02450"
expiresAt: "2024-01-15T10:35:00.000Z"
executionSteps:
- type: EXECUTE
fee:
feeType: ORDER
assetId: USDC
amountType: FIXED
amount: "2.50"
generalFees:
- feeType: ORDER
assetId: USDC
amountType: FIXED
amount: "2.50"
RetryRequoteRequestDetails:
type: object
properties:
type:
type: string
enum: [RETRY]
description: Indicates that the order should be re-quoted if the original quote is expired, trying to match the original quote.
count:
type: number
description: If quote is expired, how many times to re-generate new quotes to try having the order executed as in the original quote.
minimum: 1
maximum: 10
slippageBps:
type: number
description: Slippage tolerance in basis points (bps) for quote orders - 1 is 0.01% and 10000 is 100%
default: 1
minimum: 1
maximum: 10000
required:
- type
- count
example:
type: RETRY
count: 1
slippageBps: 50
SEPAAddress:
type: object
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
iban:
$ref: '#/components/schemas/Iban'
bic:
type: string
description: Bank Identifier Code (SWIFT/BIC)
bankName:
type: string
bankBranch:
type: string
bankAddress:
type: string
purposeCode:
type: string
description: ISO purpose code for the transfer
taxId:
type: string
description: Beneficiary tax identification number
required:
- accountHolder
- iban
example:
accountHolder:
name: "Pierre Dubois"
city: "Paris"
country: "FR"
subdivision: "11"
address: "15 Rue de la Paix"
postalCode: "75001"
iban: "FR1420041010050500013M02606"
bic: "PSSTFRPPPAR"
bankName: "La Banque Postale"
bankBranch: "Paris Central"
bankAddress: "1 Boulevard de Vaugirard, 75015 Paris"
purposeCode: "TRAD"
taxId: "FR12345678901"
SEPADestination:
type: object
properties:
type:
type: string
enum: [SEPA]
address:
$ref: '#/components/schemas/SEPAAddress'
required:
- type
- address
example:
type: SEPA
address:
accountHolder:
name: Hans Mueller
city: Berlin
country: DE
subdivision: BE
address: Unter den Linden 15
postalCode: "10117"
iban: DE89370400440532013000
bic: COBADEFFXXX
bankName: Commerzbank AG
SepaPaymentInfo:
type: object
description: SEPA payment information for European Single Euro Payments Area transfers
properties:
rail:
type: string
enum:
- SEPA
description: The payment rail type for SEPA transfers
example: "SEPA"
addressingSystem:
type: string
enum:
- IBAN
description: The addressing system used for SEPA transfers
example: "IBAN"
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "Marie"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Dupont"
accountHolderCountry:
type: string
description: The country where the account holder resides (ISO 3166-1 alpha-2 code)
example: "FR"
accountHolderAddress:
type: string
description: The address of the account holder
example: "123 Rue de la Paix"
iban:
type: string
description: The International Bank Account Number (IBAN)
example: "FR1420041010050500013M02606"
country:
type: string
description: The country for the transfer (ISO 3166-1 alpha-2 code)
example: "FR"
bic:
type: string
description: The Bank Identifier Code (BIC/SWIFT code)
example: "BNPAFRPP"
bankName:
type: string
description: The name of the bank
example: "BNP Paribas"
bankBranch:
type: string
description: The bank branch information
example: "Paris Central"
bankAddress:
type: string
description: The address of the bank
example: "16 Boulevard des Italiens, 75009 Paris"
purposeCode:
type: string
description: The purpose code for the transfer
example: "SALA"
taxId:
type: string
description: The tax identification number
example: "1234567890123"
required:
- rail
- addressingSystem
- accountHolderGivenName
- accountHolderSurname
- country
- iban
Settlement:
description: Settlement configuration for the order
discriminator:
propertyName: type
mapping:
PREFUNDED: '#/components/schemas/PrefundedSettlement'
DVP: '#/components/schemas/DVPSettlement'
POST_ORDER: '#/components/schemas/PostOrderSettlement'
oneOf:
- $ref: '#/components/schemas/PrefundedSettlement'
- $ref: '#/components/schemas/DVPSettlement'
- $ref: '#/components/schemas/PostOrderSettlement'
SettlementSourceAccount:
discriminator:
propertyName: type
mapping:
VAULT_ACCOUNT: '#/components/schemas/PlatformAccount'
CONNECTED_ACCOUNT: '#/components/schemas/PlatformAccount'
FIAT_ACCOUNT: '#/components/schemas/PlatformAccount'
EXTERNAL: '#/components/schemas/ExternalAccount'
oneOf:
- $ref: '#/components/schemas/PlatformAccount'
- $ref: '#/components/schemas/ExternalAccount'
SpeiAddress:
type: object
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
bankName:
type: string
description: Name of the bank.
bankAccountNumber:
type: string
description: The bank account number for the SPEI transfer.
required:
- accountHolder
- bankAccountNumber
example:
accountHolder:
name: Carlos Martinez Lopez
city: Mexico City
country: MX
subdivision: CDMX
address: Avenida Reforma 123
postalCode: "06600"
bankName: BBVA México
bankAccountNumber: "012180001234567890"
SpeiDestination:
type: object
properties:
type:
type: string
enum: [SPEI]
address:
$ref: '#/components/schemas/SpeiAddress'
required:
- type
- address
example:
type: SPEI
address:
accountHolder:
name: Carlos Martinez Lopez
city: Mexico City
country: MX
subdivision: CDMX
address: Avenida Reforma 123
postalCode: "06600"
bankName: BBVA México
bankAccountNumber: "012180001234567890"
SpeiAdvancedPaymentInfo:
type: object
description: Advanced SPEI payment information for Mexican bank transfers with full details
properties:
rail:
type: string
enum:
- SPEI
description: The payment rail type for SPEI transfers
example: "SPEI"
addressingSystem:
type: string
enum:
- CLABE
description: The addressing system used for SPEI transfers
example: "CLABE"
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "Juan"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Pérez"
country:
type: string
description: The country for the transfer (ISO 3166-1 alpha-2 code)
example: "MX"
bankName:
type: string
description: The name of the bank
example: "Banco Nacional de México"
beneficiaryRfc:
type: string
description: The RFC (Registro Federal de Contribuyentes) of the beneficiary
example: "PERJ800101ABC"
senderDocumentId:
type: string
description: The document ID of the sender
example: "CURP123456789"
clabe:
type: string
description: The CLABE (Clave Bancaria Estandarizada) number
example: "012180001234567890"
required:
- rail
- addressingSystem
- accountHolderGivenName
- accountHolderSurname
- country
- clabe
SpeiBasicPaymentInfo:
type: object
description: Basic SPEI payment information for Mexican bank transfers
properties:
speiClabe:
type: string
description: The CLABE (Clave Bancaria Estandarizada) number for SPEI transfers
example: "012180001234567890"
speiName:
type: string
description: The name associated with the SPEI account
example: "Juan Pérez"
required:
- speiClabe
SwiftAddress:
type: object
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
swiftCode:
$ref: '#/components/schemas/SwiftCode'
routingNumber:
type: string
description: Routing number identifying the bank account.
required:
- accountHolder
- swiftCode
- routingNumber
example:
accountHolder:
name: "Emma Watson"
city: "London"
country: "GB"
subdivision: "ENG"
address: "25 Bank Street, Canary Wharf"
postalCode: "E14 5JP"
swiftCode: "CHASUS33XXX"
routingNumber: "026009593"
SwiftCode:
type: string
pattern: ^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$
example: "CHASUS33XXX"
SwiftDestination:
type: object
properties:
type:
type: string
enum: [SWIFT]
address:
$ref: '#/components/schemas/SwiftAddress'
required:
- type
- address
example:
type: SWIFT
address:
accountHolder:
name: Pierre Dupont
city: Paris
country: FR
subdivision: IDF
address: 25 Avenue des Champs-Élysées
postalCode: "75008"
swiftCode: BNPAFRPPXXX
routingNumber: "20041"
TimeInForce:
type: string
description: Time in force for limit orders
enum:
- FOK
example: FOK
TradingErrorResponse:
type: object
properties:
error:
type: object
properties:
type:
type: string
enum:
- INTERNAL
- AUTHENTICATION
- AUTHORIZATION
- VALIDATION
- NOT_FOUND
- UNPROCESSABLE_ENTITY
- FORBIDDEN
message:
type: string
errorCode:
$ref: '#/components/schemas/ErrorCodes'
required:
- type
- message
required:
- error
example:
error:
type: "VALIDATION"
message: "Invalid base amount: must be greater than 0"
errorCode: "INVALID_AMOUNT"
TradingProvider:
oneOf:
- $ref: '#/components/schemas/AccountBasedAccessProvider'
- $ref: '#/components/schemas/DirectAccessProvider'
TransferRail:
type: string
description: |
Transfer rail:
* **BLOCKCHAIN** - Transfer over the public blockchain
* **INTERNAL** - Internal transfer within the same account (e.g. sub-accounts or same api key)
* **PEER** - Peer transfer within the same provider network
* **SWIFT** - International wire transfer
* **IBAN** - International Bank Account Number transfer
* **US_WIRE** - Domestic wire transfer within the United States (e.g. FedWire)
* **ACH** - Automated Clearing House transfer, typically takes longer but not as expensive as wire transfers
* **SEPA** - Euro transfers within the SEPA zone
* **SPEI** - Mexican interbank electronic payment system
* **PIX** - Brazilian instant payment system
* **LOCAL_BANK_TRANSFER_AFRICA** - Local bank transfers within Africa
* **MOBILE_MONEY** - Mobile money transfers (e.g. M-Pesa)
enum:
- BLOCKCHAIN
- INTERNAL
- PEER
- SWIFT
- IBAN
- US_WIRE
- ACH
- SEPA
- SPEI
- PIX
- LOCAL_BANK_TRANSFER_AFRICA
- MOBILE_MONEY
example: BLOCKCHAIN
TransferReceipt:
discriminator:
propertyName: type
mapping:
BLOCKCHAIN: '#/components/schemas/BlockchainTransfer'
FIAT: '#/components/schemas/FiatTransfer'
oneOf:
- $ref: '#/components/schemas/BlockchainTransfer'
- $ref: '#/components/schemas/FiatTransfer'
USWireAddress:
type: object
properties:
accountHolder:
$ref: '#/components/schemas/AccountHolderDetails'
bankName:
type: string
description: Name of the bank.
bankAccountNumber:
type: string
description: The bank account number for the wire transfer.
routingNumber:
type: string
description: Routing number identifying the bank account.
bankAddress:
type: string
description: Address of the bank.
required:
- accountHolder
- bankAccountNumber
- routingNumber
example:
accountHolder:
name: "Michael Thompson"
city: "Chicago"
country: "US"
subdivision: "IL"
address: "200 West Jackson Blvd, Suite 1500"
postalCode: "60606"
bankName: "JPMorgan Chase Bank"
bankAccountNumber: "987654321012345"
routingNumber: "021000021"
bankAddress: "270 Park Avenue, New York, NY 10017"
USWireDestination:
type: object
properties:
type:
type: string
enum: [US_WIRE]
address:
$ref: '#/components/schemas/USWireAddress'
required:
- type
- address
example:
type: US_WIRE
address:
accountHolder:
name: John Smith
city: New York
country: US
subdivision: NY
address: 123 Wall Street
postalCode: "10005"
bankName: Chase Bank
bankAccountNumber: "123456789012"
routingNumber: "021000021"
bankAddress: 270 Park Avenue, New York, NY 10017
UsWirePaymentInfo:
type: object
description: US Wire payment information for US domestic wire transfers
properties:
rail:
type: string
enum:
- US_WIRE
description: The payment rail type for US wire transfers
example: "US_WIRE"
addressingSystem:
type: string
enum:
- ABA
description: The addressing system used for US wire transfers
example: "ABA"
accountHolderGivenName:
type: string
description: The given name (first name) of the account holder
example: "John"
accountHolderSurname:
type: string
description: The surname (last name) of the account holder
example: "Smith"
country:
type: string
description: The country for the transfer (ISO 3166-1 alpha-2 code)
example: "US"
accountNumber:
type: string
description: The bank account number
example: "1234567890"
routingNumber:
type: string
description: The bank routing number (ABA routing number)
example: "021000021"
swiftCode:
type: string
description: The SWIFT/BIC code of the bank
example: "CHASUS33"
bankName:
type: string
description: The name of the bank
example: "JPMorgan Chase Bank"
bankAddressLine:
type: string
description: The street address of the bank
example: "270 Park Avenue"
bankAddressCity:
type: string
description: The city where the bank is located
example: "New York"
bankAddressState:
type: string
description: The state where the bank is located
example: "NY"
bankAddressCountry:
type: string
description: The country where the bank is located (ISO 3166-1 alpha-2 code)
example: "US"
bankAddressPostalCode:
type: string
description: The postal code of the bank's address
example: "10017"
branchNumber:
type: string
description: The branch number of the bank
example: "001"
required:
- rail
- addressingSystem
- accountHolderGivenName
- accountHolderSurname
- country
- swiftCode
- bankName
- accountNumber
- routingNumber
- bankAddressLine
- bankAddressCity
- bankAddressCountry
- bankAddressPostalCode
ConnectedAccount:
type: object
properties:
id:
type: string
description: Unique identifier of the connected account.
example: "acc-123456"
name:
type: string
description: Human-readable name of the connected account.
example: "Main Venue Account"
providerId:
type: string
description: The ID of the venue the account belongs to.
example: "BRIDGE"
status:
$ref: '#/components/schemas/ConnectedAccountApprovalStatus'
manifest:
$ref: '#/components/schemas/ConnectedAccountManifest'
parentId:
type: string
description: The ID of the parent main account, if this is a sub account.
example: "acc-parent-001"
required:
- id
- name
- providerId
- status
- manifest
ConnectedAccountApprovalStatus:
type: string
enum:
- WAITING_FOR_APPROVAL
- APPROVED
- REJECTED
- CANCELLED
- FAILED
ConnectedAccountAssetType:
type: string
enum:
- DIGITAL
- FIAT
ConnectedAccountBalances:
type: object
properties:
assetId:
type: string
description: Asset identifier (e.g., BTC, ETH, USDC).
example: BTC
availableAmount:
type: string
description: Amount available for use.
example: "100.00"
totalAmount:
type: string
description: Total amount including locked/held balances.
example: "120.00"
lockedAmount:
type: string
description: Amount currently locked/held.
example: "20.00"
creditAmount:
type: string
description: Credit line amount, if applicable (0 when not used).
example: "0"
balanceType:
type: string
description: Wallet type/category (e.g., SPOT, MARGIN, FUNDING).
example: FUNDING
balanceName:
type: string
description: Display name for the balance type (at the provider)
example: Trader1 Wallet
required:
- assetId
- availableAmount
- totalAmount
- balanceType
ConnectedAccountBalancesResponse:
type: object
properties:
data:
type: array
description: Flat balance row for a single asset within an account and wallet type. One row per (assetId, balanceType).
items:
$ref: '#/components/schemas/ConnectedAccountBalances'
example:
- assetId: "BTC"
availableAmount: "100.00"
totalAmount: "120.00"
balanceType: "FUNDING"
balanceName: "Trader1 Wallet"
total:
type: integer
description: Total number of balance rows by query.
example: 2
next:
type: string
description: A cursor for the next page of results, if available.
example: "eyJwYWdlIjoyfQ=="
required:
- data
ConnectedAccountCapability:
type: string
enum:
- WITHDRAWALS
- DEPOSITS
- TRADING
ConnectedAccountManifest:
type: object
properties:
assetTypes:
type: array
description: Asset types supported by the connected account.
items:
$ref: '#/components/schemas/ConnectedAccountAssetType'
example: []
capabilities:
type: array
description: >
Features supported for the connected account. Logic:
- If account capabilities include ramp -> TRADING
- If account capabilities include transfers -> DEPOSITS
- If account capabilities include transfersBlockchain / transfersFiat / transfersPeerAccounts / transfersInternal -> WITHDRAWALS
items:
$ref: '#/components/schemas/ConnectedAccountCapability'
example:
- WITHDRAWALS
required:
- assetTypes
- capabilities
ConnectedAccountRateResponse:
type: object
properties:
accountId:
type: string
description: The ID of the account that generated the quote.
example: "ea6c3cb7-355a-4ee3-82ff-267c69970210"
baseAssetId:
type: string
description: The source asset identifier
example: "BTC"
quoteAssetId:
type: string
description: The target asset identifier
example: "USD"
rate:
type: string
description: The exchange rate value
example: "1.2345"
required:
- accountId
- baseAssetId
- quoteAssetId
- rate
ConnectedAccountTotalBalance:
type: object
properties:
amount:
type: string
description: The denominated currency value of the account.
example: "1201.15"
denominatedAssetId:
type: string
description: The asset ID of the total balance.
example: "ea6c3cb7-355a-4ee3-82ff-267c69970214"
hasFullAssetCoverage:
type: boolean
description: Indicates whether the total amount represents the complete balance of all assets in the account. When true, all asset balances have been successfully converted to the denominated currency. When false, some assets could not be included in the total due to missing exchange rates or non-convertible assets.
default: false
example: true
required:
- amount
- denominatedAssetId
- hasFullAssetCoverage
ConnectedAccountTradingPair:
type: object
properties:
id:
type: string
description: The ID of the trading pair.
example: "ea6c3cb7-355a-4ee3-82ff-267c69970210"
baseAssetId:
type: string
description: The Symbol of the base asset.
example: "BTC"
quoteAssetId:
type: string
description: The symbol of the quote asset.
example: "USD"
supportedTypes:
type: array
items:
$ref: '#/components/schemas/ConnectedAccountTradingPairSupportedType'
required:
- id
- baseAssetId
- quoteAssetId
- supportedTypes
ConnectedAccountTradingPairSupportedType:
type: string
enum:
- QUOTE
- MARKET
- LIMIT
ConnectedAccountTradingPairsResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ConnectedAccountTradingPair'
example:
- id: "ea6c3cb7-355a-4ee3-82ff-267c69970210"
baseAssetId: "BTC"
quoteAssetId: "USD"
supportedTypes:
- MARKET
- id: "ea6c3cb7-355a-4ee3-82ff-267c69970211"
baseAssetId: "ETH"
quoteAssetId: "USDC"
supportedTypes:
- QUOTE
- MARKET
total:
type: integer
description: Total number of asset pairs matching the query.
example: 2
next:
type: string
description: A cursor for the next page of results, if available.
nullable: true
example: null
required:
- data
ConnectedAccountsErrorResponse:
type: object
properties:
error:
type: object
description: Error details describing the failure.
properties:
type:
type: string
description: High-level error category.
enum:
- INTERNAL
- AUTHENTICATION
- AUTHORIZATION
- VALIDATION
- NOT_FOUND
- UNPROCESSABLE_ENTITY
- FORBIDDEN
example: "VALIDATION"
message:
type: string
description: Human-readable error description.
example: "Invalid parameter: pageSize must be between 1 and 100"
errorCode:
type: string
description: Service-specific error code for troubleshooting.
example: "INVALID_PARAMETER"
required:
- type
- message
required:
- error
ConnectedAccountsResponse:
type: object
properties:
data:
type: array
description: List of connected accounts matching the query.
items:
$ref: '#/components/schemas/ConnectedAccount'
example:
- id: "acc-123456"
name: "Main Venue Account"
providerId: "BRIDGE"
status: "APPROVED"
manifest:
assetTypes: []
capabilities: ["DEPOSITS", "WITHDRAWALS"]
- id: "acc-654321"
name: "Secondary Account"
providerId: "BRIDGE"
status: "WAITING_FOR_APPROVAL"
manifest:
assetTypes: []
capabilities: ["WITHDRAWALS"]
total:
type: integer
description: Total number of accounts by query.
example: 2
next:
type: string
description: A cursor for the next page of results, if available.
example: "eyJwYWdlIjoyfQ=="
required:
- data
ConnectedSingleAccount:
type: object
properties:
subAccountsIds:
type: array
description: IDs of sub-accounts associated with this connected account.
items:
type: string
example:
- "acc-sub-001"
- "acc-sub-002"
ConnectedSingleAccountResponse:
allOf:
- $ref: '#/components/schemas/ConnectedAccount'
- $ref: '#/components/schemas/ConnectedSingleAccount'
AccountConfigV2:
type: object
description: Policy source/destination configuration
properties:
type:
$ref: '#/components/schemas/AccountTypeV2'
subType:
type: array
items:
$ref: '#/components/schemas/AccountIdentifierV2'
ids:
type: array
items:
$ref: '#/components/schemas/AccountIdentifierV2'
operator:
$ref: '#/components/schemas/PolicyOperatorV2'
matchFrom:
type: string
enum:
- ACCOUNT
- SOURCE
description: Whether to match from account or source
example: "ACCOUNT"
required:
- type
- operator
AccountIdentifierV2:
type: object
description: Account identifier with type, ID, subtype, and address
properties:
type:
$ref: '#/components/schemas/AccountTypeV2'
id:
type: string
description: Account ID
example: "account123"
subType:
type: string
description: Account subtype
example: "INTERNAL"
address:
type: string
description: Account address
example: "0x123..."
required:
- type
AccountTypeV2:
type: string
enum:
- EXCHANGE
- UNMANAGED
- VAULT
- GLOBAL_WHITELIST
- NETWORK_CONNECTION
- FIAT_ACCOUNT
- CONNECTED_ACCOUNT
- ONE_TIME_ADDRESS
- SRC_DST_NA
- MULTIPLE_VENUES
- END_USER_WALLET
- OEC_PARTNER
- CONTRACT
- INTERNAL
- EXTERNAL
- DAPP_CONNECTION
- UNKNOWN
- "*"
- ANY
description: Type of account
example: "VAULT"
AmountOverTimeConfigV2:
type: object
description: Amount over time configuration
properties:
range:
type: object
description: Amount range configuration
properties:
min:
type: string
description: Minimum amount
example: "100"
max:
type: string
description: Maximum amount (optional)
example: "10000"
required:
- min
currency:
type: string
enum:
- NATIVE
- USD
- EUR
description: Currency for the amount
example: "USD"
timePeriod:
$ref: '#/components/schemas/TimePeriodConfigV2'
required:
- range
- timePeriod
AmountRangeV2:
type: object
description: Amount range configuration
properties:
min:
type: string
description: Minimum amount
example: "100"
max:
type: string
description: Maximum amount
example: "10000"
currency:
type: string
description: Currency for the amount
example: "USD"
required:
- min
- max
- currency
example: { "min": "100", "max": "10000", "currency": "USD" }
ApproversConfigV2:
type: object
description: Approvers configuration
properties:
canInitiatorApprove:
type: boolean
description: Whether initiator can approve
example: false
operator:
type: string
enum:
- AND
- OR
description: Operator for approval groups
example: "AND"
allowOperatorAsAuthorizer:
type: boolean
description: Whether operator can be authorizer
example: false
approvalGroups:
type: array
items:
type: object
properties:
threshold:
type: number
description: Approval threshold
example: 2
users:
$ref: '#/components/schemas/PolicyUserIdsV2'
groups:
$ref: '#/components/schemas/PolicyGroupIdsV2'
required:
- threshold
description: List of approval groups
example: [{ "threshold": 2, "users": ["user1", "user2"] }]
AssetConfigV2:
type: object
description: Policy asset configuration
properties:
nftTransfer:
type: boolean
description: Whether this is an NFT transfer
example: false
assetTypes:
$ref: '#/components/schemas/AssetTypesConfigV2'
operator:
$ref: '#/components/schemas/PolicyOperatorV2'
required:
- nftTransfer
AssetTypesConfigV2:
type: array
items:
oneOf:
- type: string
- enum: ["*"]
description: List of asset types
example: ["FUNGIBLE", "NFT", "*"]
ContractMethodConfigV2:
type: object
description: Contract method configuration
properties:
methodCalls:
type: array
items:
type: string
operator:
type: string
enum:
- EITHER
- EXACT
description: Operator for method calls
example: "EITHER"
payloadSuffix:
type: string
description: Payload suffix for method calls
example: "0x123..."
required:
- methodCalls
- operator
example: { "methodCalls": ["transfer", "approve"], "operator": "EITHER" }
ContractMethodPatternV2:
oneOf:
- type: string
enum:
- "*"
description: All methods allowed
example: "*"
- $ref: '#/components/schemas/ContractMethodConfigV2'
DerivationPathConfigV2:
type: object
description: Derivation path configuration
properties:
path:
type: array
items:
type: number
description: Derivation path as array of numbers
example: [44, 0, 0, 0, 0]
partial:
type: boolean
description: Whether this is a partial path
example: false
required:
- path
example: { "path": [44, 0, 0, 0, 0], "partial": false }
DesignatedSignersConfigV2:
type: object
description: Designated signers configuration
properties:
type:
type: string
enum:
- SINGLE
- MULTIPLE
- INITIATOR
description: Type of designated signers
example: "SINGLE"
users:
$ref: '#/components/schemas/PolicyUserIdsV2'
groups:
$ref: '#/components/schemas/PolicyGroupIdsV2'
required:
- type
DestinationConfigV2:
type: object
description: Destination configuration for policy rules
properties:
type:
$ref: '#/components/schemas/AccountTypeV2'
subType:
type: array
items:
$ref: '#/components/schemas/AccountIdentifierV2'
ids:
type: array
items:
$ref: '#/components/schemas/AccountIdentifierV2'
operator:
$ref: '#/components/schemas/PolicyOperatorV2'
matchFrom:
type: string
enum:
- ACCOUNT
- SOURCE
description: Whether to match from account or source
example: "ACCOUNT"
addressType:
type: string
enum:
- ALL
- "*"
- WHITELISTED
- ONE_TIME
- OEC_PARTNER
description: Type of destination addresses allowed
example: "WHITELISTED"
required:
- type
- operator
- addressType
example:
type: ["EXTERNAL"]
operator: "INCLUDES"
addressType: "WHITELISTED"
DraftResponseV2:
type: object
description: Response object for draft operations
properties:
status:
type: string
description: Operation status
rules:
type: array
description: Draft rules
items:
$ref: '#/components/schemas/PolicyRuleV2'
draftId:
type: string
description: Draft unique id
metadata:
$ref: '#/components/schemas/PolicyMetadataV2'
required:
- draftId
- status
- rules
- metadata
DraftReviewAndValidationResponseV2:
type: object
description: Draft validation
properties:
draftResponse:
$ref: '#/components/schemas/DraftResponseV2'
validation:
$ref: '#/components/schemas/PolicyValidationV2'
required:
- draftResponse
- validation
InitiatorConfigV2:
type: object
description: Policy rule initiator configuration
properties:
users:
$ref: '#/components/schemas/PolicyUserIdsV2'
groups:
$ref: '#/components/schemas/PolicyGroupIdsV2'
services:
type: array
items:
type: string
fbAdminGroups:
type: array
items:
type: string
exchange:
type: array
items:
type: string
operator:
$ref: '#/components/schemas/PolicyOperatorV2'
required:
- operator
InitiatorConfigPatternV2:
oneOf:
- type: string
enum:
- "*"
description: All users are allowed
example: "*"
- $ref: '#/components/schemas/InitiatorConfigV2'
PolicyAndValidationResponseV2:
type: object
description: Policy validation
properties:
policy:
$ref: '#/components/schemas/PolicyResponseV2'
validation:
$ref: '#/components/schemas/PolicyValidationV2'
required:
- policy
- validation
PolicyCheckResultV2:
type: object
description: Policy rules validation result
properties:
errors:
type: number
description: Number of errors
results:
type: array
description: A set of validation results
items:
$ref: '#/components/schemas/PolicyRuleCheckResultV2'
required:
- errors
- results
PolicyGroupIdsV2:
type: array
items:
type: string
description: List of policy group IDs
example:
- group1
- group2
PolicyMetadataV2:
type: object
description: Policy metadata
properties:
editedBy:
type: string
description: The user ID of the user who last edited the policy
example: "user123"
editedAt:
type: string
description: The timestamp of the last edit of the policy
example: "2024-01-15T10:30:00Z"
publishedBy:
type: string
description: The user ID of the user who last published the policy
example: "user456"
publishedAt:
type: string
description: The timestamp of the last publish of the policy
example: "2024-01-15T11:00:00Z"
policyType:
$ref: '#/components/schemas/PolicyTypeV2'
required:
- policyType
PolicyOperatorV2:
type: string
enum:
- INCLUDES
- EXCLUDES
description: Operator for selection
example: "INCLUDES"
PolicyResponseV2:
type: object
description: Response object for policy operations
properties:
rules:
type: array
description: A set of policy rules
items:
$ref: '#/components/schemas/PolicyRuleV2'
metadata:
$ref: '#/components/schemas/PolicyMetadataV2'
required:
- rules
- metadata
PolicyRuleV2:
type: object
description: V2 Policy rule which is enforced on transactions
properties:
name:
type: string
description: Name of the policy rule
example: "High Value Transfer Policy"
id:
type: string
description: Unique identifier for the policy rule
example: "policy_rule_001"
policyEngineVersion:
type: string
enum:
- v2
description: Policy engine version
example: "v2"
type:
$ref: '#/components/schemas/PolicyTypeV2'
subType:
$ref: '#/components/schemas/PolicyTypeV2'
initiator:
$ref: '#/components/schemas/InitiatorConfigPatternV2'
asset:
$ref: '#/components/schemas/AssetConfigV2'
source:
$ref: '#/components/schemas/AccountConfigV2'
destination:
$ref: '#/components/schemas/DestinationConfigV2'
account:
$ref: '#/components/schemas/AccountConfigV2'
verdict:
$ref: '#/components/schemas/VerdictConfigV2'
amountOverTime:
$ref: '#/components/schemas/AmountOverTimeConfigV2'
amount:
$ref: '#/components/schemas/AmountRangeV2'
externalDescriptor:
type: string
description: External descriptor for the rule
example: "High value transfer policy for institutional clients"
method:
$ref: '#/components/schemas/ContractMethodPatternV2'
isGlobalPolicy:
type: boolean
description: Whether this is a global policy
example: false
programCall:
$ref: '#/components/schemas/ProgramCallConfigV2'
screeningMetadata:
$ref: '#/components/schemas/ScreeningMetadataConfigV2'
quoteAsset:
$ref: '#/components/schemas/AssetConfigV2'
baseAsset:
$ref: '#/components/schemas/AssetConfigV2'
quoteAmount:
$ref: '#/components/schemas/AmountRangeV2'
baseAmount:
$ref: '#/components/schemas/AmountRangeV2'
derivationPath:
$ref: '#/components/schemas/DerivationPathConfigV2'
index:
type: number
description: Index for the policy rule
example: 1
required:
- name
- id
- policyEngineVersion
- type
- initiator
- asset
- source
- verdict
PolicyRuleCheckResultV2:
type: object
description: The rule validation result
properties:
index:
type: number
description: Rule index number in the policy
status:
type: string
description: Validation status
enum:
- ok
- failure
errors:
type: array
description: A set of rule validation error objects
items:
$ref: '#/components/schemas/PolicyRuleErrorV2'
required:
- index
- status
- errors
PolicyRuleErrorV2:
type: object
description: Rule validation result error
properties:
errorMessage:
type: string
description: Error message
errorCode:
type: number
description: error code
errorCodeName:
type: string
description: error code name
errorField:
type: string
enum:
- operator
- operators
- authorizationGroups
- designatedSigner
- designatedSigners
- contractMethods
- amountAggregation
- src
- dst
description: |
The field which the error relates to:
* operator - transaction initiator
* operators - transaction initiators
* authorizationGroups - transaction authorizer groups
* designatedSigner - transaction signer
* designatedSigners - transaction signers
* contractMethods - contract methods
* amountAggregation - transaction amount aggregation configuration
* src - transaction source asset configuration
* dst - transaction destination asset configuration
required:
- errorMessage
- errorCode
- errorCodeName
- errorField
PolicyRulesV2:
type: object
properties:
rules:
description: Policy rules
type: array
items:
$ref: '#/components/schemas/PolicyRuleV2'
PolicyStatusV2:
type: string
enum:
- SUCCESS
- UNVALIDATED
- INVALID_CONFIGURATION
- PENDING
- PENDING_CONSOLE_APPROVAL
- AWAITING_QUORUM
- UNHANDLED_ERROR
description: |
* SUCCESS - success
* UNVALIDATED - not validated yet
* INVALID_CONFIGURATION - at least one rule is invalid
* PENDING - pending approval
* PENDING_CONSOLE_APPROVAL - pending approval from the console app
* AWAITING_QUORUM - pending quorum approval
* UNHANDLED_ERROR - unhandled error
PolicyTypeV2:
type: string
enum:
- TRANSFER
- STAKE
- CONTRACT_CALL
- TYPED_MESSAGE
- APPROVE
- MINT
- BURN
- RAW
- COMPLIANCE
- DEPLOYMENT
- PROGRAM_CALL
- DAPP_CONNECTION
- UPGRADE
- ORDER
- AML_CHAINALYSIS_V2_SCREENING
- AML_CHAINALYSIS_V2_POST_SCREENING
- AML_ELLIPTIC_HOLISTIC_SCREENING
- AML_ELLIPTIC_HOLISTIC_POST_SCREENING
- TR_NOTABENE_SCREENING
- TR_NOTABENE_POST_SCREENING
description: Policy type enumeration
example: "TRANSFER"
PolicyUserIdsV2:
type: array
items:
type: string
description: List of user IDs
example: ["user1", "user2"]
PolicyValidationV2:
type: object
description: Policy validation object
properties:
status:
type: string
description: Validation status
checkResult:
$ref: '#/components/schemas/PolicyCheckResultV2'
required:
- status
- checkResult
ProgramCallConfigV2:
type: object
description: Program call configuration
properties:
allowedSolanaProgramCalls:
type: string
enum:
- "*"
- WHITELISTED
description: Whether Solana program calls are allowed
example: "WHITELISTED"
required:
- allowedSolanaProgramCalls
PublishDraftRequestV2:
type: object
description: Request schema for publishing draft with policy types and draft ID
required:
- policyTypes
- draftId
properties:
policyTypes:
type: array
items:
$ref: '#/components/schemas/PolicyTypeV2'
draftId:
type: string
description: The ID of the draft to publish
example: "draft-123"
PublishResultV2:
type: object
description: Response object of the publish policy operation
properties:
status:
$ref: '#/components/schemas/PolicyStatusV2'
rules:
type: array
items:
$ref: '#/components/schemas/PolicyRuleV2'
checkResult:
$ref: '#/components/schemas/PolicyCheckResultV2'
metadata:
$ref: '#/components/schemas/PolicyMetadataV2'
required:
- status
- rules
- checkResult
- metadata
ScreeningMetadataConfigV2:
type: object
description: Screening metadata configuration
properties:
direction:
type: string
enum:
- INBOUND
- OUTBOUND
- ANY
description: Direction of transaction
example: "OUTBOUND"
provider:
type: string
enum:
- CHAINALYSIS
- CHAINALYSIS_V2
- ELLIPTIC
- ELLIPTIC_HOLISTIC
- NOTABENE
nullable: true
description: Screening provider
example: "CHAINALYSIS"
riskRating:
type: string
enum:
- LOW
- MEDIUM
- HIGH
- SEVERE
- ANY
description: Risk rating threshold
example: "MEDIUM"
riskScore:
type: string
description: Risk score threshold
example: "0.8"
exposureType:
type: string
enum:
- DIRECT
- INDIRECT
- ANY
description: Exposure type
example: "DIRECT"
category:
type: array
items:
type: string
name:
type: array
items:
type: string
categoryId:
type: array
items:
type: string
status:
type: string
enum:
- COMPLETED
- PENDING
- REJECTED
- FAILED
- CANCELED
- BLOCKING_TIME_EXPIRED
description: Transaction status
example: "COMPLETED"
sourceAddress:
type: string
description: Source address
example: "0x123..."
destAddress:
type: string
description: Destination address
example: "0x456..."
required:
- direction
TimePeriodConfigV2:
type: object
description: Time period configuration
properties:
seconds:
type: string
description: Time period in seconds
example: "86400"
initiator:
$ref: '#/components/schemas/TimePeriodMatchTypeV2'
source:
$ref: '#/components/schemas/TimePeriodMatchTypeV2'
destination:
$ref: '#/components/schemas/TimePeriodMatchTypeV2'
required:
- seconds
- initiator
- source
- destination
TimePeriodMatchTypeV2:
type: string
enum:
- PER_SINGLE_MATCH
- ACROSS_ALL_MATCHES
description: Type of match for time period application
example: "PER_SINGLE_MATCH"
UpdateDraftRequestV2:
type: object
description: Request schema for updating draft with policy types and rules
required:
- policyTypes
- rules
properties:
policyTypes:
type: array
items:
$ref: '#/components/schemas/PolicyTypeV2'
rules:
type: array
description: Array of policy rules
items:
$ref: '#/components/schemas/PolicyRuleV2'
VerdictConfigV2:
type: object
description: Verdict configuration
properties:
action:
type: string
enum:
- ALLOW
- BLOCK
- 2-TIER
- ACCEPT
- REJECT
- ALERT
- SCREEN
- PASS
- WAIT
- FREEZE
- CANCEL
description: Verdict action
example: "ALLOW"
approvers:
$ref: '#/components/schemas/ApproversConfigV2'
designatedSigners:
$ref: '#/components/schemas/DesignatedSignersConfigV2'
required:
- action
ResendFailedNotificationsResponse:
type: object
properties:
total:
type: number
description: The total number of failed notifications that are scheduled to be resent.
example: 10
ResendFailedNotificationsRequest:
type: object
properties:
startTime:
type: number
description: >
(optional) Start time for the resend window in milliseconds since epoch up to 24 hours before the current time
- Default if missing means 24 hours before the current time in milliseconds since epoch
- Maximum value is current time in milliseconds since epoch
- Minimum value is 24 hours before the current time in milliseconds since epoch
example: 1625097600000
events:
type: array
description: >
(optional) Event types to resend, default is all event types
- Default if missing means all events will be included
- Empty array means all events will be included
example: ["transaction.created", "transaction.status.updated"]
items:
$ref: '#/components/schemas/WebhookEvent'
ResendFailedNotificationsJobStatusResponse:
type: object
properties:
jobId:
type: string
description: Bulk resend job ID
example: 123e4567-e89b-12d3-426614174000
status:
type: string
description: Bulk resend job status
example: COMPLETED
enum:
- QUEUED
- IN_PROGRESS
- COMPLETED
- FAILED
processed:
type: number
description: Number of notifications processed
example: 100
total:
type: number
description: Total number of notifications to process
example: 1000
required:
- jobId
- status
- processed
- total
NotificationAttemptsPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/NotificationAttempt'
next:
type: string
description: The ID of the next Page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
NotificationAttempt:
type: object
properties:
sentTime:
type: integer
format: int64
description: The time when the attempt was sent in milliseconds.
example: 1625126400000
duration:
type: integer
description: The duration of the attempt in milliseconds.
example: 130
responseCode:
type: integer
description: The response code of the attempt, when missing refer to failureReason.
example: 200
failureReason:
type: string
enum:
- TIMED_OUT
- NO_RESPONSE
description: The request failure reason in case responseCode is missing.
example: TIMED_OUT
required:
- sentTime
- duration
ErrorSchema:
type: object
properties:
message:
type: string
code:
type: number
RewardsInfo:
type: object
properties:
pendingRewards:
description: Amount that is pending for rewards
type: string
example: '12'
VaultAsset:
type: object
required:
- id
- total
- available
- pending
- frozen
- lockedAmount
properties:
id:
type: string
example: ETH
total:
description: >
The total wallet balance.
Total = available + pending + lockedAmount + frozen
- In EOS this value includes the network balance, self staking and
pending refund.
- For all other coins it is the balance as it appears on the
blockchain.
type: string
example: '10.5'
balance:
deprecated: true
description: Deprecated - replaced by "total"
type: string
example: '10.5'
available:
description: >
Funds available for transfer. Equals: "total" minus "lockedAmount"
minus "frozen" minus "pending"
type: string
example: '9'
pending:
description: The cumulative balance of all transactions pending to be cleared
type: string
example: '0.5'
frozen:
description: The cumulative frozen balance
type: string
example: '0.5'
lockedAmount:
description: >-
Funds in outgoing transactions that are not yet published to the
network
type: string
example: '0.5'
staked:
deprecated: true
description: Deprecated
type: string
totalStakedCPU:
type: number
deprecated: true
description: Deprecated
totalStakedNetwork:
deprecated: true
type: string
description: Deprecated
selfStakedCPU:
deprecated: true
type: string
description: Deprecated
selfStakedNetwork:
deprecated: true
type: string
description: Deprecated
pendingRefundCPU:
type: string
deprecated: true
description: Deprecated
pendingRefundNetwork:
type: string
deprecated: true
description: Deprecated
blockHeight:
description: The height (number) of the block of the balance
type: string
example: '19911062'
blockHash:
description: The hash of the block of the balance
type: string
example: '0xcc16c4ab5e018d1f05d3a18fcd122a3ef94276c10a4c89bbab10830f5c1ca742'
rewardsInfo:
$ref: '#/components/schemas/RewardsInfo'
VaultAccount:
type: object
required:
- id
- name
- assets
- hiddenOnUI
properties:
id:
type: string
example: '0'
description: Vault Account unique identifier
name:
type: string
example: MyVaultAccount
description: Vault Account name
assets:
type: array
description: An array of vault assets
minItems: 0
items:
$ref: '#/components/schemas/VaultAsset'
hiddenOnUI:
description: Whether the Vault Account is visible in the UI or not
type: boolean
customerRefId:
type: string
description: Customer reference ID for AML integrations
example: some-reference
autoFuel:
description: >-
Whether the Vault Account is monitored by the Fireblocks Gas Station
or not
type: boolean
tags:
type: array
description: List of tags attached to the vault account
items:
$ref: '#/components/schemas/Tag'
GetVaultAccountsResponse:
type: array
items:
$ref: '#/components/schemas/VaultAccount'
CreateVaultAccountRequest:
type: object
properties:
name:
description: Vault Account name
type: string
example: MyVaultAccount
hiddenOnUI:
description: >-
Optional - if true, the created account and all related transactions
will not be shown on Fireblocks console
type: boolean
customerRefId:
description: Optional - Sets a customer reference ID for AML integrations
type: string
example: some-reference
autoFuel:
description: >-
Optional - Sets the autoFuel property of the vault account for the
Fireblocks Gas Station
type: boolean
vaultType:
default: MPC
description: >-
Type of vault account. The default type will be set to MPC.<br/> If
the workspace does not support the selected type, it will return an
error.
type: string
enum:
- MPC
- KEY_LINK
autoAssign:
default: false
description: >-
Applicable only when the vault account type is KEY_LINK. For MPC,
this parameter will be ignored.<br/> If set to true and there are
available keys, random keys will be assigned to the newly created
vault account.<br/> If set to true and there are no available keys
to be assigned, it will return an error.<br/> If set to false, the
vault account will be created without any keys.
type: boolean
VaultAccountsPagedResponse:
type: object
properties:
accounts:
type: array
items:
$ref: '#/components/schemas/VaultAccount'
paging:
type: object
properties:
before:
type: string
after:
type: string
previousUrl:
type: string
nextUrl:
type: string
UpdateVaultAccountRequest:
type: object
properties:
name:
description: Account Name
type: string
example: MyVaultAccount
RenameVaultAccountResponse:
type: object
properties:
name:
type: string
description: The new name of the vault account
example: MyVaultAccount
id:
type: string
description: The ID of the vault account
example: '0'
AssetWallet:
type: object
properties:
vaultId:
description: >-
ID of the vault account. You can [get the vault account by this
ID](https://developers.fireblocks.com/reference/get_vault-accounts-vaultaccountid)
to retrieve vault properties such as its name, auto fueling, hidden
on UI or customer reference ID.
type: string
example: '0'
assetId:
description: >-
ID of the asset. You can get more information about this asset by
using the [supported assets
API](https://developers.fireblocks.com/reference/get_supported-assets)
type: string
example: ETH
available:
description: Available balance, available to use in a transaction.
type: string
example: '11'
total:
description: >-
Total balance at the asset wallet, as seen at the blockchain
explorers. This includes balance available, and any kind of
unavailable balance such as locked, frozen, or others.
type: string
pending:
description: >-
Pending balance (an incoming transaction that hasn't yet reached the
necessary number of confirmations)
type: string
example: '0'
staked:
description: Staked balance (for DOT staking with Raw signing only)
type: string
example: '0'
frozen:
description: >-
Funds frozen due to the anti-money laundering policy at this
workspace.
type: string
example: '0'
lockedAmount:
description: Locked balance.
type: string
example: '0'
blockHeight:
description: The height (number) of the block of the balance. Can by empty.
nullable: true
type: string
example: '19953092'
blockHash:
description: The hash of the block of the balance. Can by empty.
type: string
nullable: true
example: '0x85fb70a1d600349666f4a8e79fd48f8911c02fa3ff702374cf9ec5e797c80603'
creationTimestamp:
description: Unix timestamp of the time the asset wallet was created.
type: string
example: '1618220338000'
PaginatedAssetWalletResponse:
type: object
properties:
assetWallets:
type: array
items:
$ref: '#/components/schemas/AssetWallet'
paging:
type: object
properties:
before:
description: >-
A string representing a cursor. Users can use this with a new
request to this API endpoint as the “before” request parameter
to fetch the previous page of results.
type: string
after:
description: >-
A string representing a cursor. Users can use this with a new
request to this API endpoint as the “before” request parameter
to fetch the next page of results.
type: string
VaultActionStatus:
type: object
properties:
success:
type: boolean
CreateVaultAssetResponse:
type: object
required:
- id
- address
properties:
id:
type: string
example: '0'
address:
type: string
example: bc1qzrclj9a6ljrkegggv047zk4gqrjxrznul3hf4p
legacyAddress:
description: For BTC and some BTC forked assets only
type: string
example: 12YbgefQANXKJZUCF1QrymUxCtKJR59e7g
enterpriseAddress:
description: For ADA (Cardano) only
type: string
tag:
description: For Tag/Memo based assets only
type: string
example: '247016305'
eosAccountName:
description: For EOS only
type: string
status:
type: string
example: PENDING_ACTIVATION
activationTxId:
type: string
example: 1fe6f159-fb00-4f2e-8907-051ba05a5880
SetCustomerRefIdRequest:
type: object
properties:
customerRefId:
description: Customer reference ID
type: string
example: some-customer-reference
SetAutoFuelRequest:
type: object
properties:
autoFuel:
description: Auto Fuel
type: boolean
CreateAssetsRequest:
type: object
properties:
eosAccountName:
description: >-
Optional - when creating an EOS wallet, the account name. If not
provided, a random name will be generated
type: string
VaultWalletAddress:
type: object
properties:
assetId:
type: string
x-fb-entity: asset
address:
type: string
description:
type: string
tag:
type: string
type:
type: string
customerRefId:
type: string
addressFormat:
type: string
enum:
- SEGWIT
- LEGACY
- BASE
- PAYMENT
legacyAddress:
type: string
enterpriseAddress:
type: string
bip44AddressIndex:
type: integer
userDefined:
type: boolean
GetVaultAccountAssetAddressesResponse:
type: array
items:
$ref: '#/components/schemas/VaultWalletAddress'
CreateAddressRequest:
type: object
properties:
description:
description: (Optional) Attach a description to the new address
type: string
customerRefId:
description: Optional - Sets a customer reference ID
type: string
CreateAddressResponse:
type: object
properties:
address:
type: string
legacyAddress:
type: string
enterpriseAddress:
type: string
tag:
type: string
bip44AddressIndex:
type: integer
PaginatedAddressResponse:
type: object
properties:
addresses:
type: array
items:
$ref: '#/components/schemas/VaultWalletAddress'
paging:
type: object
properties:
before:
description: >-
A string representing a cursor. Users can use this with a new
request to this API endpoint as the “before” request parameter
to fetch the previous page of results.
type: string
example: >-
eyJhZGRyZXNzSWQiOiIzNjg4MzE5MiIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ
after:
description: >-
A string representing a cursor. Users can use this with a new
request to this API endpoint as the “after” request parameter to
fetch the next page of results.
type: string
example: >-
eyJhZGRyZXNzSWQiOiIzNDU3MDM4MSIsInZhdWx0QWNjb3VudElkIjoiMCIsImFzc2V0SWQiOiJCVEMifQ
GetMaxSpendableAmountResponse:
type: object
properties:
maxSpendableAmount:
type: string
description: The maximum amount that can be spent from the vault account
example: '0.009'
UpdateVaultAccountAssetAddressRequest:
type: object
properties:
description:
description: The address description
type: string
example: some_description
SetCustomerRefIdForAddressRequest:
type: object
properties:
customerRefId:
description: Customer reference ID
type: string
example: customer_reference
UnspentInput:
description: |
A representation of an Unspent Transaction Output (UTXO).
type: object
properties:
txHash:
description: Transaction Hash
type: string
example: 6b21446af4a5e3ec588960d2338ab52428a3eb729038146ea09905199723061f
index:
description: The UTXO index (vOut)
type: number
example: 0
UnspentInputsResponse:
type: object
properties:
input:
$ref: '#/components/schemas/UnspentInput'
address:
type: string
description: The blockchain address associated with the UTXO
example: bc1qjhm0h7vhdyu0d0luv34dlz654rmsvg8twywk99
amount:
type: string
description: >-
The quantity of the asset held in the UTXO, expressed in base asset
units
example: '0.0009'
confirmations:
type: number
description: The count of confirmations on the blockchain for this UTXO
example: 4780
status:
type: string
description: UTXO Status
enum:
- AVAILABLE
- PENDING
- FROZEN
GetUnspentInputsResponse:
type: array
items:
$ref: '#/components/schemas/UnspentInputsResponse'
PublicKeyInformation:
type: object
properties:
algorithm:
type: string
description: Elliptic Curve
enum:
- MPC_ECDSA_SECP256K1
- MPC_ECDSA_SECP256R1
- MPC_EDDSA_ED25519
derivationPath:
example:
- 44
- 0
- 0
- 0
- 0
description: BIP44 derivation path
type: array
items:
type: integer
minItems: 5
maxItems: 5
publicKey:
description: Compressed/Uncompressed public key value in hex representation
example: 1044c36403c1802818b472398f546a43a0d91569d5583a6e807c3825b155c7bd
type: string
VaultAssetNumber:
type: object
required:
- id
- total
- available
- pending
- frozen
- lockedAmount
properties:
id:
type: string
example: ETH
total:
description: |
The total wallet balance. (Total = available + pending + lockedAmount + frozen)
- In EOS, this value includes the network balance, self-staking, and
pending refund.
- For all other coins, it is the balance as it appears on the
blockchain.
type: number
example: 10.5
balance:
deprecated: true
description: Deprecated, replaced by "total"
type: string
example: '10.5'
available:
description: >
Funds available for transfer. Equals: "total" minus "lockedAmount"
minus "frozen" minus "pending"
type: string
example: '9'
pending:
description: The cumulative balance of all transactions pending to be cleared
type: number
example: 0.5
frozen:
description: The cumulative frozen balance
type: number
example: 0.5
lockedAmount:
description: >-
Funds in outgoing transactions that are not yet published to the
network
type: number
example: 0.5
staked:
deprecated: true
description: Deprecated
type: string
totalStakedCPU:
type: number
deprecated: true
description: Deprecated
totalStakedNetwork:
deprecated: true
type: string
description: Deprecated
selfStakedCPU:
deprecated: true
type: string
description: Deprecated
selfStakedNetwork:
deprecated: true
type: string
description: Deprecated
pendingRefundCPU:
type: string
deprecated: true
description: Deprecated
pendingRefundNetwork:
type: string
deprecated: true
description: Deprecated
blockHeight:
description: The height (number) of the block of the balance
type: string
example: '19911062'
blockHash:
description: The hash of the block of the balance
type: string
example: '0xcc16c4ab5e018d1f05d3a18fcd122a3ef94276c10a4c89bbab10830f5c1ca742'
rewardsInfo:
$ref: '#/components/schemas/RewardsInfo'
GetVaultAssetsResponse:
type: array
items:
$ref: '#/components/schemas/VaultAsset'
ExchangeType:
description: Exchange account's type
type: string
enum:
- INDEPENDENT_RESERVE
- ENCLAVE_MARKETS
- BIT
- COINFLEX
- KUCOIN
- PXS
- LIQUID
- BITHUMB
- BITFINEX
- BITSO
- BITSTAMP
- KRAKEN
- KRAKENINTL
- BINANCE
- BINANCEUS
- CRYPTOCOM
- BYBIT_V2
- COINBASEPRO
- COINBASEPRIME
- COINBASEINTERNATIONAL
- WHITEBIT
- COINBASEEXCHANGE
- KORBIT
- HITBTC
- GEMINI
- CIRCLE
- BITMEX
- HUOBI
- DERIBIT
- OKCOIN_V5
- OKEX
- COINMETRO
- GATEIO
- SCRYPT
- COINHAKO
- LIGHTBIT
- BULLISH
- CANVAS_CONNECT
- BITGET
- LUNO
- BIT_GENERA
- TRANSFERO
ExchangeAsset:
type: object
properties:
id:
type: string
balance:
type: string
lockedAmount:
type: string
total:
type: string
available:
type: string
credit:
type: string
ExchangeTradingAccount:
type: object
properties:
type:
type: string
name:
type: string
assets:
type: array
items:
$ref: '#/components/schemas/ExchangeAsset'
ExchangeAccount:
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/ExchangeType'
name:
type: string
description: Display name of the exchange account
status:
type: string
assets:
type: array
items:
$ref: '#/components/schemas/ExchangeAsset'
success:
type: boolean
description: Did succeed in retrieve balance data
tradingAccounts:
type: array
items:
$ref: '#/components/schemas/ExchangeTradingAccount'
isSubaccount:
description: True if the account is a subaccount in an exchange
type: boolean
mainAccountId:
description: if the account is a sub-account, the ID of the main account
type: string
GetExchangeAccountsResponse:
type: array
items:
$ref: '#/components/schemas/ExchangeAccount'
AddExchangeAccountRequest:
type: object
properties:
exchangeType:
$ref: '#/components/schemas/ExchangeType'
name:
description: Display name of the exchange account
type: string
creds:
description: Encrypted credentials
type: string
key:
description: Api key of the exchange
type: string
mainAccountId:
description: Optional - main account id of the exchange
type: string
required:
- exchangeType
- name
AddExchangeAccountResponse:
type: object
properties:
id:
description: Exchange account's identifier
type: string
name:
description: Display name of the exchange account
type: string
exchangeType:
$ref: '#/components/schemas/ExchangeType'
ExchangeAccountsPaged:
type: object
properties:
ExchangeAccount:
type: array
items:
$ref: '#/components/schemas/ExchangeAccount'
paging:
type: object
properties:
after:
type: string
description: Query value to the after page
before:
type: string
description: Query value to the before page
prevUrl:
type: string
nextUrl:
type: string
GetPagedExchangeAccountsResponse:
type: array
items:
$ref: '#/components/schemas/ExchangeAccountsPaged'
TradingAccountType:
type: string
enum:
- COIN_FUTURES
- COIN_MARGINED_SWAP
- EXCHANGE
- FUNDING
- FUNDABLE
- FUTURES
- FUTURES_CROSS
- MARGIN
- MARGIN_CROSS
- OPTIONS
- SPOT
- USDT_MARGINED_SWAP_CROSS
- USDT_FUTURES
- UNIFIED
CreateInternalTransferRequest:
type: object
properties:
asset:
type: string
amount:
type: string
sourceType:
$ref: '#/components/schemas/TradingAccountType'
destType:
$ref: '#/components/schemas/TradingAccountType'
required:
- asset
- amount
- sourceType
- destType
InternalTransferResponse:
type: object
properties:
success:
type: boolean
description: Indicates whether the transfer was successful
id:
type: string
nullable: true
description: The transaction ID of the internal transfer
example: 993c89c5-6405-47e5-9407-1a77f0de801f
required:
- success
ConvertAssetsRequest:
type: object
properties:
srcAsset:
type: string
description: >-
Name of the source asset (must be in a currency that is supported
for conversions in the selected exchange type that corresponds to
your exchange ID)
destAsset:
type: string
description: >-
Name of the destination asset (must be in a currency that is
supported for conversions in the selected exchange type that
corresponds to your exchange ID)
amount:
type: number
description: The amount to transfer (in the currency of the source asset)
required:
- srcAsset
- destAsset
- amount
ConvertAssetsResponse:
type: object
properties:
success:
type: boolean
description: Indicates whether the conversion was successful
required:
- success
FiatAccountType:
type: string
enum:
- BLINC
FiatAsset:
type: object
properties:
id:
type: string
balance:
type: string
FiatAccount:
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/FiatAccountType'
name:
type: string
description: Display name of the fiat account
address:
type: string
nullable: true
assets:
type: array
items:
$ref: '#/components/schemas/FiatAsset'
GetFiatAccountsResponse:
type: array
items:
$ref: '#/components/schemas/FiatAccount'
Funds:
type: object
properties:
amount:
type: number
RedeemFundsToLinkedDDAResponse:
type: object
properties:
success:
type: boolean
description: >-
Indicates whether the funds were successfully redeemed to the linked
DDA
required:
- success
DepositFundsFromLinkedDDAResponse:
type: object
properties:
success:
type: boolean
description: >-
Indicates whether the funds were successfully deposited from the
linked DDA
required:
- success
NetworkChannel:
deprecated: true
description: Deprecated in the only used reference - NetworkConnectionResponse
type: object
properties:
networkId:
type: string
name:
type: string
NetworkConnectionStatus:
type: string
enum:
- WAITING_FOR_APPROVAL
- WAITING_FOR_PEER_APPROVAL
- APPROVED
- CANCELLED
- FAILED
- REJECTED
- REJECTED_BY_PEER
- REMOVED
- REMOVED_BY_PEER
NetworkId:
type: object
properties:
id:
type: string
description: Network Connection ID
example: 494ae5f7-7807-4bc5-863b-2963aa94398f
name:
type: string
description: Network Connection Name
example: My Network Connection Name
required:
- id
- name
CustomRoutingDest:
type: object
properties:
scheme:
description: The network routing logic.
type: string
enum:
- CUSTOM
dstType:
type: string
description: The account the funds are being sent to.
enum:
- FIAT_ACCOUNT
- VAULT
- EXCHANGE
dstId:
type: string
description: The ID of the account the funds are being sent to.
example: 29a425f4-f621-4c01-a888-27adec7d1dfa
required:
- scheme
- dstType
- dstId
DefaultNetworkRoutingDest:
type: object
properties:
scheme:
type: string
description: The network routing logic.
enum:
- DEFAULT
required:
- scheme
NoneNetworkRoutingDest:
type: object
properties:
scheme:
type: string
description: No network routing logic.
enum:
- NONE
required:
- scheme
NetworkConnectionRoutingPolicy:
type: object
additionalProperties:
oneOf:
- $ref: '#/components/schemas/CustomRoutingDest'
- $ref: '#/components/schemas/DefaultNetworkRoutingDest'
- $ref: '#/components/schemas/NoneNetworkRoutingDest'
NetworkConnectionResponse:
type: object
properties:
id:
type: string
localChannel:
allOf:
- $ref: '#/components/schemas/NetworkChannel'
deprecated: true
description: Deprecated - Replaced by `localNetworkId`
remoteChannel:
allOf:
- $ref: '#/components/schemas/NetworkChannel'
deprecated: true
description: Deprecated - Replaced by `remoteNetworkId`
status:
$ref: '#/components/schemas/NetworkConnectionStatus'
localNetworkId:
$ref: '#/components/schemas/NetworkId'
remoteNetworkId:
$ref: '#/components/schemas/NetworkId'
routingPolicy:
$ref: '#/components/schemas/NetworkConnectionRoutingPolicy'
required:
- id
- localNetworkId
- remoteNetworkId
- routingPolicy
- status
GetNetworkConnectionsResponse:
type: array
items:
$ref: '#/components/schemas/NetworkConnectionResponse'
NetworkConnection:
type: object
properties:
localNetworkId:
type: string
description: The network ID of the profile trying to create the connection.
example: 494ae5f7-7807-4bc5-863b-2963aa94398f
remoteNetworkId:
type: string
description: The network ID the profile is attempting to connect to.
example: ebde71be-30d6-4498-95c4-a151effdb377
routingPolicy:
$ref: '#/components/schemas/NetworkConnectionRoutingPolicy'
required:
- localNetworkId
- remoteNetworkId
SetRoutingPolicyRequest:
type: object
properties:
routingPolicy:
$ref: '#/components/schemas/NetworkConnectionRoutingPolicy'
required:
- routingPolicy
SetRoutingPolicyResponse:
type: object
properties:
success:
type: boolean
required:
- success
ThirdPartyRouting:
type: object
properties:
isThirdPartyRouting:
type: boolean
description:
type: string
DeleteNetworkConnectionResponse:
type: object
properties:
success:
type: boolean
required:
- success
NetworkIdRoutingPolicy:
type: object
additionalProperties:
oneOf:
- $ref: '#/components/schemas/CustomRoutingDest'
- $ref: '#/components/schemas/NoneNetworkRoutingDest'
NetworkIdResponse:
allOf:
- $ref: '#/components/schemas/NetworkId'
- type: object
properties:
routingPolicy:
$ref: '#/components/schemas/NetworkIdRoutingPolicy'
isDiscoverable:
type: boolean
description: The specific network is discoverable.
GetNetworkIdsResponse:
type: array
items:
allOf:
- $ref: '#/components/schemas/NetworkIdResponse'
CreateNetworkIdRequest:
type: object
properties:
name:
type: string
description: Network ID Name
example: My Network ID name
routingPolicy:
$ref: '#/components/schemas/NetworkIdRoutingPolicy'
required:
- name
GetRoutingPolicyAssetGroupsResponse:
type: array
items:
type: string
DeleteNetworkIdResponse:
type: object
properties:
success:
type: boolean
required:
- success
SetNetworkIdRoutingPolicyRequest:
type: object
properties:
routingPolicy:
$ref: '#/components/schemas/NetworkIdRoutingPolicy'
required:
- routingPolicy
SetNetworkIdResponse:
type: object
properties:
success:
type: boolean
required:
- success
SetNetworkIdDiscoverabilityRequest:
type: object
properties:
isDiscoverable:
type: boolean
required:
- isDiscoverable
SetNetworkIdNameRequest:
type: object
properties:
name:
type: string
description: Network ID name
example: My Network ID name
required:
- name
ConfigChangeRequestStatus:
type: string
enum:
- WAITING_FOR_APPROVAL
- APPROVED
- CANCELLED
- REJECTED
- FAILED
WalletAsset:
type: object
properties:
id:
type: string
balance:
type: string
lockedAmount:
type: string
status:
$ref: '#/components/schemas/ConfigChangeRequestStatus'
address:
type: string
tag:
type: string
activationTime:
type: string
WalletAssetExternal:
type: object
properties:
id:
type: string
lockedAmount:
type: string
status:
$ref: '#/components/schemas/ConfigChangeRequestStatus'
address:
type: string
tag:
type: string
activationTime:
type: string
UnmanagedWallet:
type: object
properties:
id:
type: string
name:
type: string
customerRefId:
type: string
assets:
type: array
items:
$ref: '#/components/schemas/WalletAsset'
required:
- id
- name
- assets
UnmanagedExternalWallet:
type: object
properties:
id:
type: string
name:
type: string
customerRefId:
type: string
assets:
type: array
items:
$ref: '#/components/schemas/WalletAssetExternal'
required:
- id
- name
- assets
GetInternalWalletsResponse:
type: array
items:
$ref: '#/components/schemas/UnmanagedWallet'
CreateWalletRequest:
type: object
properties:
name:
type: string
description: the wallet's display name
customerRefId:
description: Optional - Sets a customer reference ID
type: string
PaginatedAssetsResponse:
type: object
properties:
total:
type: number
description: Total number of assets in the internal wallet
data:
$ref: '#/components/schemas/UnmanagedWallet'
next:
type: string
description: Cursor for the next page of results
required:
- data
CreateInternalWalletAssetRequest:
type: object
properties:
address:
type: string
description: The wallet's address or, for EOS wallets, the account name
tag:
type: string
description: >-
for XRP wallets, the destination tag; for EOS, the memo; for the
fiat providers (BLINC by BCB Group), the Bank Transfer Description
required:
- address
SigningKeyDto:
type: object
properties:
keyId:
type: string
minLength: 36
maxLength: 36
example: 46a92767-5f93-4a46-9eed-f012196bb4fc
description: External signing key id set by Fireblocks.
signingDeviceKeyId:
type: string
maxLength: 256
example: MyKey1
description: >-
The ID, name or label of the key specified on the customer's signing
device.
publicKeyPem:
type: string
example: '-----BEGIN PUBLIC KEY ... END PUBLIC KEY-----'
description: PEM encoded public key
algorithm:
type: string
example: ECDSA_SECP256K1
description: >-
Algorithm and curve used for the signature. Can be: ECDSA_SECP256K1
or EDDSA_ED25519
enabled:
type: boolean
example: true
description: True if the signing key is enabled
vaultAccountId:
type: number
nullable: true
example: 10
description: Id of the vault account which this key is linked to
agentUserId:
type: string
minLength: 36
maxLength: 36
example: d18847b5-1df6-4c46-8f99-5cce47284529
description: Id of user that represent agent servers that can sign with the key
createdAt:
type: number
example: 124757537
description: Creation date (timestamp) in milliseconds.
required:
- keyId
- signingDeviceKeyId
- publicKeyPem
- algorithm
- enabled
- vaultAccountId
- agentUserId
- createdAt
GetSigningKeyResponseDto:
type: object
properties:
data:
description: Response object for getting external signing keys.
type: array
items:
$ref: '#/components/schemas/SigningKeyDto'
next:
type: string
description: The ID of the next page
required:
- data
CreateSigningKeyDto:
type: object
properties:
signingDeviceKeyId:
type: string
example: MyKey1
maxLength: 256
description: >-
The ID, name or label of the key specified on the customer's signing
device.
signedCertPem:
type: string
example: '-----BEGIN CERTIFICATE ... END CERTIFICATE-----'
description: >-
The signed certificate that includes the public key PEM of the
signing key, signed by a validation key.
agentUserId:
type: string
minLength: 36
maxLength: 36
example: d18847b5-1df6-4c46-8f99-5cce47284529
description: Id of user to which this key belongs
proofOfOwnership:
type: object
description: An object containing proof of ownership for the signing key.
properties:
message:
description: >-
The message to be signed by the key as proof of ownership. 64 to
1024 bytes in hexadecimal format.
type: string
minLength: 64
maxLength: 2048
signature:
description: The signature of the message. 64 bytes in hexadecimal format.
type: string
minLength: 64
maxLength: 128
required:
- message
- signature
required:
- signingDeviceKeyId
- signedCertPem
- agentUserId
ModifySigningKeyDto:
type: object
properties:
vaultAccountId:
type: number
minimum: 1
example: 123
required:
- vaultAccountId
ModifySigningKeyAgentIdDto:
type: object
properties:
agentUserId:
type: string
minLength: 36
maxLength: 36
example: d18847b5-1df6-4c46-8f99-5cce47284529
description: Id of user that represent agent servers which signs with the key
required:
- agentUserId
ValidationKeyDto:
type: object
properties:
keyId:
type: string
minLength: 36
maxLength: 36
example: 46a92767-5f93-4a46-9eed-f012196bb4fc
description: External validation key id set by Fireblocks.
publicKeyPem:
type: string
example: '-----BEGIN PUBLIC KEY ... END PUBLIC KEY-----'
description: PEM encoded public key used for the validation.
daysTillExpired:
type: number
minimum: 1
example: 365
enabled:
type: boolean
example: false
description: True if the validation key is enabled.
createdAt:
type: number
example: 12345633
description: Creation date (timestamp) in milliseconds.
required:
- keyId
- publicKeyPem
- daysTillExpired
- enabled
- createdAt
GetValidationKeyResponseDto:
type: object
properties:
data:
description: Response object for getting external validation keys.
type: array
items:
$ref: '#/components/schemas/ValidationKeyDto'
next:
type: string
description: The ID of the next page
required:
- data
CreateValidationKeyDto:
type: object
properties:
publicKeyPem:
type: string
example: '-----BEGIN PUBLIC KEY ... END PUBLIC KEY-----'
description: The PEM encoded public key of the validation key being added
daysTillExpired:
type: number
minimum: 1
example: 365
description: >-
The number of days from the date the validation key was added until
it expires
required:
- publicKeyPem
- daysTillExpired
CreateValidationKeyResponseDto:
type: object
properties:
validationKey:
description: Created validation key
allOf:
- $ref: '#/components/schemas/ValidationKeyDto'
admins:
description: Admins who have to approve the validation key addition
type: array
items:
type: string
approvalThreshold:
type: number
minimum: 0
example: 0
description: Minimal number of approvers required. 0 for all
requestId:
type: number
example: 1234
description: Approval request id. Can be cancelled
required:
- validationKey
- admins
- approvalThreshold
- requestId
ModifyValidationKeyDto:
type: object
properties:
enabled:
type: boolean
example: false
description: Disable validation key
required:
- enabled
GetExternalWalletsResponse:
type: array
items:
$ref: '#/components/schemas/UnmanagedWallet'
WalletAssetAdditionalInfo:
type: object
properties:
accountHolderGivenName:
type: string
accountHolderSurname:
type: string
accountHolderCity:
type: string
accountHolderCountry:
type: string
accountHolderAddress1:
type: string
accountHolderAddress2:
type: string
accountHolderDistrict:
type: string
accountHolderPostalCode:
type: string
abaRoutingNumber:
type: string
abaAccountNumber:
type: string
abaCountry:
type: string
iban:
type: string
ibanCity:
type: string
ibanCountry:
type: string
speiClabe:
type: string
speiName:
type: string
ExternalWalletAsset:
type: object
properties:
id:
type: string
status:
$ref: '#/components/schemas/ConfigChangeRequestStatus'
address:
type: string
balance:
type: string
lockedAmount:
type: string
tag:
type: string
activationTime:
type: string
additionalInfo:
type: array
items:
$ref: '#/components/schemas/WalletAssetAdditionalInfo'
AddAssetToExternalWalletRequest:
oneOf:
- $ref: '#/components/schemas/BasicAddressRequest'
- $ref: '#/components/schemas/AdditionalInfoRequest'
GetContractsResponse:
type: array
items:
$ref: '#/components/schemas/UnmanagedWallet'
CreateContractRequest:
type: object
properties:
name:
type: string
description: the contract's display name
AddContractAssetRequest:
type: object
properties:
address:
type: string
description: The contract's address (or xpub) of the wallet
tag:
type: string
description: The destination tag, for XRP wallets
required:
- address
AdditionalInfoRequest:
type: object
description: External wallet request with additional payment information for various payment rails
properties:
additionalInfo:
type: object
description: Additional payment information based on the payment rail type
oneOf:
- $ref: '#/components/schemas/IbanPaymentInfo'
- $ref: '#/components/schemas/AbaPaymentInfo'
- $ref: '#/components/schemas/SpeiBasicPaymentInfo'
- $ref: '#/components/schemas/SpeiAdvancedPaymentInfo'
- $ref: '#/components/schemas/PixPaymentInfo'
- $ref: '#/components/schemas/SepaPaymentInfo'
- $ref: '#/components/schemas/AchPaymentInfo'
- $ref: '#/components/schemas/UsWirePaymentInfo'
- $ref: '#/components/schemas/MomoPaymentInfo'
- $ref: '#/components/schemas/LbtPaymentInfo'
required:
- additionalInfo
BasicAddressRequest:
type: object
description: Basic external wallet request with address information
properties:
address:
type: string
description: The external wallet's address (or its xpub)
example: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
tag:
type: string
description: |
- For XRP wallets, the destination tag.
- For EOS/XLM wallets, the memo.
- For fiat providers, the Bank Transfer Description.
example: "12345"
required:
- address
AssetTypeResponse:
type: object
description: Supported Asset Object
properties:
id:
type: string
description: Unique asset identifier
example: BTC
name:
type: string
description: The name of the asset
example: Bitcoin
type:
type: string
description: Asset type
enum:
- BASE_ASSET
- ERC20
- BEP20
- COMPOUND
- TRON_TRC20
- NEAR_ASSET
- SOL_ASSET
- FIAT
- ALGO_ASSET
- XLM_ASSET
- XDB_ASSET
contractAddress:
type: string
description: Contract address of EVM based tokens
example: '0x97fB6Fc2AD532033Af97043B563131C5204F8A35'
nativeAsset:
type: string
description: The native asset ID
example: ETH
decimals:
type: number
description: Decimals of the asset
example: 18
required:
- id
- name
- type
GetSupportedAssetsResponse:
type: array
description: An Array of Supported Assets Objects
items:
$ref: '#/components/schemas/AssetTypeResponse'
RegisterNewAssetRequest:
type: object
properties:
blockchainId:
type: string
description: Native asset of blockchain
example: ETH
address:
type: string
description: |
Asset address.
- EVM-based chains: Token contract address
- Algorand (ALGO): Asset ID
- NEAR: Token address
- Solana: Token's mint account address
- Stellar (XLM): Issuer address
- Sui: The token's type
- TRON (TRX): Token contract address
example: 0xe7A9as1oa38bc4da0248s179E30aa94CcF453991
symbol:
type: string
description: Asset symbol
example: TST3
required:
- blockchainId
- address
AssetOnchain:
type: object
properties:
symbol:
type: string
description: The asset symbol
example: TST3
name:
type: string
description: The asset name
example: Test 3
address:
type: string
description: The asset address
example: "0xe7A9as1oa38bc4da0248s179E30aa94CcF453991"
decimals:
type: number
description: Number of decimals
example: 18
standard:
type: string
description: The asset standard
example: ERC20
required:
- symbol
- name
- decimals
AssetMetadata:
type: object
properties:
scope:
type: string
description: The scope of the asset
example: Global
enum:
- Global
- Local
deprecated:
type: boolean
description: Is asset deprecated
example: false
required:
- scope
- deprecated
AssetResponse:
type: object
properties:
legacyId:
type: string
example: TST3_ETH
assetClass:
type: string
example: FT
enum:
- NATIVE
- FT
- NFT
- SFT
onchain:
$ref: '#/components/schemas/AssetOnchain'
metadata:
$ref: '#/components/schemas/AssetMetadata'
required:
- legacyId
- assetClass
- displayName
- displaySymbol
- onchain
- metadata
AssetBadRequestErrorResponse:
type: object
properties:
message:
type: string
description: Bad request error code
example: Listing an asset on the requested blockchain is not supported
code:
type: string
description: Error code
example: 3001
required:
- message
- code
ListAssetsResponse:
type: object
properties:
data:
type: array
description: The data on the current page
items:
$ref: '#/components/schemas/Asset'
next:
type: string
description: Cursor to the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
- next
AssetForbiddenErrorResponse:
type: object
properties:
message:
type: string
description: Forbidden error code
example: Asset creation quota reached
code:
type: string
description: Error code
example: 3006
required:
- message
- code
TokenInfoNotFoundErrorResponse:
type: object
properties:
message:
type: string
description: Not found error code
example: Invalid address, could not get asset information
code:
type: number
description: Error code
example: 3009
required:
- message
- code
AssetConflictErrorResponse:
type: object
properties:
message:
type: string
description: Conflict error code
example: Asset already listed
code:
type: string
description: Error code
example: 3002
required:
- message
- code
AssetInternalServerErrorResponse:
type: object
properties:
message:
type: string
description: Internal server error code
example: Internal server error
code:
type: string
description: Error code
example: 3005
required:
- message
- code
TransactionStatus:
type: string
description: >
The primary status of the transaction.
For details, see [Primary transaction
statuses](https://developers.fireblocks.com/reference/primary-transaction-statuses)
enum:
- SUBMITTED
- PENDING_AML_SCREENING
- PENDING_ENRICHMENT
- PENDING_AUTHORIZATION
- QUEUED
- PENDING_SIGNATURE
- PENDING_3RD_PARTY_MANUAL_APPROVAL
- PENDING_3RD_PARTY
- BROADCASTING
- COMPLETED
- CONFIRMING
- CANCELLING
- CANCELLED
- BLOCKED
- REJECTED
- FAILED
TransactionSubStatus:
type: string
description: >
See [Transaction
substatuses](https://developers.fireblocks.com/reference/transaction-substatuses)
for the list of transaction sub statuses
enum:
- 3RD_PARTY_PROCESSING
- 3RD_PARTY_PENDING_SERVICE_MANUAL_APPROVAL
- PENDING_3RD_PARTY_MANUAL_APPROVAL
- 3RD_PARTY_CONFIRMING
- PENDING_BLOCKCHAIN_CONFIRMATIONS
- 3RD_PARTY_COMPLETED
- COMPLETED_BUT_3RD_PARTY_FAILED
- COMPLETED_BUT_3RD_PARTY_REJECTED
- CONFIRMED
- BLOCKED_BY_POLICY
- 3RD_PARTY_CANCELLED
- 3RD_PARTY_REJECTED
- CANCELLED_BY_USER
- CANCELLED_BY_USER_REQUEST
- REJECTED_BY_USER
- AUTO_FREEZE
- FROZEN_MANUALLY
- REJECTED_AML_SCREENING
- ACTUAL_FEE_TOO_HIGH
- ADDRESS_WHITELISTING_SUSPENDED
- AMOUNT_TOO_SMALL
- AUTHORIZATION_FAILED
- AUTHORIZER_NOT_FOUND
- ENV_UNSUPPORTED_ASSET
- ERROR_UNSUPPORTED_TRANSACTION_TYPE
- FAIL_ON_LOW_FEE
- GAS_LIMIT_TOO_LOW
- GAS_PRICE_TOO_LOW_FOR_RBF
- INCOMPLETE_USER_SETUP
- INSUFFICIENT_FUNDS
- INSUFFICIENT_FUNDS_FOR_FEE
- INTEGRATION_SUSPENDED
- INVALID_ADDRESS
- INVALID_CONTRACT_CALL_DATA
- INVALID_FEE_PARAMS
- INVALID_NONCE_FOR_RBF
- INVALID_TAG_OR_MEMO
- INVALID_UNMANAGED_WALLET
- MAX_FEE_EXCEEDED
- MISSING_TAG_OR_MEMO
- NEED_MORE_TO_CREATE_DESTINATION
- NO_MORE_PREPROCESSED_INDEXES
- NON_EXISTING_ACCOUNT_NAME
- RAW_MSG_EMPTY_OR_INVALID
- RAW_MSG_LEN_INVALID
- TOO_MANY_INPUTS
- TX_SIZE_EXCEEDED_MAX
- UNAUTHORISED_DEVICE
- UNAUTHORISED_USER
- UNALLOWED_RAW_PARAM_COMBINATION
- UNSUPPORTED_OPERATION
- UNSUPPORTED_TRANSACTION_TYPE
- ZERO_BALANCE_IN_PERMANENT_ADDRESS
- OUT_OF_DATE_SIGNING_KEYS
- CONNECTIVITY_ERROR
- ERROR_ASYNC_TX_IN_FLIGHT
- INTERNAL_ERROR
- INVALID_NONCE_TOO_HIGH
- INVALID_NONCE_TOO_LOW
- INVALID_ROUTING_DESTINATION
- LOCKING_NONCE_ACCOUNT_TIMEOUT
- NETWORK_ROUTING_MISMATCH
- NONCE_ALLOCATION_FAILED
- RESOURCE_ALREADY_EXISTS
- SIGNER_NOT_FOUND
- SIGNING_ERROR
- TIMEOUT
- TX_OUTDATED
- UNKNOWN_ERROR
- VAULT_WALLET_NOT_READY
- UNSUPPORTED_MEDIA_TYPE
- ADDRESS_NOT_WHITELISTED
- API_KEY_MISMATCH
- ASSET_NOT_ENABLED_ON_DESTINATION
- DEST_TYPE_NOT_SUPPORTED
- EXCEEDED_DECIMAL_PRECISION
- EXCHANGE_CONFIGURATION_MISMATCH
- EXCHANGE_VERSION_INCOMPATIBLE
- INVALID_EXCHANGE_ACCOUNT
- METHOD_NOT_ALLOWED
- NON_EXISTENT_AUTO_ACCOUNT
- ON_PREMISE_CONNECTIVITY_ERROR
- PEER_ACCOUNT_DOES_NOT_EXIST
- THIRD_PARTY_MISSING_ACCOUNT
- UNAUTHORISED_IP_WHITELISTING
- UNAUTHORISED_MISSING_CREDENTIALS
- UNAUTHORISED_MISSING_PERMISSION
- UNAUTHORISED_OTP_FAILED
- WITHDRAW_LIMIT
- 3RD_PARTY_FAILED
- API_CALL_LIMIT
- API_INVALID_SIGNATURE
- CANCELLED_EXTERNALLY
- FAILED_AML_SCREENING
- INVALID_FEE
- INVALID_THIRD_PARTY_RESPONSE
- MANUAL_DEPOSIT_ADDRESS_REQUIRED
- MISSING_DEPOSIT_ADDRESS
- NO_DEPOSIT_ADDRESS
- SUB_ACCOUNTS_NOT_SUPPORTED
- SPEND_COINBASE_TOO_EARLY
- THIRD_PARTY_INTERNAL_ERROR
- TX_ID_NOT_ACCEPTED_BY_THIRD_PARTY
- UNSUPPORTED_ASSET
- DOUBLE_SPENDING
- DROPPED_BY_BLOCKCHAIN
- INSUFFICIENT_RESERVED_FUNDING
- INVALID_SIGNATURE
- PARTIALLY_FAILED
- POWERUP_SUGGESTION_FAILURE
- REACHED_MEMPOOL_LIMIT_FOR_ACCOUNT
- REJECTED_BY_BLOCKCHAIN
- SMART_CONTRACT_EXECUTION_FAILED
- TOO_LONG_MEMPOOL_CHAIN
- ''
GetTransactionOperation:
type: string
enum:
- TRANSFER
- BURN
- CONTRACT_CALL
- MINT
- RAW
- TYPED_MESSAGE
- PROGRAM_CALL
- ENABLE_ASSET
- STAKE
- UNSTAKE
- WITHDRAW
- REDEEM_FROM_COMPOUND
- SUPPLY_TO_COMPOUND
- APPROVE
description: >
* `TRANSFER` - Transfers funds from one account to another. UTXO
blockchains allow multi-input and multi-output transfers. All other
blockchains allow transfers with one source address and one destination
address.
* `MINT` - Mints new tokens. Supported for Stellar, Ripple, and
EVM-based blockchains.
* `BURN` - Burns tokens. Supported for Stellar, Ripple, and EVM-based
blockchains.
* `CONTRACT_CALL` - Calls a smart contract method for web3 operations on
any EVM blockchain. The Fireblocks [development
libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries)
are recommended for building contract call transactions.
* `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal
Message or EIP712 format. Use it to sign specific readable messages that
are not actual transactions. [Learn more about typed
messages](https://developers.fireblocks.com/docs/typed-message-signing).
* `RAW` - An off-chain message with no predefined format. Use it to sign
any message with your private key, including protocols such as
blockchains and custom transaction types that Fireblocks do not natively
support. [Learn more about raw signing
transactions.](https://developers.fireblocks.com/docs/raw-message-signing)
* `PROGRAM_CALL` - Calls a smart contract for web3 operations on the Solana blockchain.
Read more in the [Solana Programs Interactions guide](https://developers.fireblocks.com/reference/interact-with-solana-programs)
* `ENABLE_ASSET` - Algorand, DigitalBits, Solana, and Stellar require an
on-chain transaction to create an asset wallet and enable the deposit
address. This transaction is automatically created when adding assets on
these blockchains at a vault account.
* `STAKE` - Assign assets to a staking pool managed by a staking
validator. Supported for Stellar and EVM-based blockchains. This
transaction is automatically created when performing staking operations.
* `UNSTAKE` - Remove assets from a staking pool managed by a staking
validator. Supported for Stellar and EVM-based blockchains. This
transaction is automatically created when performing staking operations.
* `WITHDRAW` - Transfer assets from a dedicated staking vault account to
another address. Supported for Stellar and EVM-based blockchains. This
transaction is automatically created when performing staking operations.
**Note:** Fireblocks will rename this type from `WITHDRAW` to a different type name soon. There will be a 7-day notice regarding the new type name.
* `SUPPLY_TO_COMPOUND` - Deprecated since April 1st, 2023. Older
transactions may have this as their operation, in case users in the
workspace have used the direct integration between Fireblocks and the
Compound DeFI protocol.
* `REDEEM_FROM_COMPOUND` - Deprecated since April 1st, 2023. Older
transactions may have this as their operation, in case users in the
workspace have used the direct integration between Fireblocks and the
Compound DeFI protocol.
* `APPROVE` - Enables the approve function for a smart contract to
withdraw from a designated wallet. [Learn
more](https://support.fireblocks.io/hc/en-us/articles/4404616097426-Approve-Transaction-Amount-Cap).
TransferPeerPathType:
type: string
enum:
- VAULT_ACCOUNT
- EXCHANGE_ACCOUNT
- INTERNAL_WALLET
- EXTERNAL_WALLET
- UNMANAGED_WALLET
- CONTRACT
- NETWORK_CONNECTION
- FIAT_ACCOUNT
- COMPOUND
- GAS_STATION
- ONE_TIME_ADDRESS
- UNKNOWN
- END_USER_WALLET
- PROGRAM_CALL
- MULTI_DESTINATION
- OEC_PARTNER
SourceTransferPeerPathResponse:
type: object
description: Source of the transaction.
properties:
type:
$ref: '#/components/schemas/TransferPeerPathType'
subType:
type: string
example: External
description: >-
In case the type is set to `EXCHANGE_ACCOUNT` or `FIAT_ACCOUNT`, the
specific exchange vendor name or fiat vendor name. In case the type
is set to `INTERNAL_WALLET` or `EXTERNAL_WALLET`, the subType is set
to `Internal` or `External`.
id:
type: string
example: 713153a5-42b8-4865-b871-10aee308e7ac
nullable: true
description: >-
The ID of the peer. You can retrieve the ID of each venue object
using the endpoints for [listing vault
accounts](https://developers.fireblocks.com/reference/getpagedvaultaccounts),
[listing exchange
account](https://developers.fireblocks.com/reference/getexchangeaccounts),
[listing fiat
accounts](https://developers.fireblocks.com/reference/getfiataccounts),
[listing internal
wallets](https://developers.fireblocks.com/reference/getinternalwallets),
[listing external
wallets](https://developers.fireblocks.com/reference/getexternalwallets),
[listing network
connections](https://developers.fireblocks.com/reference/getnetworkconnection).
For the other types, this parameter is not needed.
name:
type: string
description: The name of the peer
example: Some Peer Name
walletId:
type: string
format: uuid
example: d5a6453c-c8b8-4ae1-84f5-4002164e711e
tradingAccount:
type: string
nullable: true
description: >-
If this transaction is an exchange internal transfer, this field
will be populated with the type of that trading account.
required:
- type
DestinationTransferPeerPathResponse:
type: object
description: >-
Destination of the transaction.
**Note:** In case the transaction is sent to multiple destinations, the
`destinations` parameter is be used instead of this.
properties:
type:
$ref: '#/components/schemas/TransferPeerPathType'
subType:
type: string
example: External
description: >-
In case the type is set to `EXCHANGE_ACCOUNT` or `FIAT_ACCOUNT`, the
specific exchange vendor name or fiat vendor name.In case the type
is set to `INTERNAL_WALLET` or `EXTERNAL_WALLET`, the subType is set
to `Internal` or `External`.
id:
type: string
example: 713153a5-42b8-4865-b871-10aee308e7ac
nullable: true
description: >-
The ID of the peer. You can retrieve the ID of each venue object
using the endpoints for [listing vault
accounts](https://developers.fireblocks.com/reference/getpagedvaultaccounts),
[listing exchange
account](https://developers.fireblocks.com/reference/getexchangeaccounts),
[listing fiat
accounts](https://developers.fireblocks.com/reference/getfiataccounts),
[listing internal
wallets](https://developers.fireblocks.com/reference/getinternalwallets),
[listing external
wallets](https://developers.fireblocks.com/reference/getexternalwallets),
[listing network
connections](https://developers.fireblocks.com/reference/getnetworkconnections).
For the other types, this parameter is not needed.
name:
type: string
description: The name of the peer
example: Some Peer Name
walletId:
type: string
format: uuid
example: d5a6453c-c8b8-4ae1-84f5-4002164e711e
tradingAccount:
type: string
nullable: true
description: >-
If this transaction is an exchange internal transfer, this field
will be populated with the type of that trading account.
required:
- type
AmlScreeningResult:
type: object
description: The result of the AML screening.
properties:
provider:
type: string
payload:
type: object
AuthorizationGroups:
type: object
properties:
th:
type: number
example: 1
users:
type: object
additionalProperties:
type: string
enum:
- PENDING_AUTHORIZATION
- APPROVED
- REJECTED
- NA
AuthorizationInfo:
type: object
description: >-
The information about your [Transaction Authorization Policy
(TAP).](https://developers.fireblocks.com/docs/capabilities#transaction-authorization-policy-tap)
properties:
allowOperatorAsAuthorizer:
type: boolean
logic:
type: string
enum:
- AND
- OR
groups:
type: array
items:
$ref: '#/components/schemas/AuthorizationGroups'
TransactionResponseDestination:
type: object
properties:
amount:
type: string
description: The amount to be sent to this destination.
example: '0.2'
amountUSD:
type: string
description: The USD value of the requested amount.
example: '158'
amlScreeningResult:
$ref: '#/components/schemas/AmlScreeningResult'
destination:
$ref: '#/components/schemas/DestinationTransferPeerPathResponse'
authorizationInfo:
$ref: '#/components/schemas/AuthorizationInfo'
AmountInfo:
type: object
description: The details of the requested amount to transfer.
properties:
amount:
description: >-
If the transfer is a withdrawal from an exchange, the actual amount
that was requested to be transferred. Otherwise, the requested
amount.
type: string
requestedAmount:
description: The amount requested by the user.
type: string
netAmount:
description: The net amount of the transaction, after fee deduction.
type: string
amountUSD:
description: The USD value of the requested amount.
type: string
FeeInfo:
type: object
description: Details of the transaction fees.
properties:
networkFee:
description: The fee paid to the network.
type: string
serviceFee:
description: The total fee deducted by the exchange from the actual requested amount (serviceFee = amount - netAmount).
type: string
gasPrice:
description: The amount of gas required by/paid to the network to process the transaction.
type: string
L1networkFee:
description: Layer 1 network fee for Layer 2 blockchain transactions
type: string
L2networkFee:
description: Layer 2 network fee (gas price component for Layer 2 transactions)
type: string
paidByRelay:
description: Indicates whether the relay paid the fee.
type: boolean
relayType:
description: Indicates whether the relay is the same tenant (`LOCAL`) or another tenant (`THIRD_PARTY`).
type: string
relayId:
description: The Vault account ID of the relay.
type: string
relayName:
description: The name of the tenant hosting the third-party relay.
type: string
feeUSD:
type: string
description: The USD equivalent value of the fee
example: "0.00013"
FeePayerInfo:
type: object
properties:
feePayerAccountId:
type: string
description: The account ID of the fee payer
example: "123"
RewardInfo:
type: object
description: >-
This field is relevant only for Algorand transactions. Both `srcRewards`
and `destRewards` will appear only for Vault to Vault transactions,
otherwise you will receive only the Fireblocks’ side of the transaction.
properties:
srcRewards:
type: string
destRewards:
type: string
NetworkRecord:
type: object
properties:
source:
$ref: '#/components/schemas/SourceTransferPeerPathResponse'
destination:
$ref: '#/components/schemas/DestinationTransferPeerPathResponse'
txHash:
type: string
networkFee:
type: string
assetId:
type: string
x-fb-entity: asset
netAmount:
description: The net amount of the transaction, after fee deduction
type: string
isDropped:
type: boolean
type:
type: string
destinationAddress:
type: string
amountUSD:
type: string
rewardInfo:
$ref: '#/components/schemas/RewardInfo'
ComplianceScreeningResult:
type: object
properties:
provider:
type: string
description: Screening Provider
enum:
- CHAINALYSIS
- ELLIPTIC
- CHAINALYSIS_V2
- ELLIPTIC_HOLISTIC
- NONE
payload:
type: object
description: |
The payload of the screening result.
- The payload is a JSON object that contains the screening result.
- The payload is different for each screening provider.
bypassReason:
type: string
description: Reason AML screening was bypassed
enum:
- MANUAL
- UNSUPPORTED_ASSET
- BYPASSED_FAILURE
- UNSUPPORTED_ROUTE
- PASSED_BY_POLICY
- TIMED_OUT
- BAD_CREDENTIALS
- CONFIGURATION_ERROR
- DROPPED_BY_BLOCKCHAIN
- PROCESS_DISMISSED
screeningStatus:
type: string
enum:
- COMPLETED
- PENDING
- BYPASSED
- FAILED
- FROZEN
timestamp:
type: number
format: date-time
AmlRegistrationResult:
type: object
properties:
provider:
type: string
success:
type: boolean
timestamp:
type: number
ComplianceResult:
type: object
description: The result of the Compliance AML/Travel Rule screening.
properties:
aml:
type: object
description: The end result of the AML screening.
items:
$ref: '#/components/schemas/ComplianceScreeningResult'
tr:
type: object
description: The result of the Travel Rule screening.
items:
$ref: '#/components/schemas/ComplianceScreeningResult'
amlList:
type: array
description: The list of all results of the AML screening.
items:
$ref: '#/components/schemas/ComplianceScreeningResult'
status:
type: string
description: Status of compliance result screening.
enum:
- Started
- AMLStarted
- AMLCompleted
- AMLFailed
- AMLInBackground
- TRStarted
- TRCompleted
- TRFailed
- Completed
- RegistrationStarted
- AMLRegistrationStarted
- AMLRegistrationCompleted
- TRUpdateStarted
- TRUpdateCompleted
- UpdateCompleted
- IncomingStarted
- AMLIncomingStarted
- AMLIncomingCompleted
- AMLIncomingFailed
- AMLIncomingInBackground
- TRIncomingStarted
- TRIncomingCompleted
- TRIncomingFailed
- IncomingCompleted
amlRegistration:
type: object
description: The results of the AML address registration.
items:
$ref: '#/components/schemas/AmlRegistrationResult'
MevProtection:
description: |
Choose the MEV protection provider.
Currently only `default` available.
type: string
enum:
- default
NodeControls:
description: |
Configure special node requirements.
- For routing transactions to a custom node, set the `type` to `NODE_ROUTER` and the `tag` to the pre-configured tag value.
- For MEV protection, set only the `type` property to `MEV` (`tag` is not required at this stage).
**Note:** This is a premium feature that should be enabled in your workspace. Please contact your Customer Success Manager or Fireblocks Support for more information.
type: object
properties:
type:
description: |
`NODE_ROUTER` - used for transaction routing to a custom node
`MEV` - used for transaction routing to a MEV protection provider
type: string
enum:
- MEV
- NODE_ROUTER
tag:
description: Should be used when type is `NODE_ROUTER` only
type: string
example: some_node_tag
PreHash:
type: object
description: >
The prehash object for ECDSA RAW signing requests.
The prehash object contains the content to sign (the actual message in
hex representation) and the hashing algorithm to use before signing.
properties:
content:
type: string
description: The prehashed content to sign on in hex representation.
example: 48656c6c6f2046697265626c6f636b73210a
hashAlgorithm:
type: string
description: >-
The hashing algorithm to use in order to hash the content before the
signature process
enum:
- SHA256
- KECCAK256
- SHA3
- BLAKE2
- DOUBLE_SHA256
required:
- content
- hashAlgorithm
UnsignedMessage:
type: object
properties:
preHash:
$ref: '#/components/schemas/PreHash'
content:
description: |
Content to sign on.
- EIP-191: Requires a 32 byte-long string for ECDSA (hash of the actual message to sign) or any length for EdDSA, as prehashing is not required.
- EIP-712: Requires an object specifying the structured data format, including `types`, `domain`, `primaryType`, and `message`.
type: string
example: ababababababababababababababababababbababababababbababababababab
bip44addressIndex:
description: BIP44 address index
type: integer
example: 0
bip44change:
description: BIP44 change index
type: number
example: 0
derivationPath:
type: array
description: BIP44 full derivation path
items:
type: number
example:
- 44
- 60
- 0
- 0
- 0
type:
type: string
description: >
Typed Message Signing - message type.
- EIP191 & EIP712: for ETH and all EVM based assets typed message
signing
- TIP191: For Tron (TRX) typed message signing
- BTC_MESSAGE: For Bitcoin (BTC) typed message signing
enum:
- EIP191
- EIP712
- TIP191
- BTC_MESSAGE
required:
- content
ExtraParameters:
type: object
properties:
nodeControls:
$ref: '#/components/schemas/NodeControls'
rawMessageData:
type: object
properties:
messages:
type: array
items:
$ref: '#/components/schemas/UnsignedMessage'
algorithm:
type: string
enum:
- MPC_ECDSA_SECP256K1
- MPC_ECDSA_SECP256R1
- MPC_EDDSA_ED25519
description: >-
Object containing messages for raw signing and the algorithm to be
used.
contractCallData:
type: string
description: Hex encoded contract call data as a string.
example: >-
0xa9059cbb000000000000000000000000c7f14c1161a5427137b232c077ecdbd1f881c02900000000000000000000000000000000000000000000000000000000a05e0722
programCallData:
type: string
description: BASE64 encoded Solana unsigned serialized transaction object.
example: |
"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAECnckDh7gOELSNx5pD92oS2ijhbUvjg0vuo/8tthsbvDi7gZJWA3XnqGrMfSlASBHSPx9i0WEmM065fw4GxrdeYpuUVNx1/Pp2gbwoJC0Pd60uzHOU3EJx13JWL6R34Jt4AQEAAA=="
inputsSelection:
type: object
properties:
inputsToSpend:
type: array
items:
$ref: '#/components/schemas/UnspentInput'
description: Inputs that should be used in the transaction.
inputsToExclude:
type: array
items:
$ref: '#/components/schemas/UnspentInput'
description: Inputs that shouldn't be used in the transaction.
description: >-
For UTXO based blockchains, selections of inputs for the
transaction.
allowBaseAssetAddress:
type: boolean
default: false
description: |
Transfers to unmanaged wallets only. When true, if the destination doesn't have a whitelisted address for the requested asset, we'll use the destination's whitelisted address of the base asset (e.g., use the ETH address for an ERC-20). If the requested asset's whitelisted address exists, it is used.
**Note:** This is a premium feature that should be enabled in your workspace. Please contact your Customer Success Manager or Fireblocks Support for more information.
description: |
Additional protocol and operation-specific key-value parameters:
- For UTXO-based blockchain input selection, add the key `inputsSelection` with the value set to the [input selection structure](https://developers.fireblocks.com/reference/transaction-objects#inputsselection). The inputs can be retrieved from the [Retrieve Unspent Inputs endpoint](https://developers.fireblocks.com/reference/get_vault-accounts-vaultaccountid-assetid-unspent-inputs).
- For `RAW` operations, add the key `rawMessageData` with the value set to the [raw message data structure](https://developers.fireblocks.com/reference/raw-signing-objects#rawmessagedata).
- For `CONTRACT_CALL` operations, add the key `contractCallData` with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks [development libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries) are recommended for building contract call transactions.
- For exchange compliance (e.g., Binance) and Travel Rule purposes, include the key `piiData` containing a custom JSON structure with Personally Identifiable Information (PII) relevant to the transaction. This data must be **fully encrypted by the sender** before being submitted to the Fireblocks API. The recommended encryption method is hybrid encryption using AES-256-GCM for the payload and RSA-OAEP for key exchange, with the recipient exchange's public key. Learn more [here](https://developers.fireblocks.com/docs/a-developers-guide-to-constructing-encrypted-pii-messages-for-binance-via-fireblocks).
**Note:** `rawMessageData`, `contractCallData`, and `inputsSelection` cannot be used together in the same call.
SignedMessage:
type: object
description: Signed Message Object (for RAW signing responses)
properties:
content:
type: string
example: some_content
algorithm:
type: string
enum:
- MPC_ECDSA_SECP256K1
- MPC_ECDSA_SECP256R1
- MPC_EDDSA_ED25519
derivationPath:
type: array
items:
minItems: 5
maxItems: 5
type: number
example:
- 44
- 0
- 60
- 0
- 0
signature:
type: object
properties:
fullSig:
description: R + S values concatenated
type: string
example: >-
c8ab06c7c3447ac8f594a643d5942ceb2451b9434bb29c4b1a40da5cf32403002bfba73d825b240f2e2949df139c2f3e26e6cdd36579eb1a0cbd4abc4e6e348a
r:
type: string
example: c8ab06c7c3447ac8f594a643d5942ceb2451b9434bb29c4b1a40da5cf3240300
s:
type: string
example: 2bfba73d825b240f2e2949df139c2f3e26e6cdd36579eb1a0cbd4abc4e6e348a
v:
type: number
enum:
- 0
- 1
publicKey:
type: string
example: 03af66c4551559d54bfbfd14c84870a337b06bf2738ed6427480ec56ee551c7458
SignedMessages:
type: array
description: An array of signed messages
items:
$ref: '#/components/schemas/SignedMessage'
BlockInfo:
type: object
description: >-
The block hash and height of the block that this transaction was mined
in.
**Note**: If an outgoing transaction uses the destinations object with more than one value in the array, blockHash is set to null.
properties:
blockHeight:
type: string
example: '19953257'
blockHash:
type: string
nullable: true
example: '0x1fdc0bc79a07387fa0de794142ead16f26edd9b5c66480139c2c37c422a3935e'
SystemMessageInfo:
type: object
properties:
type:
type: string
enum:
- WARN
- BLOCK
message:
type: string
description: >-
A response from Fireblocks that communicates a message about the
health of the process being performed. If this object is returned
with data, you should expect potential delays or incomplete
transaction statuses.
example: Slow transaction processing. Outgoing transactions might be stuck.
TransactionResponse:
type: object
properties:
id:
type: string
description: Fireblocks Transaction ID
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
externalTxId:
type: string
description: >-
Unique external transaction identifier provided by the user. Used to help prevent duplicate transactions.
example: my_unique_external_tx_id
status:
$ref: '#/components/schemas/TransactionStatus'
subStatus:
$ref: '#/components/schemas/TransactionSubStatus'
txHash:
type: string
example: 0f47094cde3fcc168ed97365a7cb3996ad5706fff03e7403e74ffd7a922025d4
description: |-
The hash of the transaction on the blockchain.
* This parameter exists if at least one of the following conditions is met:
1. The transaction’s source type is `UNKNOWN`, `WHITELISTED_ADDRESS`, `NETWORK_CONNECTION`, `ONE_TIME_ADDRESS`, `FIAT_ACCOUNT` or `GAS_STATION`.
2. The transaction’s source type is `VAULT` and the status is either: `CONFIRMING`, `COMPLETED`, or was in any of these statuses prior to changing to `FAILED` or `REJECTED`. In some instances, transactions in status `BROADCASTING` will include the txHash as well.
3. The transaction’s source type is `EXCHANGE_ACCOUNT` and the transaction’s destination type is `VAULT`, and the status is either: `CONFIRMING`, `COMPLETED`, or was in any of these status prior to changing to `FAILED`.
* In addition, the following conditions must be met:
1. The asset is a crypto asset (not fiat).
2. The transaction operation is not `RAW` or `TYPED_MESSAGE`.
operation:
$ref: '#/components/schemas/GetTransactionOperation'
note:
type: string
description: >-
Custom note, not sent to the blockchain, that describes the
transaction at your Fireblocks workspace.
example: My Transcation Note
blockchainInfo:
type: object
description: |
A JSON used to store additional blockchain-specific data.
**Example:** In HBAR, this property will have the txHash in addition to the txID.
assetId:
type: string
description: >-
The ID of the asset for `TRANSFER`, `MINT`, `BURN`,
`ENABLE_ASSET`,`STAKE` ,`UNSTAKE` or `WITHDRAW` operations. See the
[list of supported assets and their IDs on
Fireblocks](https://developers.fireblocks.com/reference/getsupportedassets).
x-fb-entity: asset
example: BTC
assetType:
type: string
description: Type classification of the asset
example: "ERC20"
source:
$ref: '#/components/schemas/SourceTransferPeerPathResponse'
sourceAddress:
type: string
description: >-
For account based assets only, the source address of the
transaction.
**Note:** If the status is `CONFIRMING`, `COMPLETED`, or has been
`CONFIRMING`; then moved forward to `FAILED` or `REJECTED`, then
this parameter will contain the source address. In any other case,
this parameter will be empty.
example: bc1qjhm0h7vhdyu0d0luv34dlz654rmsvg8twywk99
tag:
type: string
description: >-
Source address tag for Tag/Memo supporting assets, or Bank Transfer
Description for the fiat provider BLINC (by BCB Group).
example: '247016305'
deprecated: true
destination:
$ref: '#/components/schemas/DestinationTransferPeerPathResponse'
destinations:
type: array
description: >-
The transaction’s destinations.
**Note:** In case the transaction is sent to a single destination,
the `destination` parameter is used instead of this.
items:
$ref: '#/components/schemas/TransactionResponseDestination'
destinationAddress:
type: string
example: bc1qzfstugu9fn0hq4dv0xhzyw2p2h9mapdery324e
description: |-
Address where the asset were transferred.
Notes:
- For [Multi destination transactions](https://support.fireblocks.io/hc/en-us/articles/360018447980-Multi-destination-transactions), this parameter will be empty. In this case, you should refer to the destinations field.
- If the status is `CONFIRMING`, `COMPLETED`, or has been `CONFIRMING`; then moved forward to `FAILED` or `REJECTED`, then this parameter will contain the destination address. In any other case, this parameter will be empty.
destinationAddressDescription:
type: string
description: Description of the destination address.
example: some_description
destinationTag:
type: string
example: '4274981917'
description: >-
Destination address tag for Tag/Memo supporting assets, or Bank
Transfer Description for the fiat provider BLINC (by BCB Group).
contractCallDecodedData:
description: Decoded data for `CONTRACT_CALL` operations.
type: object
properties:
contractName:
type: string
functionCalls:
type: array
items:
type: object
amountInfo:
$ref: '#/components/schemas/AmountInfo'
treatAsGrossAmount:
type: boolean
description: >-
For transactions initiated via this Fireblocks workspace, when set
to `true`, the fee is deducted from the requested amount.
**Note:** This parameter can only be considered if a transaction's
asset is a base asset, such as ETH or MATIC. If the asset can't be
used for transaction fees, like USDC, this parameter is ignored and
the fee is deducted from the relevant base asset wallet in the
source account.
feeInfo:
$ref: '#/components/schemas/FeeInfo'
feeCurrency:
type: string
description: >-
The asset which was withdrawn to pay the transaction fee, for
example ETH for EVM-based blockchains, BTC for Tether Omni.
example: ETH
networkRecords:
type: array
description: >-
In case a single transaction resulted with multiple transfers, for
example a result of a contract call, then this parameter specifies
each transfer that took place on the blockchain.
items:
$ref: '#/components/schemas/NetworkRecord'
createdAt:
type: number
description: The transaction’s creation date and time, in unix timestamp.
example: 1716727963121
lastUpdated:
type: number
description: The transaction’s last update date and time, in unix timestamp.
example: 1716727961121
createdBy:
type: string
description: User ID of the initiator of the transaction.
example: 106d86fd-cd76-4554-a3e5-73df10281937
signedBy:
type: array
description: User ID’s of the signers of the transaction.
items:
type: string
example: 106d86fd-cd76-4554-a3e5-73df10281937
rejectedBy:
type: string
example: c0c1abde-68ed-44bb-8848-6187b22f2442
description: >-
User ID of the user that rejected the transaction (in case it was
rejected).
authorizationInfo:
$ref: '#/components/schemas/AuthorizationInfo'
exchangeTxId:
type: string
description: >-
If the transaction originated from an exchange, this is the ID of
this transaction at the exchange.
customerRefId:
type: string
example: some_reference
description: >-
The ID for AML providers to associate the owner of funds with
transactions.
amlScreeningResult:
$ref: '#/components/schemas/AmlScreeningResult'
complianceResult:
$ref: '#/components/schemas/ComplianceResult'
notBroadcastByFireblocks:
type: boolean
description: Indicates the transaction was not broadcast by Fireblocks
example: false
dappUrl:
type: string
description: dApp URL for Web3 transactions
example: "https://app.uniswap.org/"
gasLimit:
type: string
description: Gas limit for EVM-based blockchain transactions
example: "21000"
blockchainIndex:
type: string
description: Blockchain-specific index or identifier for the transaction
example: "1.1.1"
paidRent:
type: string
description: Solana rent payment amount
example: "0.00203928"
extraParameters:
$ref: '#/components/schemas/ExtraParameters'
signedMessages:
$ref: '#/components/schemas/SignedMessages'
numOfConfirmations:
type: number
example: 10
description: >-
The number of confirmations of the transaction. The number will
increase until the transaction will be considered completed
according to the confirmation policy.
blockInfo:
$ref: '#/components/schemas/BlockInfo'
index:
type: number
example: 0
description: >-
For UTXO based assets this is the vOut, for Ethereum based, this is
the index of the event of the contract call.
**Note:** This field is not returned if a transaction uses the `destinations` object with more than one value.
rewardInfo:
$ref: '#/components/schemas/RewardInfo'
feePayerInfo:
$ref: '#/components/schemas/FeePayerInfo'
systemMessages:
$ref: '#/components/schemas/SystemMessageInfo'
addressType:
type: string
enum:
- ''
- WHITELISTED
- ONE_TIME
requestedAmount:
description: >-
The amount requested by the user. Deprecated - please use the
`amountInfo` field for accuracy.
type: number
deprecated: true
amount:
description: >-
If the transfer is a withdrawal from an exchange, the actual amount
that was requested to be transferred. Otherwise, the requested
amount. Deprecated - please use the `amountInfo` field for accuracy.
type: number
deprecated: true
netAmount:
description: >-
The net amount of the transaction, after fee deduction. Deprecated -
please use the `amountInfo` field for accuracy.
type: number
deprecated: true
amountUSD:
description: >-
The USD value of the requested amount. Deprecated - please use the
`amountInfo` field for accuracy.
type: number
nullable: true
deprecated: true
serviceFee:
description: >-
The total fee deducted by the exchange from the actual requested
amount (`serviceFee` = `amount` - `netAmount`). Deprecated - please
use the `feeInfo` field for accuracy.
type: number
deprecated: true
fee:
description: Deprecated - please use the `feeInfo` field for accuracy.
type: number
deprecated: true
networkFee:
description: >-
The fee paid to the network. Deprecated - please use the `feeInfo`
field for accuracy.
type: number
deprecated: true
errorDescription:
description: >-
The transaction's revert reason. This field will be returned when
`subStatus` = 'SMART_CONTRACT_EXECUTION_FAILED'.
type: string
example: Some error returned by the contract
replacedTxByHash:
type: string
description: >-
If the transaction is a Replace-By-Fee (RBF) transaction, this is the
hash of the transaction that was replaced.
nonce:
type: string
description: Blockchain nonce for the transaction
GetTransactionsResponse:
type: array
items:
$ref: '#/components/schemas/TransactionResponse'
TransactionOperation:
type: string
default: TRANSFER
enum:
- TRANSFER
- BURN
- CONTRACT_CALL
- MINT
- RAW
- TYPED_MESSAGE
- PROGRAM_CALL
description: >
* `TRANSFER` - The default value for an operation. Transfers funds from
one account to another. UTXO blockchains allow multi-input and
multi-output transfers. All other blockchains allow transfers with one
source address and one destination address.
* `MINT` - Mints new tokens. Supported for Stellar, Ripple and EVM-based
blockchains.
* `BURN` - Burns tokens. Supported for Stellar, Ripple and EVM-based
blockchains.
* `CONTRACT_CALL` - Calls a smart contract method for web3 operations on
any EVM blockchain. The Fireblocks [development
libraries](https://developers.fireblocks.com/docs/ethereum-development#convenience-libraries)
are recommended for building contract call transactions.
* `PROGRAM_CALL` - Calls a smart contract for web3 operations on the Solana blockchain.
Read more in the [Solana Programs Interactions guide](https://developers.fireblocks.com/reference/interact-with-solana-programs).
* `TYPED_MESSAGE` - An off-chain message in either Ethereum Personal
Message or EIP712 format. Use it to sign specific readable messages that
are not actual transactions. [Learn more about typed
messages](https://developers.fireblocks.com/docs/typed-message-signing-1).
* `RAW` - An off-chain message with no predefined format. Use it to sign
any message with your private key, including protocols such as
blockchains and custom transaction types that are not natively supported
by Fireblocks. [Learn more about raw signing
transactions.](https://developers.fireblocks.com/docs/raw-signing)
TransferPeerPathSubType:
type: string
enum:
- BINANCE
- BINANCEUS
- BITFINEX
- BITHUMB
- BITMEX
- BITSO
- BITSTAMP
- BITTREX
- BLINC
- BULLISHEXCHANGE
- BYBIT
- CIRCLE
- COINBASEEXCHANGE
- COINBASEPRO
- COINMETRO
- COINSPRO
- CRYPTOCOM
- DERIBIT
- GEMINI
- HITBTC
- HUOBI
- INDEPENDENTRESERVE
- KORBIT
- KRAKEN
- KRAKENINTL
- KUCOIN
- LIQUID
- OKCOIN
- OKEX
- PAXOS
- POLONIEX
- External
- Internal
SourceTransferPeerPath:
type: object
description: The source of the transaction.
properties:
type:
$ref: '#/components/schemas/TransferPeerPathType'
subType:
$ref: '#/components/schemas/TransferPeerPathSubType'
id:
type: string
name:
type: string
walletId:
type: string
format: uuid
isCollateral:
type: boolean
description: Indicates whether the source is a collateral account
example: true
required:
- type
OneTimeAddress:
type: object
properties:
address:
type: string
tag:
type: string
required:
- address
DestinationTransferPeerPath:
type: object
description: The destination of the transaction.
properties:
type:
$ref: '#/components/schemas/TransferPeerPathType'
subType:
$ref: '#/components/schemas/TransferPeerPathSubType'
id:
type: string
name:
type: string
walletId:
type: string
format: uuid
oneTimeAddress:
$ref: '#/components/schemas/OneTimeAddress'
isCollateral:
type: boolean
description: Indicates whether the destination is a collateral account
example: true
required:
- type
TransactionRequestDestination:
type: object
properties:
amount:
type: string
destination:
$ref: '#/components/schemas/DestinationTransferPeerPath'
TravelRulePiiIVMS:
type: object
properties:
originatorPersons:
type: array
description: Information about the originator of the transaction
items:
$ref: '#/components/schemas/TravelRulePersons'
beneficiaryPersons:
type: array
description: Information about the beneficiary of the transaction
items:
$ref: '#/components/schemas/TravelRulePersons'
accountNumber:
type: array
description: Beneficiary account number. The value must be encrypted.
items:
type: string
example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt
TravelRuleTransactionBlockchainInfo:
type: object
properties:
txHash:
type: string
description: The hash of the transaction
example: 0x93cfe544ad47a2dca2232e9dd5b73d37287efbf8554184d841e0b2e7dc1628aa
origin:
type: string
description: The origin address of the transaction
example: 0x9355Af3563C29bc7c4839811d74B1B223eEbC513
destination:
type: string
description: The destination address of the transaction
example: 0x9355Af3563C29bc7c4839811d74B1B223eEbC513
TravelRuleOwnershipProof:
type: object
properties:
type:
type: string
description: >-
The type of ownership proof. Example values:
- `eip-191`: Ethereum signature proof
- `eip-712`: Ethereum typed data signature proof
- `bip-137`: Bitcoin signature proof
- `microtransfer`: Microtransaction (Satoshi test)
- `screenshot`: Uploaded screenshot of the wallet
- `self-declaration`: Checkbox attestation of ownership
example: eip-191
proof:
type: string
description: >-
The cryptographic signature, transaction hash, or other proof depending on the type. Examples:
- For `eip-191`: `0x3dd4a17a...ce4a2bcd1b`
- For `microtransfer`: The transaction hash `H3V8GXBy39Dz...tr3TSTkY=`
example: "0x3dd4a17a...ce4a2bcd1b"
attestation:
type: string
description: >-
A human-readable statement of wallet ownership. Required for signature proofs and self-declarations. Examples:
- `I certify that ETH account 0x896B...0b9b belongs to me.`
- `I hereby declare that the blockchain address 0xa437bEed902AF9338B7DEB23848e195d85019510 is under my control.`
example: "I certify that ETH account 0x896B...0b9b belongs to me."
address:
type: string
description: >-
The wallet address being verified. Examples:
- For Ethereum: `0x896B...0b9b`
- For Bitcoin: `1442...dxhsQ`
example: "0x896B...0b9b"
wallet_provider:
type: string
description: >-
The wallet provider or method used for verification. Examples:
- For Metamask: `Metamask`
- For manual signature: `manual`
example: "Metamask"
url:
type: string
description: >-
The URL for the uploaded screenshot (for `screenshot` proof types only). Example:
`https://example.com/uploaded_image.png`
example: "https://example.com/uploaded_image.png"
confirmed:
type: boolean
description: >-
Whether the user confirmed ownership of the wallet (for `self-declaration` proofs). Example:
`true`
example: true
TravelRulePerson:
type: object
properties:
naturalPerson:
type: object
allOf:
- $ref: '#/components/schemas/TravelRuleNaturalPerson'
legalPerson:
type: object
allOf:
- $ref: '#/components/schemas/TravelRuleLegalPerson'
TravelRulePersons:
type: object
allOf:
- $ref: '#/components/schemas/TravelRulePerson'
TravelRuleCreateTransactionRequest:
type: object
properties:
originatorVASPdid:
type: string
description: >-
The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets.
This identifier is unique to the exchange and is generated when the exchange's account is
created in the Notabene network.
example: "did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2"
beneficiaryVASPdid:
type: string
description: >-
The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets.
This identifier is unique to the exchange and is generated when the exchange's account is
created in the Notabene network.
example: "did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6"
originatorVASPname:
type: string
description: The name of the VASP acting as the transaction originator.
example: Originator VASP Ltd.
beneficiaryVASPname:
type: string
description: The name of the VASP acting as the transaction beneficiary.
example: Beneficiary VASP Inc.
beneficiaryVASPwebsite:
type: string
description: The website of the VASP acting as the transaction beneficiary.
example: https://www.beneficiaryvasp.com
transactionBlockchainInfo:
description: Information about the blockchain transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleTransactionBlockchainInfo'
originator:
description: Information about the originator of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRulePiiIVMS'
beneficiary:
description: Information about the beneficiary of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRulePiiIVMS'
encrypted:
type: string
description: Encrypted data related to the transaction.
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
protocol:
type: string
description: The protocol used to perform the travel rule.
example: IVMS101
skipBeneficiaryDataValidation:
type: boolean
description: Whether to skip validation of beneficiary data.
example: false
travelRuleBehavior:
type: boolean
description: >-
Whether to check if the transaction complies with the travel rule in the
beneficiary VASP's jurisdiction.
example: true
originatorRef:
type: string
description: A reference ID related to the originator of the transaction.
example: ORG123456
beneficiaryRef:
type: string
description: A reference ID related to the beneficiary of the transaction.
example: BEN654321
travelRuleBehaviorRef:
type: string
description: A reference ID related to the travel rule behavior.
example: TRB987654
originatorProof:
description: Ownership proof related to the originator of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleOwnershipProof'
beneficiaryProof:
description: Ownership proof related to the beneficiary of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleOwnershipProof'
beneficiaryDid:
type: string
description: >-
The Decentralized Identifier (DID) of the person at the receiving exchange (VASP).
This identifier is generated when the customer is registered in the Notabene network,
or automatically created based on the `beneficiaryRef`.
- If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload,
a new random DID is generated for every transaction.
example: "did:key:z6Mkf67890Zghijkl67890"
originatorDid:
type: string
description: >-
The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting
the withdrawal. This identifier is generated when the customer is registered in the Notabene
network or automatically created based on the `originatorRef`.
- If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload,
a new random DID is generated for every transaction.
example: "did:key:z6Mkf12345Zabcdef12345"
isNonCustodial:
type: boolean
description: Indicates if the transaction involves a non-custodial wallet.
example: true
required:
- originator
- beneficiary
TravelRuleDateAndPlaceOfBirth:
type: object
description: Represents the date and place of birth for a natural person
properties:
dateOfBirth:
type: string
description: Date of birth. The value must be encrypted.
example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt
placeOfBirth:
type: string
description: Place of birth. The value must be encrypted.
example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt
TravelRuleLegalPersonNameIdentifier:
type: object
properties:
legalPersonName:
type: string
description: Name by which the legal person is known. The value must be encrypted.
example: QmVXXj5BJchhqQTU27uEkeghYMnxR6aVjZxJP9jS6uCg9Q
legalPersonNameIdentifierType:
type: string
description: >-
Specifies the type of name for a legal person. Acceptable values are:
- 'REGISTERED': The official registered name.
- 'TRADE': A trading name or DBA (Doing Business As) name.
- 'OTHER': Any other type of name.
The value must be encrypted.
example: QmPevsa5xdkxf6Lgt7f9YweRBdgseeAkWVaYyssKF3Q86e
TravelRuleNationalIdentification:
type: object
description: Represents a national identifier for a person or entity
properties:
countryOfIssue:
type: string
description: Country that issued the national identifier (ISO-3166 Alpha-2 country code). The value must be encrypted.
example: QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm
nationalIdentifier:
type: string
description: National identifier (max 35 characters). The value must be encrypted.
example: QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z
nationalIdentifierType:
type: string
description: >-
Type of national identifier. Acceptable values include:
- 'PASSPORT': Passport number
- 'NATIONAL_ID': National identification number
- 'TAX_ID': Tax identification number
- 'SOCIAL_SECURITY': Social security number
The value must be encrypted.
example: QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi
registrationAuthority:
type: string
description: Registration authority (format -> RA followed by 6 digits). The value must be encrypted.
example: QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk
TravelRuleNaturalPerson:
type: object
properties:
name:
type: array
items:
$ref: '#/components/schemas/TravelRuleNaturalPersonNameIdentifier'
description: >-
An array of structured name identifiers for the natural person, referencing
the TravelRuleNaturalPersonNameIdentifier schema.
geographicAddress:
type: array
items:
$ref: '#/components/schemas/TravelRuleGeographicAddress'
description: >-
An array of geographic addresses associated with the natural person,
referencing the TravelRuleGeographicAddress schema.
nationalIdentification:
allOf:
- $ref: '#/components/schemas/TravelRuleNationalIdentification'
description: >-
The national identification of the natural person, referencing
the TravelRuleNationalIdentification schema.
dateAndPlaceOfBirth:
allOf:
- $ref: '#/components/schemas/TravelRuleDateAndPlaceOfBirth'
description: >-
The date and place of birth of the natural person, referencing
the TravelRuleDateAndPlaceOfBirth schema.
customerIdentification:
type: string
description: >-
A unique identifier for the customer within the organization's context.
The value must be encrypted.
example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj
countryOfResidence:
type: string
description: >-
The ISO-3166 Alpha-2 country code of the natural person's residence.
The value must be encrypted.
example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj
customerNumber:
type: string
description: >-
A distinct identifier that uniquely identifies the customer within the organization.
The value must be encrypted.
example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj
TravelRuleNaturalPersonNameIdentifier:
type: object
properties:
nameIdentifier:
type: array
items:
$ref: '#/components/schemas/TravelRuleNaturalNameIdentifier'
localNameIdentifier:
type: array
items:
$ref: '#/components/schemas/TravelRuleNaturalNameIdentifier'
phoneticNameIdentifier:
type: array
items:
$ref: '#/components/schemas/TravelRuleNaturalNameIdentifier'
TravelRuleNaturalNameIdentifier:
type: object
properties:
primaryIdentifier:
type: string
description: The primary identifier of the name. The value must be encrypted.
example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv
secondaryIdentifier:
type: string
description: The secondary identifier of the name. The value must be encrypted.
example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv
nameIdentifierType:
type: string
description: >-
The type of the name identifier. The value must be encrypted.
The value must be one of the following: [LEGL, DBA, TRAD, NICK, ALIA, MAID, FORM, PREV, BORN, OTHR].
example: QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv
TravelRuleLegalPerson:
type: object
properties:
name:
type: object
allOf:
- $ref: '#/components/schemas/TravelRuleLegalPersonNameIdentifier'
description: The structured name of the legal person, referencing name identifiers.
geographicAddress:
type: array
items:
$ref: '#/components/schemas/TravelRuleGeographicAddress'
description: The array of geographic addresses associated with the legal person.
nationalIdentification:
$ref: '#/components/schemas/TravelRuleNationalIdentification'
customerIdentification:
type: string
description: >-
A unique identifier that identifies the customer in the organization's context.
The value must be encrypted.
example: QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy
customerNumber:
type: string
description: >-
A distinct identifier that uniquely identifies the customer within the organization.
The value must be encrypted.
example: QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8
countryOfRegistration:
type: string
description: >-
The ISO-3166 Alpha-2 country code where the legal person is registered.
The value must be encrypted.
example: QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr
TravelRuleGeographicAddress:
type: object
properties:
streetName:
type: string
description: Name of a street or thoroughfare. The value must be encrypted.
example: QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9
townName:
type: string
description: Name of a built-up area, with defined boundaries, and a local government. The value must be encrypted.
example: QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt
country:
type: string
description: Nation with its own government (ISO-3166 Alpha-2 country code). The value must be encrypted.
example: QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm
buildingNumber:
type: string
description: Number that identifies the position of a building on a street. The value must be encrypted.
example: QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP
postCode:
type: string
description: Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail. The value must be encrypted.
example: QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj
addressType:
type: string
description: >-
Specifies the type of address. Acceptable values are:
- 'HOME': Residential, the home address
- 'BIZZ': Business, the business address
- 'GEOG': Geographic, an unspecified physical (geographical) address
The value must be encrypted.
example: Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H
department:
type: string
description: Identification of a division of a large organisation or building. The value must be encrypted.
example: QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8
subDepartment:
type: string
description: Identification of a sub-division of a large organisation or building. The value must be encrypted.
example: QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s
buildingName:
type: string
description: Name of the building or house. The value must be encrypted.
example: QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9
floor:
type: string
description: Floor or storey within a building. The value must be encrypted.
example: QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1
postBox:
type: string
description: Numbered box in a post office. The value must be encrypted.
example: QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ
room:
type: string
description: Building room number. The value must be encrypted.
example: QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ
townLocationName:
type: string
description: Specific location name within the town. The value must be encrypted.
example: QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm
districtName:
type: string
description: Identifies a subdivision within a country subdivision. The value must be encrypted.
example: QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy
countrySubDivision:
type: string
description: Identifies a subdivision of a country, such as a state, region, or province. The value must be encrypted.
example: QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C
addressLine:
type: array
items:
type: string
description: Information that locates and identifies a specific address, presented in free-format text. Each item must be encrypted.
example:
- QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT
TransactionRequest:
type: object
properties:
operation:
$ref: '#/components/schemas/TransactionOperation'
note:
type: string
description:
Custom note, not sent to the blockchain, to describe the transaction at your Fireblocks workspace.
example: Ticket 123
externalTxId:
type: string
description: |
Allows you to add a unique ID to help prevent duplicate transactions. No specific format is required for this parameter. After you submit a transaction with an external ID, Fireblocks will automatically reject all future transactions with the same ID.
- Using an external ID primarily helps in situations where, even though a submitted transaction responds with an error due to an internet outage, the transaction was still sent to and processed on the blockchain.
- Use [Get a specific transaction by external transaction ID](https://developers.fireblocks.com/reference/gettransactionbyexternalid) to validate whether these transactions have been processed.
example: some_unique_external_tx_id
assetId:
type: string
description:
The ID of the asset to transfer; used for `TRANSFER`, `MINT`, or `BURN` operations. See [the list of supported assets and their IDs](https://developers.fireblocks.com/reference/listassets).
x-fb-entity: asset
example: ETH
source:
$ref: '#/components/schemas/SourceTransferPeerPath'
destination:
$ref: '#/components/schemas/DestinationTransferPeerPath'
destinations:
type: array
description: >-
For UTXO based blockchains, you can send a single transaction to
multiple destinations.
items:
$ref: '#/components/schemas/TransactionRequestDestination'
amount:
description: >-
For `TRANSFER` operations, the requested amount to transfer, in the
asset’s unit. Fireblocks recommends using a numeric string for
accurate precision. Although a number input exists, it is
deprecated.
oneOf:
- type: string
description: Numeric string (recommended)
example: '0.02'
- type: number
description: Number (deprecated)
example: 0.02
treatAsGrossAmount:
type: boolean
description: >-
"When set to `true`, the fee will be deducted from the requested
amount."
**Note**: This parameter can only be considered if a transaction’s
asset is a base asset, such as ETH or MATIC. If the asset can’t be
used for transaction fees, like USDC, this parameter is ignored and
the fee is deducted from the relevant base asset wallet in the
source account.
example: false
forceSweep:
type: boolean
description: >-
For Polkadot, TON, Kusama and Westend transactions only. When set to
true, Fireblocks will empty the asset wallet.
**Note:** If set to true when the source account is exactly 1 DOT, the transaction will fail. Any amount more or less than 1 DOT succeeds. This is a Polkadot blockchain limitation.
example: false
feeLevel:
type: string
description: >-
For UTXO or EVM-based blockchains only. Defines the blockchain fee
level which will be payed for the transaction. Alternatively,
specific fee estimation parameters exist below.
enum:
- LOW
- MEDIUM
- HIGH
example: MEDIUM
fee:
description: |
- **For UTXO-based blockchains**, the fee per bytes in the asset's smallest unit (Satoshi, Latoshi, etc.).
- **For Ripple**, the fee for the transaction.
Note:
- Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated.
oneOf:
- type: string
description: Numeric string (recommended)
- type: number
description: Number (deprecated)
priorityFee:
description: |
**For Ethereum-based blockchains only.** The fee (in Gwei) for EIP-1559 transaction pricing mechanism.
Note:
- Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated.
oneOf:
- type: string
description: Numeric string (recommended)
example: '2'
- type: number
description: Number (deprecated)
example: 2
failOnLowFee:
type: boolean
description: >-
When set to `true`, in case the current `MEDIUM` fee level is higher
than the one specified in the transaction, the transaction will fail
to avoid getting stuck with no confirmations.
maxFee:
description: >-
The maximum fee (gas price or fee per byte) that should be paid for
the transaction. In case the current value of the requested
`feeLevel` is higher than this requested maximum fee. Represented
by a numeric string for more precision.
type: string
example: '120'
gasLimit:
description: |
**For EVM-based blockchains only.** Units of gas required to process the transaction.
Notes:
- Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`.
- Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated.
oneOf:
- type: string
description: Numeric string (recommended)
example: '21000'
- type: number
description: Number (deprecated)
example: 21000
gasPrice:
description: |
**For non-EIP-1559, EVM-based transactions.** Price per gas unit. In Ethereum, this is specified in Gwei.
Notes:
- Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`.
- Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated.
oneOf:
- type: string
description: Numeric string (recommended)
- type: number
description: Number (deprecated)
networkFee:
description: |
The total transaction fee in the blockchain's largest unit.
Notes:
- Only two of the three arguments can be specified in a single transaction: `gasLimit`, `gasPrice`, and/or `networkFee`.
- Fireblocks recommends using a numeric string for more precision. Although a number input exists, it is deprecated.
oneOf:
- type: string
description: Numeric string (recommended)
- type: number
description: Number (deprecated)
replaceTxByHash:
type: string
description: |
**For EVM-based blockchains only.**
Notes:
- To replace a transaction, create another transaction using the stuck transaction's hash and specify a higher fee.
- To drop a transaction, create another transaction using the stuck transaction's hash and change the `amount` field to 0.
example: 00000000-0000-0000-0000-000000000000
extraParameters:
$ref: '#/components/schemas/ExtraParameters'
customerRefId:
type: string
description: >-
The ID for AML providers to associate the owner of funds with
transactions.
example: abcdef
travelRuleMessage:
$ref: '#/components/schemas/TravelRuleCreateTransactionRequest'
autoStaking:
type: boolean
description: This feature is no longer supported.
deprecated: true
networkStaking:
deprecated: true
description: This feature is no longer supported.
oneOf:
- type: string
description: Numeric string (recommended)
- type: number
description: Number (deprecated)
cpuStaking:
deprecated: true
description: This feature is no longer supported.
oneOf:
- type: string
description: Numeric string (recommended)
- type: number
description: Number (deprecated)
useGasless:
type: boolean
description: '- Override the default gasless configuration by sending true\false'
CreateTransactionResponse:
type: object
properties:
id:
type: string
description: Unique Fireblocks identifier of the transaction
status:
type: string
description: >-
The primary status of the transaction. For details, see [Primary
transaction statuses.]
(https://developers.fireblocks.com/reference/primary-transaction-statuses)
systemMessages:
$ref: '#/components/schemas/SystemMessageInfo'
TransactionFee:
type: object
properties:
gasLimit:
example: '21000'
description: Gas limit value for EVM based networks
type: string
feePerByte:
description: The fee per byte value for UTXO based assets
type: string
example: '21.6'
gasPrice:
description: Gas price in gwei units for EVM based networks
type: string
example: '32'
networkFee:
description: The full network fee price
type: string
example: '0.0001'
baseFee:
description: (optional) Base Fee according to EIP-1559 (ETH assets)
type: string
example: '10'
priorityFee:
description: (optional) Priority Fee according to EIP-1559 (ETH assets)
type: string
example: '22'
maxFeePerGasDelta:
description: Max Fee Per Gas Delta added only for EIP-1559 (ETH assets)
type: string
example: '31'
l1Fee:
description: Layer 1 fee for Layer 2 chains
type: string
example: '0'
EstimatedTransactionFeeResponse:
type: object
properties:
low:
$ref: '#/components/schemas/TransactionFee'
medium:
$ref: '#/components/schemas/TransactionFee'
high:
$ref: '#/components/schemas/TransactionFee'
feeDetails:
$ref: '#/components/schemas/EstimatedFeeDetails'
required:
- low
- medium
- high
EstimatedFeeDetails:
type: object
description: Optional detailed fee breakdown for high/medium/low estimates
properties:
low:
$ref: '#/components/schemas/FeeBreakdown'
medium:
$ref: '#/components/schemas/FeeBreakdown'
high:
$ref: '#/components/schemas/FeeBreakdown'
FeeBreakdown:
oneOf:
- type: object
description: Solana-specific fee breakdown
properties:
baseFee:
type: string
description: Base fee for Solana transaction
priorityFee:
type: string
description: Priority fee for Solana transaction
rent:
type: string
description: Rent fee for Solana account creation/storage
totalFee:
type: string
description: Total fee amount
- type: object
description: Generic fee breakdown for other blockchains
properties:
baseFee:
type: string
description: Base fee component
priorityFee:
type: string
description: Priority fee component
totalFee:
type: string
description: Total fee amount
SetConfirmationsThresholdRequest:
type: object
properties:
numOfConfirmations:
type: number
example: 50
SetConfirmationsThresholdResponse:
type: object
properties:
success:
type: boolean
transactions:
type: array
description: An array of the affected Fireblocks Transaction IDs
items:
type: string
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
DropTransactionRequest:
type: object
properties:
txId:
type: string
description: Fireblocks Transaction ID
example: cfe5be48-9307-4aa3-8ead-b959fca35dd6
feeLevel:
type: string
description: Transcation Fee Level
enum:
- LOW
- MEDIUM
- HIGH
gasPrice:
type: string
description: Transaction Gas Price in gwei
example: '10'
DropTransactionResponse:
type: object
properties:
txStatus:
type: string
txId:
type: string
replacedTxHash:
type: string
CancelTransactionResponse:
type: object
properties:
success:
type: boolean
FreezeTransactionResponse:
type: object
properties:
success:
type: boolean
UnfreezeTransactionResponse:
type: object
properties:
success:
type: boolean
ValidateAddressResponse:
type: object
properties:
isValid:
type: boolean
isActive:
type: boolean
requiresTag:
type: boolean
NetworkFee:
type: object
properties:
feePerByte:
description: The fee per byte value for UTXO based assets
type: string
example: '21.6'
gasPrice:
description: Gas price in gwei units for EVM based networks
type: string
example: '32'
networkFee:
description: >-
The full network fee for non EVM and UTXO based assets (in the base
asset units)
type: string
example: '0.0001'
baseFee:
description: (optional) Base Fee according to EIP-1559 (ETH assets)
type: string
example: '10'
priorityFee:
description: (optional) Priority Fee according to EIP-1559 (ETH assets)
type: string
example: '22'
RescanTransaction:
type: object
properties:
txHash:
type: string
example: '0x2446f1fd773fbb9f080e674b60c6a033c7ed7427b8b9413cf28a2a4a6da9b56c'
description: Blockchain TX hash
assetId:
type: string
example: BTC
description: Asset symbol BTC,ETH)
x-fb-entity: asset
RescanTransactionRequest:
type: array
items:
$ref: '#/components/schemas/RescanTransaction'
ValidatedTransactionsForRescan:
type: object
properties:
baseAsset:
type: string
description: Base asset symbol BTC_TEST, ETH_TEST5)
x-fb-entity: asset
networkProtocol:
type: string
description: Netowrk protocol of the blockchain (BTC, ETH)
txHashes:
type: array
example: '[''0x7b8b9413cf28a2a4a6da9b56c'']'
description: Blockchain TX hashes
items:
type: string
ValidatedTransactionsForRescanResponse:
type: array
items:
$ref: '#/components/schemas/ValidatedTransactionsForRescan'
EstimatedNetworkFeeResponse:
type: object
properties:
low:
$ref: '#/components/schemas/NetworkFee'
medium:
$ref: '#/components/schemas/NetworkFee'
high:
$ref: '#/components/schemas/NetworkFee'
required:
- low
- medium
- high
PaymentAccountType:
type: string
enum:
- VAULT_ACCOUNT
- EXCHANGE_ACCOUNT
- FIAT_ACCOUNT
PaymentAccount:
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/PaymentAccountType'
required:
- id
- type
PayeeAccountType:
type: string
enum:
- VAULT_ACCOUNT
- EXCHANGE_ACCOUNT
- INTERNAL_WALLET
- EXTERNAL_WALLET
- NETWORK_CONNECTION
- FIAT_ACCOUNT
description: "- VAULT_ACCOUNT \ta native Fireblocks vault account\n- EXCHANGE_ACCOUNT \ta third-party exchange account\n- INTERNAL_WALLET \ta whitelisted address marked as internal to the workspace/organization\n- EXTERNAL_WALLET\ta whitelisted address marked as external\n- NETWORK_CONNECTION\ta member of the Fireblocks network\n- FIAT_ACCOUNT\ta third-party account of a fiat bank (Signature, BCB, etc)\n"
PayeeAccount:
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/PayeeAccountType'
required:
- id
- type
InstructionAmount:
type: object
properties:
amount:
description: The amount as string
type: string
example: '20'
assetId:
description: Unique asset identifier
type: string
example: ETH
required:
- amount
- assetId
PayoutInstruction:
type: object
properties:
id:
type: string
payeeAccount:
$ref: '#/components/schemas/PayeeAccount'
amount:
$ref: '#/components/schemas/InstructionAmount'
required:
- amount
- payeeAccount
CreatePayoutRequest:
type: object
properties:
paymentAccount:
$ref: '#/components/schemas/PaymentAccount'
instructionSet:
type: array
items:
$ref: '#/components/schemas/PayoutInstruction'
required:
- paymentAccount
- instructionSet
PaymentAccountResponse:
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/PaymentAccountType'
PayoutState:
type: string
enum:
- CREATED
- FILE_FOUND
- REQUESTED
- TRANSLATED
- PROCESSING
- SUBMITTED
- FINALIZED
- INSUFFICIENT_BALANCE
- FAILED
description: >
- CREATED - payout instruction set created with all its details
- FILE_FOUND - new file found in the FTP
- REQUESTED - payout requested with all its details
- TRANSLATED - payout instruction account IDs identified and translated
- PROCESSING - payout instruction set executed and is processing
- SUBMITTED - transactions submitted for payout instructions
- FINALIZED - payout finished processing, all transactions processed
successfully
- INSUFFICIENT_BALANCE - insufficient balance in the payment account
(can be a temporary state)
- FAILED - one or more of the payout instructions failed
PayoutStatus:
type: string
enum:
- REGISTERED
- VERIFYING
- IN_PROGRESS
- DONE
- INSUFFICIENT_BALANCE
- FAILED
description: "- REQUESTED\tpayout requested with all its details\n- VERIFIED\tpayout instruction set details were verified\n- PROCESSING\tpayout instruction set executed and is processing\n- FINALIZED\tpayout done (all payout instructions completed successfully)\n- INSUFFICIENT_BALANCE\tinsufficient balance in the payment account (can be a temporary state)\n- FAILED\tone or more of the payout instructions failed\n"
PayoutInitMethod:
type: string
enum:
- FILE
- API
PayeeAccountResponse:
type: object
properties:
id:
type: string
type:
$ref: '#/components/schemas/PayeeAccountType'
PayoutInstructionState:
type: string
enum:
- NOT_STARTED
- TRANSACTION_SENT
- COMPLETED
- FAILED
- TRANSLATION_ERROR
- SKIPPED
description: "- NOT_STARTED\t- waiting to start\n- TRANSACTION_SENT - an underlying transaction was sent\n- COMPLETED\t- completed successfully\n- FAILED - failed\n- TRANSLATION_ERROR -lookup of the destination failed (due to changes in the underlying whitelisted external wallet or similar)\n- SKIPPED- no transaction(s) created for this instruction\n"
Transaction:
type: object
properties:
id:
type: string
state:
type: string
enum:
- SUBMITTED
- QUEUED
- PENDING_AUTHORIZATION
- PENDING_SIGNATURE
- BROADCASTING
- PENDING_3RD_PARTY_MANUAL_APPROVAL
- PENDING_3RD_PARTY
- PENDING
- CONFIRMING
- CONFIRMED
- COMPLETED
- PARTIALLY_COMPLETED
- PENDING_AML_SCREENING
- CANCELLING
- CANCELLED
- REJECTED
- BLOCKED
- FAILED
- TIMEOUT
timestamp:
type: number
format: date-time
instructionId:
type: string
required:
- id
- state
PayoutInstructionResponse:
type: object
properties:
id:
type: string
payeeAccount:
$ref: '#/components/schemas/PayeeAccountResponse'
amount:
$ref: '#/components/schemas/InstructionAmount'
state:
$ref: '#/components/schemas/PayoutInstructionState'
transactions:
type: array
items:
$ref: '#/components/schemas/Transaction'
required:
- amount
- payeeAccount
- state
- transactions
PayoutResponse:
type: object
properties:
payoutId:
type: string
paymentAccount:
$ref: '#/components/schemas/PaymentAccountResponse'
createdAt:
type: number
state:
$ref: '#/components/schemas/PayoutState'
status:
$ref: '#/components/schemas/PayoutStatus'
reasonOfFailure:
type: string
description: |
<ul>
<li> INSUFFICIENT_BALANCE</li>
<li> SOURCE_TRANSLATION</li>
<li> SOURCE_NOT_UNIQUE</li>
<li> SOURCE_NOT_FOUND</li>
<li> SOURCE_TYPE_NOT_SUPPORTED</li>
<li> EMPTY_SOURCE</li>
<li> DESTINATION_TRANSLATION</li>
<li> DESTINATION_NOT_UNIQUE</li>
<li> DESTINATION_NOT_FOUND</li>
<li> EMPTY_DESTINATION</li>
<li> PARSING </li>
<li> UNKNOWN</li>
<li> FIREBLOCKS_CLIENT</li>
<li> TRANSACTION_SUBMISSION</li>
</ul>
initMethod:
$ref: '#/components/schemas/PayoutInitMethod'
instructionSet:
type: array
items:
$ref: '#/components/schemas/PayoutInstructionResponse'
reportUrl:
type: string
required:
- payoutId
- createdAt
- state
- status
- paymentAccount
- instructionSet
ErrorResponse:
type: object
properties:
error:
type: object
properties:
type:
type: string
enum:
- INTERNAL
- AUTHENTICATION
- AUTHORIZATION
- VALIDATION
- NOT_FOUND
- UNPROCESSABLE_ENTITY
- FORBIDDEN
message:
type: string
required:
- type
- message
required:
- error
DispatchPayoutResponse:
type: object
properties:
payoutId:
type: string
required:
- payoutId
PreScreening:
type: object
description: Should the configured AML pre-screening policy be enabled or not
properties:
enabled:
type: boolean
required:
- enabled
ConversionOperationType:
type: string
description: Conversion Operation Type
enum:
- CONVERSION
ConversionOperationConfigParams:
type: object
properties:
amount:
description: The amount to convert
type: string
example: '10'
accountId:
description: Source account ID
example: '0'
type: string
srcAssetId:
description: The asset ID to convert
type: string
example: ETH
destAssetId:
description: The asset ID to get as a result of the conversion
type: string
example: USDC
slippageBasisPoints:
type: integer
description: Slippage tolerance (basis points)
minimum: 0
maximum: 10000
example: 100
required:
- destAssetId
CreateConversionConfigOperationRequest:
type: object
description: Conversion Operation object
properties:
type:
$ref: '#/components/schemas/ConversionOperationType'
params:
$ref: '#/components/schemas/ConversionOperationConfigParams'
required:
- type
- params
TransferOperationType:
type: string
description: Transfer operation type
enum:
- TRANSFER
AccountType:
type: string
description: Account type
enum:
- EXCHANGE_ACCOUNT
- UNMANAGED_WALLET
- VAULT_ACCOUNT
- NETWORK_CONNECTION
- FIAT_ACCOUNT
Account:
type: object
properties:
accountId:
description: The unique ID of the account
type: string
example: '0'
accountType:
$ref: '#/components/schemas/AccountType'
required:
- accountId
- accountType
OneTimeAddressAccount:
type: object
description: Non whitelisted destination address
properties:
oneTimeAddress:
description: The destination address
type: string
example: '0xb794f5ea0ba39494ce839613fffba74279579268'
tag:
type: string
description: required For Tag/Memo based assets only
example: '123456'
required:
- oneTimeAddress
Destination:
oneOf:
- $ref: '#/components/schemas/Account'
- $ref: '#/components/schemas/OneTimeAddressAccount'
TransferOperationConfigParams:
type: object
properties:
amount:
description: The amount to transfer
type: string
example: '12'
assetId:
type: string
description: The assed ID to transfer
example: ETH
source:
$ref: '#/components/schemas/Account'
destination:
$ref: '#/components/schemas/Destination'
required:
- destination
CreateTransferConfigOperationRequest:
type: object
properties:
type:
$ref: '#/components/schemas/TransferOperationType'
params:
$ref: '#/components/schemas/TransferOperationConfigParams'
required:
- type
- params
DisbursementOperationType:
type: string
description: Disbursment operation type
enum:
- DISBURSEMENT
DisbursementAmountInstruction:
type: object
properties:
payeeAccount:
$ref: '#/components/schemas/Destination'
assetId:
description: Asset unique identifier
type: string
example: ETH
amount:
description: The amount to disburse
type: string
example: '100'
required:
- payeeAccount
- assetId
- amount
DisbursementPercentageInstruction:
type: object
properties:
payeeAccount:
$ref: '#/components/schemas/Destination'
assetId:
type: string
description: The asset ID to disburse
example: ETH
percentage:
description: >-
The percentage of the asset's balance to disburse (i.e. '20' for 20%
)
type: string
example: '20'
required:
- payeeAccount
- assetId
- percentage
DisbursementInstruction:
oneOf:
- $ref: '#/components/schemas/DisbursementAmountInstruction'
- $ref: '#/components/schemas/DisbursementPercentageInstruction'
DisbursementOperationConfigParams:
type: object
properties:
paymentAccount:
$ref: '#/components/schemas/Account'
instructionSet:
type: array
items:
$ref: '#/components/schemas/DisbursementInstruction'
required:
- instructionSet
CreateDisbursementConfigOperationRequest:
type: object
properties:
type:
$ref: '#/components/schemas/DisbursementOperationType'
params:
$ref: '#/components/schemas/DisbursementOperationConfigParams'
required:
- type
- params
CreateConfigOperationRequest:
oneOf:
- $ref: '#/components/schemas/CreateConversionConfigOperationRequest'
- $ref: '#/components/schemas/CreateTransferConfigOperationRequest'
- $ref: '#/components/schemas/CreateDisbursementConfigOperationRequest'
CorrelationData:
x-internal: true
oneOf:
- type: object
additionalProperties:
type: string
- type: string
CreateWorkflowConfigurationRequest:
type: object
x-internal: true
properties:
configName:
description: Your configuration name
type: string
example: my_config_name
preScreening:
$ref: '#/components/schemas/PreScreening'
configOperations:
type: array
items:
$ref: '#/components/schemas/CreateConfigOperationRequest'
externalCorrelationData:
$ref: '#/components/schemas/CorrelationData'
required:
- configName
- configOperations
WorkflowConfigStatus:
type: string
enum:
- PENDING
- VALIDATION_IN_PROGRESS
- VALIDATION_FAILED
- READY_FOR_EXECUTION
ConfigOperationStatus:
type: string
enum:
- PENDING
- VALIDATION_IN_PROGRESS
- READY_FOR_EXECUTION
- VALIDATION_FAILED
ConversionValidationFailure:
type: object
properties:
reason:
type: string
enum:
- ACCOUNT_NOT_FOUND
- ACCOUNT_TYPE_NOT_SUPPORTED
- INSUFFICIENT_BALANCE
- ASSET_NOT_FOUND
- ASSETS_CONTINUITY_MISMATCH
- EXCHANGE_BASKETS_MISMATCH
- ACCOUNTS_CONTINUITY_MISMATCH
- ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED
- EQUAL_ACCOUNTS_NOT_ALLOWED
- EQUAL_ASSETS_NOT_ALLOWED
- INVALID_AMOUNT
- UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED
- MANAGED_OPERATION_PARAMS_INVALID_SCHEMA
- ACCOUNT_IS_NOT_EXCHANGE
- UNSUPPORTED_TRADING_METHOD
- ASSETS_CAN_NOT_CONVERTED
data:
type: object
additionalProperties: {}
required:
- reason
ConversionConfigOperation:
type: object
properties:
operationId:
description: Operation unique identifier
example: 7bf16b28-6cd6-403f-af60-045c4b68a767
type: string
type:
$ref: '#/components/schemas/ConversionOperationType'
params:
$ref: '#/components/schemas/ConversionOperationConfigParams'
status:
$ref: '#/components/schemas/ConfigOperationStatus'
validationFailure:
$ref: '#/components/schemas/ConversionValidationFailure'
required:
- operationId
- type
- params
- status
TransferValidationFailure:
type: object
properties:
reason:
type: string
enum:
- ACCOUNT_NOT_FOUND
- ACCOUNT_TYPE_NOT_SUPPORTED
- INSUFFICIENT_BALANCE
- ASSET_NOT_FOUND
- ASSETS_CONTINUITY_MISMATCH
- EXCHANGE_BASKETS_MISMATCH
- ACCOUNTS_CONTINUITY_MISMATCH
- ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED
- EQUAL_ACCOUNTS_NOT_ALLOWED
- EQUAL_ASSETS_NOT_ALLOWED
- INVALID_AMOUNT
- UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED
- MANAGED_OPERATION_PARAMS_INVALID_SCHEMA
data:
type: object
additionalProperties: true
required:
- reason
TransferConfigOperation:
type: object
properties:
operationId:
type: string
type:
$ref: '#/components/schemas/TransferOperationType'
params:
$ref: '#/components/schemas/TransferOperationConfigParams'
status:
$ref: '#/components/schemas/ConfigOperationStatus'
validationFailure:
$ref: '#/components/schemas/TransferValidationFailure'
required:
- operationId
- type
- params
- status
DisbursementValidationFailure:
type: object
properties:
reason:
type: string
enum:
- ACCOUNT_NOT_FOUND
- ACCOUNT_TYPE_NOT_SUPPORTED
- INSUFFICIENT_BALANCE
- ASSET_NOT_FOUND
- ASSETS_CONTINUITY_MISMATCH
- EXCHANGE_BASKETS_MISMATCH
- ACCOUNTS_CONTINUITY_MISMATCH
- ONE_TIME_ADDRESS_CONTINUITY_NOT_ALLOWED
- EQUAL_ACCOUNTS_NOT_ALLOWED
- EQUAL_ASSETS_NOT_ALLOWED
- INVALID_AMOUNT
- UNMANAGED_WALLET_AS_SOURCE_NOT_ALLOWED
- MANAGED_OPERATION_PARAMS_INVALID_SCHEMA
- INSTRUCTIONS_EXCEED_HUNDRED_PERCENT
- INSTRUCTIONS_ARRAY_EMPTY
data:
type: object
additionalProperties: {}
required:
- reason
DisbursementConfigOperation:
type: object
properties:
operationId:
type: string
type:
$ref: '#/components/schemas/DisbursementOperationType'
params:
$ref: '#/components/schemas/DisbursementOperationConfigParams'
status:
$ref: '#/components/schemas/ConfigOperationStatus'
validationFailure:
$ref: '#/components/schemas/DisbursementValidationFailure'
required:
- operationId
- type
- params
- status
ConfigOperation:
oneOf:
- $ref: '#/components/schemas/ConversionConfigOperation'
- $ref: '#/components/schemas/TransferConfigOperation'
- $ref: '#/components/schemas/DisbursementConfigOperation'
WorkflowConfiguration:
type: object
x-internal: true
properties:
configId:
description: Unqiue configuration ID
type: string
example: 98822424-15ad-498c-9ef4-19c7430b4b6e
configName:
description: Configuration name
type: string
example: my_cofig_name
preScreening:
$ref: '#/components/schemas/PreScreening'
status:
$ref: '#/components/schemas/WorkflowConfigStatus'
createdAt:
type: number
description: Created at timestamp
example: 1717325386
configOperations:
type: array
items:
$ref: '#/components/schemas/ConfigOperation'
externalCorrelationData:
$ref: '#/components/schemas/CorrelationData'
required:
- configId
- configName
- configOperations
- createdAt
- status
WorkflowConfigurationId:
type: object
properties:
configId:
type: string
description: Configuration unique ID
example: 98822424-15ad-498c-9ef4-19c7430b4b6e
required:
- configId
ConversionOperationExecutionParams:
type: object
properties:
configOperationId:
type: string
executionParams:
type: object
properties:
amount:
type: string
accountId:
type: string
srcAssetId:
type: string
destAssetId:
type: string
slippageBasisPoints:
type: integer
minimum: 0
maximum: 10000
required:
- configOperationId
TransferOperationExecutionParams:
type: object
properties:
configOperationId:
type: string
executionParams:
type: object
properties:
amount:
type: string
assetId:
type: string
source:
$ref: '#/components/schemas/Account'
destination:
$ref: '#/components/schemas/Destination'
required:
- configOperationId
DisbursementOperationExecutionParams:
type: object
properties:
configOperationId:
type: string
executionParams:
type: object
properties:
amount:
type: string
paymentAccount:
$ref: '#/components/schemas/Account'
instructionSet:
type: array
items:
$ref: '#/components/schemas/DisbursementInstruction'
required:
- configOperationId
CreateWorkflowExecutionRequest:
type: object
x-internal: true
properties:
configId:
description: The created configuration unique identifier
example: 98822424-15ad-498c-9ef4-19c7430b4b6e
type: string
preScreening:
$ref: '#/components/schemas/PreScreening'
params:
type: array
items:
anyOf:
- $ref: '#/components/schemas/ConversionOperationExecutionParams'
- $ref: '#/components/schemas/TransferOperationExecutionParams'
- $ref: '#/components/schemas/DisbursementOperationExecutionParams'
externalCorrelationData:
$ref: '#/components/schemas/CorrelationData'
required:
- configId
- params
ConfigConversionOperationSnapshot:
type: object
properties:
operationId:
type: string
type:
$ref: '#/components/schemas/ConversionOperationType'
params:
$ref: '#/components/schemas/ConversionOperationConfigParams'
required:
- operationId
- type
- params
ConfigTransferOperationSnapshot:
type: object
properties:
operationId:
type: string
type:
$ref: '#/components/schemas/TransferOperationType'
params:
$ref: '#/components/schemas/TransferOperationConfigParams'
required:
- operationId
- type
- params
ConfigDisbursementOperationSnapshot:
type: object
properties:
operationId:
type: string
type:
$ref: '#/components/schemas/DisbursementOperationType'
params:
$ref: '#/components/schemas/DisbursementOperationConfigParams'
required:
- operationId
- type
- params
ConfigOperationSnapshot:
oneOf:
- $ref: '#/components/schemas/ConfigConversionOperationSnapshot'
- $ref: '#/components/schemas/ConfigTransferOperationSnapshot'
- $ref: '#/components/schemas/ConfigDisbursementOperationSnapshot'
WorkflowConfigurationSnapshot:
type: object
x-internal: true
properties:
configId:
type: string
description: Configuration unique identifier
example: 98822424-15ad-498c-9ef4-19c7430b4b6e
configName:
type: string
description: You configuration name
example: my_config_name
createdAt:
description: Create at timestamp
example: 1717325386
type: number
configOperations:
type: array
items:
$ref: '#/components/schemas/ConfigOperationSnapshot'
externalCorrelationData:
$ref: '#/components/schemas/CorrelationData'
required:
- configId
- configName
- configOperations
- createdAt
ExecutionOperationStatus:
type: string
enum:
- PENDING
- VALIDATION_IN_PROGRESS
- VALIDATION_FAILED
- VALIDATION_COMPLETED
- PREVIEW_REQUESTED
- PREVIEW_IN_PROGRESS
- PREVIEW_FAILED
- READY_FOR_LAUNCH
- EXECUTION_REQUESTED
- EXECUTION_IN_PROGRESS
- EXECUTION_COMPLETED
- EXECUTION_FAILED
ScreeningOperationType:
type: string
enum:
- SCREENING
ScreeningValidationFailure:
type: object
properties:
reason:
type: string
enum:
- SCREENING_DISABLED_IN_TENANT
data:
type: object
additionalProperties: {}
required:
- reason
ScreeningVerdict:
type: object
properties:
verdict:
type: string
enum:
- PASSED
- PASSED_WITH_ALERT
- REJECTED
- FAILED
- BYPASSED
executionOperationId:
type: string
account:
$ref: '#/components/schemas/Destination'
assetId:
type: string
amount:
type: string
matchedRule:
type: object
properties:
action:
type: string
category:
type: array
items:
type: string
required:
- executionOperationId
- account
- verdict
- assetId
- amount
ScreeningOperationExecutionOutput:
type: object
properties:
verdicts:
type: array
items:
$ref: '#/components/schemas/ScreeningVerdict'
required:
- verdicts
ScreeningOperationFailure:
type: object
properties:
reason:
type: string
enum:
- AML_PROCESS_FAILED
- SCREENING_REJECTED
data:
$ref: '#/components/schemas/ScreeningOperationExecutionOutput'
required:
- reason
ScreeningOperationExecution:
type: object
properties:
output:
$ref: '#/components/schemas/ScreeningOperationExecutionOutput'
startedAt:
type: number
finishedAt:
type: number
failure:
$ref: '#/components/schemas/ScreeningOperationFailure'
required:
- startedAt
ExecutionScreeningOperation:
type: object
properties:
operationId:
type: string
description: Operation unique identifier
example: 1cbf5105-b462-4c0b-83ca-d805251835e9
status:
$ref: '#/components/schemas/ExecutionOperationStatus'
operationType:
$ref: '#/components/schemas/ScreeningOperationType'
validationFailure:
$ref: '#/components/schemas/ScreeningValidationFailure'
execution:
$ref: '#/components/schemas/ScreeningOperationExecution'
required:
- operationId
- status
- operationType
AssetAmount:
type: object
properties:
amount:
type: string
assetId:
type: string
required:
- amount
- assetId
ConversionOperationPreviewOutput:
type: object
properties:
amount:
$ref: '#/components/schemas/AssetAmount'
fee:
$ref: '#/components/schemas/AssetAmount'
conversionRate:
type: string
timeSeconds:
type: number
required:
- amount
- fee
- conversionRate
- timeSeconds
ConversionOperationFailure:
type: object
properties:
reason:
type: string
enum:
- INVALID_AMOUNT
- SLIPPAGE_EXCEEDED
- AMOUNT_TOO_SMALL
- INSUFFICIENT_FUNDS
data:
type: object
additionalProperties: {}
required:
- reason
ConversionOperationPreview:
type: object
properties:
input:
$ref: '#/components/schemas/ConversionOperationConfigParams'
output:
$ref: '#/components/schemas/ConversionOperationPreviewOutput'
failure:
$ref: '#/components/schemas/ConversionOperationFailure'
required:
- input
ConversionOperationExecutionOutput:
type: object
properties:
amount:
$ref: '#/components/schemas/AssetAmount'
fee:
$ref: '#/components/schemas/AssetAmount'
conversionRate:
type: string
required:
- amount
- fee
- conversionRate
ConversionOperationExecution:
type: object
properties:
input:
$ref: '#/components/schemas/ConversionOperationConfigParams'
output:
$ref: '#/components/schemas/ConversionOperationExecutionOutput'
startedAt:
type: number
finishedAt:
type: number
failure:
$ref: '#/components/schemas/ConversionOperationFailure'
required:
- input
- startedAt
ExecutionConversionOperation:
type: object
properties:
operationId:
type: string
status:
$ref: '#/components/schemas/ExecutionOperationStatus'
validationFailure:
$ref: '#/components/schemas/ConversionValidationFailure'
operationType:
$ref: '#/components/schemas/ConversionOperationType'
preview:
$ref: '#/components/schemas/ConversionOperationPreview'
execution:
$ref: '#/components/schemas/ConversionOperationExecution'
required:
- operationId
- status
- operationType
TransferOperationPreviewOutput:
type: object
properties:
amount:
$ref: '#/components/schemas/AssetAmount'
fee:
$ref: '#/components/schemas/AssetAmount'
isSignRequired:
type: boolean
timeSeconds:
type: number
required:
- amount
- fee
- isSignRequired
- timeSeconds
TransferOperationFailure:
type: object
properties:
reason:
type: string
enum:
- INVALID_AMOUNT
- SUBMISSION_FAILED
- TRANSACTION_FAILED
data:
type: object
properties:
txId:
type: string
txStatus:
type: string
txSubStatus:
type: string
required:
- txId
- txStatus
required:
- reason
TransferOperationPreview:
type: object
properties:
input:
$ref: '#/components/schemas/TransferOperationConfigParams'
output:
$ref: '#/components/schemas/TransferOperationPreviewOutput'
failure:
$ref: '#/components/schemas/TransferOperationFailure'
required:
- input
TransferOperationExecutionOutput:
type: object
properties:
amount:
$ref: '#/components/schemas/AssetAmount'
fee:
$ref: '#/components/schemas/AssetAmount'
required:
- amount
- fee
TransferOperationExecution:
type: object
properties:
input:
$ref: '#/components/schemas/TransferOperationConfigParams'
output:
$ref: '#/components/schemas/TransferOperationExecutionOutput'
txId:
type: string
startedAt:
type: number
finishedAt:
type: number
failure:
$ref: '#/components/schemas/TransferOperationFailure'
required:
- input
- startedAt
ExecutionTransferOperation:
type: object
properties:
operationId:
type: string
example: 1cbf5105-b462-4c0b-83ca-d805251835e9
description: Operation unique identifier
status:
$ref: '#/components/schemas/ExecutionOperationStatus'
validationFailure:
$ref: '#/components/schemas/TransferValidationFailure'
operationType:
$ref: '#/components/schemas/TransferOperationType'
preview:
$ref: '#/components/schemas/TransferOperationPreview'
execution:
$ref: '#/components/schemas/TransferOperationExecution'
required:
- operationId
- status
- operationType
DisbursementOperationInput:
type: object
properties:
amount:
type: string
paymentAccount:
$ref: '#/components/schemas/Account'
instructionSet:
type: array
items:
$ref: '#/components/schemas/DisbursementInstruction'
required:
- paymentAccount
- instructionSet
DisbursementInstructionOutput:
type: object
properties:
amount:
$ref: '#/components/schemas/AssetAmount'
fee:
$ref: '#/components/schemas/AssetAmount'
payeeAccount:
$ref: '#/components/schemas/Destination'
required:
- amount
- fee
- payeeAccount
DisbursementOperationPreviewOutput:
type: object
properties:
instructionSet:
type: array
items:
allOf:
- $ref: '#/components/schemas/DisbursementInstructionOutput'
- type: object
properties:
timeSeconds:
type: number
required:
- timeSeconds
required:
- instructionSet
OperationExecutionFailure:
type: object
properties:
reason:
type: string
data:
type: object
additionalProperties: {}
required:
- reason
DisbursementOperationPreview:
type: object
properties:
input:
$ref: '#/components/schemas/DisbursementOperationInput'
output:
$ref: '#/components/schemas/DisbursementOperationPreviewOutput'
failure:
$ref: '#/components/schemas/OperationExecutionFailure'
required:
- input
DisbursementOperationExecutionOutput:
type: object
properties:
instructionSet:
type: array
items:
$ref: '#/components/schemas/DisbursementInstructionOutput'
required:
- instructionSet
DisbursementOperationExecution:
type: object
properties:
input:
$ref: '#/components/schemas/DisbursementOperationInput'
output:
$ref: '#/components/schemas/DisbursementOperationExecutionOutput'
payoutId:
type: string
startedAt:
type: number
finishedAt:
type: number
failure:
$ref: '#/components/schemas/OperationExecutionFailure'
required:
- input
- startedAt
ExecutionDisbursementOperation:
type: object
properties:
operationId:
type: string
description: Configuration unique identifier
example: 98822424-15ad-498c-9ef4-19c7430b4b6e
status:
$ref: '#/components/schemas/ExecutionOperationStatus'
validationFailure:
$ref: '#/components/schemas/DisbursementValidationFailure'
operationType:
$ref: '#/components/schemas/DisbursementOperationType'
preview:
$ref: '#/components/schemas/DisbursementOperationPreview'
execution:
$ref: '#/components/schemas/DisbursementOperationExecution'
required:
- operationId
- status
- operationType
WorkflowExecutionOperation:
oneOf:
- $ref: '#/components/schemas/ExecutionScreeningOperation'
- $ref: '#/components/schemas/ExecutionConversionOperation'
- $ref: '#/components/schemas/ExecutionTransferOperation'
- $ref: '#/components/schemas/ExecutionDisbursementOperation'
WorkflowExecution:
type: object
x-internal: true
properties:
executionId:
description: Execution unique identifier
type: string
example: 507f6867-d76b-4cd6-92c8-cf84536be0b6
preScreening:
$ref: '#/components/schemas/PreScreening'
configSnapshot:
$ref: '#/components/schemas/WorkflowConfigurationSnapshot'
executionOperations:
type: array
items:
$ref: '#/components/schemas/WorkflowExecutionOperation'
status:
type: string
enum:
- PENDING
- VALIDATION_IN_PROGRESS
- VALIDATION_FAILED
- VALIDATION_COMPLETED
- PREVIEW_IN_PROGRESS
- PREVIEW_FAILED
- READY_FOR_LAUNCH
- EXECUTION_IN_PROGRESS
- EXECUTION_COMPLETED
- EXECUTION_FAILED
triggeredBy:
type: string
triggeredAt:
type: number
finishedAt:
type: number
externalCorrelationData:
$ref: '#/components/schemas/CorrelationData'
required:
- executionId
- status
- executionOperations
- configSnapshot
GasStationConfigurationResponse:
type: object
properties:
gasThreshold:
description: >-
The Gas Station will initiate a fueling transaction when the vault
account's balance falls below the gasThreshold value
type: string
default: '0.005'
example: '0.005'
gasCap:
description: >-
The Gas Station will top up the vault account with gas until the
balance reaches the gasCap value
example: '0.01'
default: '0.01'
type: string
maxGasPrice:
description: Maximum gas price for the fueling transaction (in gwei)
nullable: true
example: '20'
default: null
type: string
GasStationPropertiesResponse:
type: object
properties:
balance:
type: object
configuration:
$ref: '#/components/schemas/GasStationConfigurationResponse'
GasStationConfiguration:
type: object
properties:
gasThreshold:
description: >-
The Gas Station will initiate a fueling transaction when the vault
account's balance falls below the gasThreshold value
type: string
default: '0.005'
example: '0.005'
gasCap:
description: >-
The Gas Station will top up the vault account with gas until the
balance reaches the gasCap value
example: '0.01'
default: '0.01'
type: string
maxGasPrice:
description: Maximum gas price for the fueling transaction (in gwei)
nullable: true
example: '20'
default: null
type: string
EditGasStationConfigurationResponse:
type: object
properties:
success:
type: boolean
description: >-
Indicates whether editing the gas station configuration was
successful
required:
- success
UserGroupResponse:
type: object
properties:
id:
description: User Group ID
type: string
example: f04402d0-00f1-48cb-acd0-352010f2e62f
name:
type: string
description: User Group Name
example: My Group Name
status:
type: string
description: Group Approval Status
enum:
- PENDING_APPROVAL
- ACTIVE
memberIds:
type: array
items:
type: string
example:
- 1d8b04f3-f90b-406b-a4d8-71d5d16f6862
- 30e8a73a-6300-4b35-a11a-9c69341805fc
UserGroupsResponse:
type: array
items:
$ref: '#/components/schemas/UserGroupResponse'
UserGroupCreateRequest:
type: object
properties:
groupName:
type: string
description: User Group Name
example: My User Group
memberIds:
type: array
items:
type: string
example:
- 1d8b04f3-f90b-406b-a4d8-71d5d16f6862
- 30e8a73a-6300-4b35-a11a-9c69341805fc
CreateUserGroupResponse:
type: object
properties:
id:
type: string
description: User group unique identifier
example: 4a7e7b16-c863-4b41-876f-c64f05c087d6
name:
type: string
description: User group name
example: My User Group
memberIds:
type: array
description: IDs of the users in the group
items:
type: string
example:
- 30e8a73a-6300-4b35-a11a-9c69341805fc
- 1d8b04f3-f90b-406b-a4d8-71d5d16f6862
status:
type: string
description: User group status
enum:
- PENDING_APPROVAL
- ACTIVE
UserGroupUpdateRequest:
type: object
properties:
groupName:
type: string
description: User Group Name
example: My User Group
memberIds:
type: array
items:
type: string
example:
- 1d8b04f3-f90b-406b-a4d8-71d5d16f6862
- 30e8a73a-6300-4b35-a11a-9c69341805fc
UserGroupCreateResponse:
type: object
properties:
name:
type: string
description: User Group Name
example: My User Group
id:
type: string
description: User Group ID
example: f04402d0-00f1-48cb-acd0-352010f2e62f
memberIds:
type: array
description: User Group members (User IDs)
items:
type: string
example:
- 1d8b04f3-f90b-406b-a4d8-71d5d16f6862
- 30e8a73a-6300-4b35-a11a-9c69341805fc
status:
type: string
description: Group Approval Status
enum:
- PENDING_APPROVAL
- ACTIVE
UserResponse:
type: object
properties:
id:
type: string
firstName:
type: string
lastName:
type: string
role:
type: string
email:
type: string
enabled:
type: boolean
GetUsersResponse:
type: array
items:
$ref: '#/components/schemas/UserResponse'
GetAuditLogsResponseDTO:
type: object
properties:
data:
type: array
items:
type: object
total:
type: number
cursor:
type: string
nullable: true
AuditLogData:
type: object
properties:
id:
type: string
description: The unique identifier of the audit log
timestamp:
type: number
description: The timestamp of the audit log
createdAt:
type: number
description: The timestamp of the audit log creation
user:
type: string
description: The user who performed the action
subject:
type: string
description: The subject of the action
event:
type: string
description: The event that was performed
tenantId:
type: string
description: The tenant ID of the audit log
userId:
type: string
description: The user ID of the audit log
AuditLogsData:
type: array
items:
$ref: '#/components/schemas/AuditLogData'
GetAuditLogsResponse:
type: object
properties:
data:
$ref: '#/components/schemas/AuditLogsData'
cursor:
nullable: true
type: string
description: The next id to start fetch audit logs from
example: next-page-cursor
total:
type: number
description: The total number of audit logs
example: 32
AddCollateralRequestBody:
type: object
properties:
transactionRequest:
$ref: '#/components/schemas/TransactionRequest'
isSrcCollateral:
type: boolean
description: optional
RemoveCollateralRequestBody:
type: object
properties:
transactionRequest:
$ref: '#/components/schemas/TransactionRequest'
isDstCollateral:
type: boolean
description: optional
SettlementRequestBody:
type: object
properties:
mainExchangeAccountId:
type: string
ToExchangeTransaction:
type: object
properties:
assetId:
type: string
amount:
type: string
dstAddress:
type: string
dstTag:
type: string
description: optional
ToCollateralTransaction:
type: object
properties:
asset:
type: string
amount:
type: string
srcAddress:
type: string
srcTag:
type: string
description: optional
fee:
type: string
description: optional
ExchangeSettlementTransactionsResponse:
type: object
properties:
toExchange:
type: array
items:
$ref: '#/components/schemas/ToExchangeTransaction'
toCollateral:
type: array
items:
$ref: '#/components/schemas/ToCollateralTransaction'
SettlementResponse:
type: object
properties:
id:
type: string
initiator:
type: string
exchangeReply:
type: string
fireblocksInitiatedTransactions:
type: object
exchangeRequestedTransactions:
$ref: '#/components/schemas/ExchangeSettlementTransactionsResponse'
ResendWebhooksResponse:
type: object
properties:
messagesCount:
description: The amount of resent notifications
type: number
example: 1
ResendNotificationsByResourceIdRequest:
type: object
properties:
resourceId:
type: string
description: The resource id to resend notifications for
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
excludeStatuses:
type: array
description: >
(optional) List of notification statuses to exclude from the resend operation
- It's optional but it must be included. For example, if there is no status, the syntax will be "excludeStatuses": []
- Empty array means all statuses will be included
- If you want to exclude some statuses, you can use the following example: [ IN_PROGRESS, FAILED ]
- Default if missing, means all statuses other than "COMPLETED" will be included
example: [IN_PROGRESS, FAILED]
items:
$ref: '#/components/schemas/NotificationStatus'
required:
- resourceId
ResendTransactionWebhooksRequest:
type: object
properties:
resendCreated:
type: boolean
resendStatusUpdated:
type: boolean
ResendWebhooksByTransactionIdResponse:
type: object
properties:
success:
type: boolean
description: Indicates whether the webhooks were successfully resent
required:
- success
WebhookEvent:
type: string
enum:
- transaction.created
- transaction.status.updated
- transaction.approval_status.updated
- transaction.network_records.processing_completed
- external_wallet.asset.added
- external_wallet.asset.removed
- internal_wallet.asset.added
- internal_wallet.asset.removed
- contract_wallet.asset.added
- contract_wallet.asset.removed
- vault_account.created
- vault_account.asset.added
- vault_account.asset.balance_updated
- vault_account.nft.balance_updated
- embedded_wallet.created
- embedded_wallet.account.created
- embedded_wallet.device.added
- embedded_wallet.asset.added
- embedded_wallet.status.updated
- embedded_wallet.asset.balance_updated
- onchain_data.updated
- connection.added
- connection.removed
- connection.request.waiting_peer_approval
- connection.request.rejected_by_peer
- exchange_account.added
- fiat_account.added
- ticket.created
- ticket.submitted
- ticket.expired
- ticket.canceled
- ticket.fulfilled
- ticket.counterparty.added
- ticket.counterparty_external_id.set
- ticket.note.added
- ticket.expired_in.set
- ticket.expired_at.set
- ticket.term.added
- ticket.term.updated
- ticket.term.deleted
- ticket.term.funded
- ticket.term.manually_funded
- ticket.term.funding_canceled
- ticket.term.funding_failed
- ticket.term.funding_completed
- ticket.term.transaction_status_changed
Webhook:
type: object
properties:
id:
type: string
description: The id of the webhook
example: 123e4567-e89b-12d3-a456-426614174000
format: uuid
url:
type: string
description: >-
The url of the webhook where notifications will be sent. Must be a
valid URL and https.
example: https://example.com/webhook
minLength: 1
description:
type: string
description: description of the webhook of what it is used for
example: This webhook is used for transactions notifications
minLength: 1
events:
type: array
description: The events that the webhook will be subscribed to
example:
- transaction.created
- transaction.status.updated
items:
$ref: '#/components/schemas/WebhookEvent'
status:
enum:
- DISABLED
- ENABLED
type: string
description: The status of the webhook
example: ENABLED
createdAt:
type: string
description: The date and time the webhook was created
example: '2021-09-01T12:00:00Z'
format: date-time
updatedAt:
type: string
description: The date and time the webhook was last updated
example: '2021-09-05T15:00:00Z'
format: date-time
WebhookPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/Webhook'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
CreateWebhookRequest:
type: object
properties:
url:
type: string
description: >-
The url of the webhook where notifications will be sent. URL must be
valid, unique and https.
example: https://example.com/webhook
minLength: 1
description:
type: string
description: description of the webhook. should not contain special characters.
example: This webhook is used for transactions notifications
minLength: 1
events:
type: array
description: event types the webhook will subscribe to
items:
$ref: '#/components/schemas/WebhookEvent'
example:
- transaction.created
- transaction.status.updated
enabled:
type: boolean
description: >-
The status of the webhook. If false, the webhook will not receive
notifications.
example: false
default: true
required:
- url
- description
- events
UpdateWebhookRequest:
type: object
properties:
url:
type: string
description: >-
The url of the webhook where notifications will be sent. URL must be
valid, unique and https.
example: https://example.com/webhook
minLength: 1
description:
type: string
description: >-
description of the webhook of what it is used for.should not contain
special characters.
example: This webhook is used for transactions notifications
minLength: 1
events:
type: array
description: The events that the webhook will be subscribed to
example:
- transaction.created
- transaction.status.updated
items:
$ref: '#/components/schemas/WebhookEvent'
enabled:
type: boolean
description: The status of the webhook
example: false
NotificationStatus:
type: string
description: The status of the Notification
example: COMPLETED
enum:
- COMPLETED
- FAILED
- IN_PROGRESS
- ON_HOLD
Notification:
type: object
properties:
id:
type: string
description: The id of the Notification
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
createdAt:
type: string
description: The creation date of the notification
example: '2021-07-01T00:00:00.000Z'
format: date-time
updatedAt:
type: string
description: The date when the notification was updated
example: '2021-07-01T00:00:00.000Z'
format: date-time
status:
$ref: '#/components/schemas/NotificationStatus'
eventType:
$ref: '#/components/schemas/WebhookEvent'
eventVersion:
type: number
description: The event version of the Notification
example: 1
resourceId:
type: string
nullable: true
default: null
description: The resource id of the event which the Notification is listen to
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
attempts:
default: []
description: The attempts related to Notification
type: array
items:
type: string
required:
- id
- createdAt
- updatedAt
- status
- eventType
- eventVersion
NotificationPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/Notification'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
NotificationWithData:
type: object
properties:
id:
type: string
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
createdAt:
type: string
description: The creation date of the notification
example: '2021-07-01T00:00:00.000Z'
format: date-time
updatedAt:
type: string
description: The date when the notification was updated
example: '2021-07-01T00:00:00.000Z'
format: date-time
status:
$ref: '#/components/schemas/NotificationStatus'
eventType:
$ref: '#/components/schemas/WebhookEvent'
eventVersion:
type: number
description: The event version which the Notification is listen to
example: 1
resourceId:
type: string
nullable: true
default: null
description: The resource id of the event which the Notification is listen to
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
attempts:
default: []
description: The attempts related to Notification
type: array
items:
type: string
data:
type: object
description: notification data
required:
- id
- createdAt
- updatedAt
- status
- eventType
- eventVersion
- attempts
AuditorData:
type: object
properties:
name:
type: string
imageURL:
type: string
link:
type: string
required:
- name
- imageURL
- link
SwapProviderProtocolsEnum:
type: string
description: >-
Protocol options supported by each provider. `UNISWAP` supports
`UNISWAP_CLASSIC` and `UNISWAPX`. `WRAP_UNWRAP` supports `WRAP` and
`UNWRAP.`
example: UNISWAP_CLASSIC
enum:
- UNISWAP_CLASSIC
- UNISWAPX
- WRAP
- UNWRAP
ProviderCategoryEnum:
type: string
description: >-
Category that classify the provider, Supported categories are: `DEX`,
`CEX`, `OTC`
example: DEX
enum:
- DEX
- CEX
- OTC
- WRAP_UNWRAP
SwapProvider:
type: object
properties:
id:
type: string
description: The ID of the provider
example: UNISWAP
name:
type: string
example: Uniswap
description: Name of the provider
protocols:
type: array
items:
$ref: '#/components/schemas/SwapProviderProtocolsEnum'
example:
- UNISWAP_CLASSIC
- UNISWAPX
description: List of supported protocols. Protocols are specific per provider
category:
$ref: '#/components/schemas/ProviderCategoryEnum'
isTermsApprovalRequired:
type: boolean
description: >-
Indicates whether the terms of service are required for the
provider. if `true`, the user must approve the terms of service
before using the provider. otherwise, `termsOfServiceUrl` and
`isTermsOfServiceApproved` are not shown under the provider data.
example: true
termsOfServiceUrl:
type: string
description: URL to the terms of service
example: https://uniswap.org/terms-of-service
isTermsOfServiceApproved:
type: boolean
description: Indicates whether the terms of service are approved by the user
example: true
required:
- id
- name
- protocols
- category
- isTermsApprovalRequired
SwapProvidersPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/SwapProvider'
next:
type: string
description: >-
The cursor to fetch the next page of results, if absent or null,
there are no additional results.
example: MjAyMy0xMi0xMyA====TNjowOC4zMDI=:MTEwMA==
nullable: true
required:
- data
QuoteRequest:
type: object
properties:
accountId:
type: string
description: The id of the vault account or account id
example: '1'
inputAmount:
type: string
description: >-
The amount of tokens the swapper will provide, positive number, can
be a decimal.
example: '10'
inputAsset:
type: string
description: The id of the asset the swapper will provide
example: WETH
outputAsset:
type: string
description: The id of the asset the swapper will receive
example: DAI
slippageTolerance:
type: number
minimum: 0
maximum: 100
description: >-
The slippage tolerance is a percentage. The slippage tolerance is
the maximum amount the price can change between the time the
transaction is submitted and the time it is executed
example: 0.5
protocol:
$ref: '#/components/schemas/SwapProviderProtocolsEnum'
required:
- inputAmount
- inputAsset
- outputAsset
- slippageTolerance
- protocol
ProviderAdditionalData:
type: object
description: Provider specific additional data
properties:
priceImpact:
type: string
example: '0.01'
required:
- priceImpact
SwapRequiredActionsEnum:
type: string
example: APPROVE
enum:
- APPROVE
- PERMIT
- CONTRACT_CALL
QuoteFee:
type: object
properties:
networkExecutionFee:
type: string
description: The gas fee in the asset unit.
example: '1478987585080628'
networkFeeAssetId:
type: string
description: The network fee in Fireblocks asset representation
example: ETH
providerFee:
type: string
description: The provider fee in the asset unit.
example: '5742266'
providerFeeAssetId:
type: string
description: The provider fee in Fireblocks asset representation
example: DAI
providerFeeRate:
type: number
description: Percentages of the provider fee out of the gross amount
example: 0.25
networkApproveFee:
type: string
description: The gas fee in the asset unit.
example: '1478987585080628'
required:
- networkExecutionFee
- networkFeeAssetId
- providerFee
- providerFeeAssetId
- providerFeeRate
WalletQuoteResponse:
type: object
description: Return a quote with id that can be used for swap operation.
properties:
protocol:
$ref: '#/components/schemas/SwapProviderProtocolsEnum'
inputAmount:
type: string
description: The amount of tokens the swapper will provide
example: '10'
inputAsset:
type: string
description: The id of the asset the swapper will provide
example: WETH
slippageTolerance:
type: number
description: >-
The slippage tolerance is a percentage. The slippage tolerance is
the maximum amount the price can change between the time the
transaction is submitted and the time it is executed
example: 0.5
outputMinAmount:
type: string
description: The minimum amount of tokens the swapper will receive
example: '10'
outputMaxAmount:
type: string
description: Maximum amount of tokens that the swapper will receive
example: '20'
outputAsset:
type: string
description: The id of the asset the swapper will receive
example: DAI
additionalData:
$ref: '#/components/schemas/ProviderAdditionalData'
providerQuoteId:
type: string
description: An identifier that uniquely identifies the received quote
format: uuid
example: 550e8400-e29b-41d4-a716-446655440000
expiredAt:
type: string
format: date-time
description: When was the received `providerQuoteId` is expired (ISO Date time).
example: '2023-07-13T15:55:34.256Z'
requiredActions:
description: The required actions for completing a swap operation
type: array
items:
$ref: '#/components/schemas/SwapRequiredActionsEnum'
estimatedFees:
$ref: '#/components/schemas/QuoteFee'
required:
- protocol
- inputAmount
- inputAsset
- slippageTolerance
- outputMinAmount
- outputMaxAmount
- outputAsset
- additionalData
- providerQuoteId
- expiredAt
- requiredActions
- estimatedFees
NonWalletQuoteFee:
type: object
description: The estimated fees for the swap operation.
properties:
networkExecutionFee:
type: string
description: The gas fee in the asset unit.
example: '1478987585080628'
networkFeeAssetId:
type: string
description: The network fee in Fireblocks asset representation
example: ETH
providerFee:
type: string
description: The provider fee in the asset unit.
example: '5742266'
providerFeeAssetId:
type: string
description: The provider fee in Fireblocks asset representation
example: DAI
providerFeeRate:
type: number
description: Percentages of the provider fee out of the gross amount
example: 0.25
required:
- networkExecutionFee
- networkFeeAssetId
- providerFee
- providerFeeAssetId
- providerFeeRate
NonWalletQuoteResponse:
type: object
description: Return a quote that cannot be used for a swap operation.
properties:
protocol:
$ref: '#/components/schemas/SwapProviderProtocolsEnum'
inputAmount:
type: string
description: The amount of tokens the swapper will provide
example: '10'
inputAsset:
type: string
description: The id of the asset the swapper will provide
example: WETH
slippageTolerance:
type: number
description: >-
The slippage tolerance is a percentage. The slippage tolerance is
the maximum amount the price can change between the time the
transaction is submitted and the time it is executed
example: 0.5
outputMinAmount:
type: string
description: The minimum amount of tokens the swapper will receive
example: '10'
outputMaxAmount:
type: string
description: Maximum amount of tokens that the swapper will receive
example: '20'
outputAsset:
type: string
description: The id of the asset the swapper will receive
example: DAI
additionalData:
$ref: '#/components/schemas/ProviderAdditionalData'
estimatedFees:
$ref: '#/components/schemas/NonWalletQuoteFee'
required:
- protocol
- inputAmount
- inputAsset
- slippageTolerance
- outputMinAmount
- outputMaxAmount
- outputAsset
- additionalData
- estimatedFees
QuoteResponse:
oneOf:
- $ref: '#/components/schemas/WalletQuoteResponse'
- $ref: '#/components/schemas/NonWalletQuoteResponse'
SwapRequiredAction:
type: object
properties:
type:
$ref: '#/components/schemas/SwapRequiredActionsEnum'
status:
enum:
- WAITING
- PROCESSING
- COMPLETED
- FAILED
- CANCELED
type: string
description: The status of the required action
example: PENDING
txId:
type: string
description: The transaction id of the required action
example: fc69381c-1e35-48c2-8415-484d1c2f55cx
required:
- type
- status
SwapFlowError:
type: object
nullable: true
description: The error message for the swap
example: expired
properties:
code:
type: string
description: The code representing the error
example: '123'
message:
type: string
description: Error message
example: Failed to swap
required:
- code
- message
SwapOperation:
type: object
properties:
id:
type: string
description: The id of the swap operation
example: 51cfb2c1-126d-4ff6-8512-ffba48f4b296
accountId:
type: string
description: The id of the vault account or account id
example: '1'
providerId:
type: string
description: The ID of the provider
example: UNISWAP
category:
$ref: '#/components/schemas/ProviderCategoryEnum'
protocol:
$ref: '#/components/schemas/SwapProviderProtocolsEnum'
status:
enum:
- CREATED
- TRANSACTION_IN_PROGRESS
- PENDING_PROVIDER_ACTION
- COMPLETED
- CANCELED
- FAILED
type: string
description: >-
**CREATED** – The swap request has been created but not yet started.
**PENDING_USER_ACTION** – Awaiting a user action (e.g. signature or
approval).
**PENDING_PROVIDER_ACTION** – Awaiting the provider to process the
request.
**PROCESSING** – The swap is actively being executed on‐chain.
**COMPLETED** – The swap has finished successfully.
**CANCELED** – The swap was cancelled by user or provider before
completion.
**FAILED** – The swap attempted but encountered an error.
example: CREATED
inputAmount:
type: string
description: The amount of tokens the swapper will provide
example: '10'
inputAsset:
type: string
description: The id of the asset the swapper will provide
example: WETH
slippageTolerance:
type: number
description: >-
The slippage tolerance is a percentage. The slippage tolerance is
the maximum amount the price can change between the time the
transaction is submitted and the time it is executed
example: 0.5
outputMinAmount:
type: string
description: The minimum amount of tokens the swapper will receive
example: '10'
outputMaxAmount:
type: string
description: Maximum amount of tokens that the swapper will receive
example: '20'
outputAsset:
type: string
description: The id of the asset the swapper will receive
example: DAI
outputFinalAmount:
type: string
nullable: true
description: Final amount of tokens that the swapper will receive
example: '15'
requiredActions:
description: >-
The required actions for the swap, including the type of action, the
status of the action, and the transaction id
type: array
items:
$ref: '#/components/schemas/SwapRequiredAction'
error:
$ref: '#/components/schemas/SwapFlowError'
createdAt:
type: string
format: date-time
description: The creation time of the swap operation (ISO Date time).
example: '2023-07-13T15:55:34.256Z'
updatedAt:
type: string
format: date-time
description: The last update time of the swap operation (ISO Date time).
example: '2023-07-13T15:55:34.256Z'
createdBy:
type: string
format: uuid
description: Fireblocks user id that issued the swap
example: 15a8f89f-f562-46ca-bcd3-56f8dd124816
required:
- id
- accountId
- providerId
- category
- protocol
- status
- inputAmount
- inputAsset
- slippageTolerance
- outputMinAmount
- outputMaxAmount
- outputAsset
- requiredActions
- createdAt
- updatedAt
- createdBy
SwapOperationsPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/SwapOperation'
next:
type: string
description: >-
The cursor to fetch the next page of results, if absent or null,
there are no additional results.
example: MjAyMy0xMi0xMyA====TNjowOC4zMDI=:MTEwMA==
nullable: true
required:
- data
SwapOperationRequest:
type: object
properties:
providerQuoteId:
type: string
description: An identifier that uniquely identifies the received quote
format: uuid
example: 550e8400-e29b-41d4-a716-446655440000
feeLevel:
type: string
enum:
- LOW
- MEDIUM
- HIGH
description: The fee level of the transaction
example: MEDIUM
txNote:
type: string
description: user note on the transaction
example: request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d
required:
- providerQuoteId
ContractAttributes:
type: object
properties:
useCases:
type: array
items:
type: string
standards:
type: array
items:
type: string
auditor:
$ref: '#/components/schemas/AuditorData'
required:
- useCases
- standards
- auditor
VendorDto:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b4453
description: The unique identifier of the vendor of this contract template
name:
type: string
example: Fireblocks
description: The name of the vendor of this contract template
required:
- id
- name
LeanContractDto:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: The unique identifier of the contract template
name:
type: string
example: My Contract
description: The name of the contract template
description:
type: string
example: an ERC20 implementation
description: A short description of the contract template
attributes:
example:
useCases:
- Stablecoin
- CBDC
standards:
- ERC-20
- ERC-1400
auditor:
name: MyAuditor
imageURL: https://my-images.com/my-image.jpg
link: https://my-auditor.com/my-audit-report
description: >-
The attributes related to this contract template. It will be
displayed in the tokenization page
allOf:
- $ref: '#/components/schemas/ContractAttributes'
isPublic:
type: boolean
example: true
description: >-
Is this a contract that is viewable by all fireblocks's users or is
it visible only for this workspace
canDeploy:
type: boolean
example: true
description: >-
True if the workspace allowed to deploy this contract, false
otherwise
owner:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: >-
The workspace id of the owner of this contract template. If it's a
private contract, only this workspace will be allowed to deploy it
vendor:
description: >-
The details of the vendor of this contract template. Applicable only
for public contract templates
allOf:
- $ref: '#/components/schemas/VendorDto'
type:
type: string
enum:
- FUNGIBLE_TOKEN
- NON_FUNGIBLE_TOKEN
- TOKEN_UTILITY
required:
- id
- name
- description
- isPublic
TemplatesPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/LeanContractDto'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
FunctionDoc:
type: object
properties:
details:
type: string
description: A description of the function
params:
type: object
additionalProperties:
type: string
description: A description of the function parameters
returns:
type: object
additionalProperties:
type: string
description: A description of the function return values. only for read functions
ContractDoc:
type: object
properties:
details:
type: string
example: A token that can be minted and burned
description: A description of the contract
events:
type: string
example: >-
Upgraded(address): {"details": "Emitted when the implementation is
upgraded."}
description: A description of the contract`s events
kind:
type: string
example: dev
description: Is it devdoc or userdoc
methods:
type: object
additionalProperties:
$ref: '#/components/schemas/FunctionDoc'
example:
constructor:
details: Initializes the contract
description: The description of the contract functions
version:
type: string
example: '1'
description: The version of the contract
required:
- kind
- methods
- version
Parameter:
type: object
properties:
name:
type: string
example: _name
description: The name of the parameter as it appears in the ABI
description:
type: string
example: The name of the token
description: >-
A description of the parameter, fetched from the devdoc of this
contract
internalType:
type: string
example: string
description: The internal type of the parameter as it appears in the ABI
type:
type: string
example: string
description: The type of the parameter as it appears in the ABI
components:
type: array
description: In case it’s a struct, it will hold the struct data
required:
- name
- type
AbiFunction:
type: object
properties:
name:
type: string
example: mint
description: The name of the contract function as it appears in the ABI
stateMutability:
type: string
example: pure
enum:
- pure
- view
- nonpayable
- payable
description: >-
The state mutability of the contract function as it appears in the
ABI
type:
type: string
example: constructor
description: The type if the function
enum:
- function
- constructor
inputs:
description: The parameters that this function/constructor posses
items:
$ref: '#/components/schemas/Parameter'
type: array
outputs:
description: The parameters that this 'read' function returns
items:
$ref: '#/components/schemas/Parameter'
type: array
description:
type: string
description: The documentation of this function (if has any)
required:
- type
- inputs
ContractUploadRequest:
type: object
properties:
name:
type: string
example: My Contract
description: The name of the contract template
description:
type: string
example: an ERC20 implementation
description: A short description of the contract template
longDescription:
type: string
example: |
a full ERC20 implementation, containing the following:
- mint
- burn
description: |-
A full description of the contract template. May contain
to break the lines
bytecode:
type: string
description: >-
The compiled artifact of this smart contract. Used for deployment of
this contract template
sourcecode:
type: string
description: The source code of the contract. Optional.
type:
enum:
- FUNGIBLE_TOKEN
- NON_FUNGIBLE_TOKEN
- TOKEN_UTILITY
type: string
example: FUNGIBLE_TOKEN
description: The type of the contract template
docs:
example:
details: >-
This contract implements an upgradeable proxy. It is upgradeable
because calls are delegated to an implementation address that can
be changed. This address is stored in storage in the location
specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so
that it doesn't conflict with the storage layout of the
implementation behind the proxy.
errors:
ERC1967NonPayable():
- details: An upgrade function sees `msg.value > 0` that may be lost.
events:
Upgraded(address):
details: Emitted when the implementation is upgraded.
kind: dev
methods:
constructor:
details: >-
Initializes the upgradeable proxy with an initial
implementation specified by `implementation`. If `_data` is
nonempty, it's used as data in a delegate call to
`implementation`. This will typically be an encoded function
call, and allows initializing the storage of the proxy like a
Solidity constructor. Requirements: - If `data` is empty,
`msg.value` must be zero.
version: 1
description: >-
A `natspec` compliant documentation json. Can be retrieved from the
output json after compilation
allOf:
- $ref: '#/components/schemas/ContractDoc'
abi:
type: array
items:
example:
- inputs:
- internalType: address
name: implementation
type: address
- internalType: bytes
name: _data
type: bytes
stateMutability: payable
type: constructor
description: >-
The abi of the contract template. Necessary for displaying and for
after deployment encoding
type: array
items:
$ref: '#/components/schemas/AbiFunction'
attributes:
example:
useCases:
- Stablecoin
- CBDC
standards:
- ERC-20
- ERC-1400
auditor:
name: MyAuditor
imageURL: https://my-images.com/my-image.jpg
link: https://my-auditor.com/my-audit-report
description: >-
The attributes related to this contract template. It will be
displayed in the tokenization page
allOf:
- $ref: '#/components/schemas/ContractAttributes'
required:
- name
- description
- bytecode
- abi
ContractTemplateDto:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: The unique identifier of the contract template
name:
type: string
example: My Contract
description: The name of the contract template
description:
type: string
example: an ERC20 implementation
description: A short description of the contract template
longDescription:
type: string
example: |
a full ERC20 implementation, containing the following:
- mint
- burn
description: |-
A full description of the contract template. May contain
to break the lines
abi:
type: array
items:
example:
- inputs:
- internalType: address
name: implementation
type: address
- internalType: bytes
name: _data
type: bytes
stateMutability: payable
type: constructor
description: >-
The abi of the contract template. Necessary for displaying and for
after deployment encoding
type: array
items:
$ref: '#/components/schemas/AbiFunction'
attributes:
example:
useCases:
- Stablecoin
- CBDC
standards:
- ERC-20
- ERC-1400
auditor:
name: MyAuditor
imageURL: https://my-images.com/my-image.jpg
link: https://my-auditor.com/my-audit-report
description: >-
The attributes related to this contract template. It will be
displayed in the tokenization page
allOf:
- $ref: '#/components/schemas/ContractAttributes'
docs:
example:
details: >-
This contract implements an upgradeable proxy. It is upgradeable
because calls are delegated to an implementation address that can
be changed. This address is stored in storage in the location
specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so
that it doesn't conflict with the storage layout of the
implementation behind the proxy.
errors:
ERC1967NonPayable():
- details: An upgrade function sees `msg.value > 0` that may be lost.
events:
Upgraded(address):
details: Emitted when the implementation is upgraded.
kind: dev
methods:
constructor:
details: >-
Initializes the upgradeable proxy with an initial
implementation specified by `implementation`. If `_data` is
nonempty, it's used as data in a delegate call to
`implementation`. This will typically be an encoded function
call, and allows initializing the storage of the proxy like a
Solidity constructor. Requirements: - If `data` is empty,
`msg.value` must be zero.
version: 1
description: >-
A `natspec` compliant documentation json. Can be retrieved from the
output json after compilation
allOf:
- $ref: '#/components/schemas/ContractDoc'
owner:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: >-
The workspace id of the owner of this contract template. If it's a
private contract, only this workspace will be allowed to deploy it
vendor:
description: >-
The details of the vendor of this contract template. Applicable only
for public contract templates
allOf:
- $ref: '#/components/schemas/VendorDto'
isPublic:
type: boolean
example: true
description: >-
Is this a contract that is viewable by all fireblocks's users or is
it visible only for this workspace
canDeploy:
type: boolean
example: true
description: >-
True if the workspace allowed to deploy this contract, false
otherwise
type:
enum:
- FUNGIBLE_TOKEN
- NON_FUNGIBLE_TOKEN
- TOKEN_UTILITY
type: string
example: FUNGIBLE_TOKEN
description: The type of the contract template
implementationContractId:
type: string
initializationPhase:
description: >-
For standalone contracts use ON_DEPLOYMENT and for contracts that
are behind proxies use POST_DEPLOYMENT
enum:
- ON_DEPLOYMENT
- POST_DEPLOYMENT
type: string
required:
- id
- name
- description
- abi
- isPublic
- initializationPhase
HttpContractDoesNotExistError:
type: object
properties:
message:
type: string
description: Not Found error code
example: Contract does not exist
code:
type: string
description: Error code
example: 404
ParameterWithValue:
type: object
properties:
name:
type: string
example: Some Name
description: The name of the parameter as it appears in the ABI
description:
type: string
example: The name of the token
description: >-
A description of the parameter, fetched from the devdoc of this
contract
internalType:
type: string
example: string
description: The internal type of the parameter as it appears in the ABI
type:
type: string
example: string
description: The type of the parameter as it appears in the ABI
components:
type: array
items:
$ref: '#/components/schemas/Parameter'
value:
example: 'true'
description: The value of the parameter. can also be ParameterWithValue
type: string
functionValue:
description: >-
The function value of this param (if has one). If this is set, the
`value` shouldn`t be. Used for proxies
allOf:
- $ref: '#/components/schemas/LeanAbiFunction'
required:
- name
- type
LeanAbiFunction:
type: object
properties:
name:
type: string
example: initialize
description: The function name
inputs:
description: The function inputs
type: array
items:
$ref: '#/components/schemas/ParameterWithValue'
required:
- inputs
ContractDeployRequest:
type: object
properties:
assetId:
type: string
example: ETH_TEST5
description: The base asset identifier of the blockchain you want to deploy to
vaultAccountId:
type: string
example: '0'
description: The vault account id you wish to deploy from
constructorParameters:
description: The constructor parameters of this contract
items:
$ref: '#/components/schemas/ParameterWithValue'
example:
- internalType: string
name: name_
type: string
value: TokenName
- internalType: string
name: symbol_
type: string
value: TokenSymbol
type: array
required:
- assetId
- vaultAccountId
ContractDeployResponse:
type: object
properties:
txId:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: The transaction id of the deployment request
required:
- txId
LeanDeployedContractResponseDto:
type: object
properties:
id:
type: string
description: The deployed contract data identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
contractAddress:
type: string
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
contractTemplateId:
type: string
description: The contract template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
blockchainId:
type: string
description: The blockchain's base assetId
example: ETH
required:
- id
- contractAddress
- contractTemplateId
- blockchainId
DeployedContractsPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/LeanDeployedContractResponseDto'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
DeployedContractResponseDto:
type: object
properties:
id:
type: string
description: The deployed contract data identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
contractAddress:
type: string
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
contractTemplateId:
type: string
description: The contract template identifier
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
vaultAccountId:
type: string
example: '0'
description: The vault account id this contract was deploy from
baseAssetId:
type: string
description: The blockchain's base assetId
example: ETH
required:
- id
- contractAddress
- contractTemplateId
- baseAssetId
FetchAbiRequestDto:
type: object
properties:
baseAssetId:
type: string
description: The blockchain base assetId
example: ETH
contractAddress:
type: string
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
required:
- baseAssetId
- contractAddress
ContractWithAbiDto:
type: object
properties:
contractAddress:
type: string
description: The address of the contract
example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14'
baseAssetId:
type: string
description: The blockchain base assetId
example: ETH_TEST6
name:
type: string
description: The name of the contract
example: WETH9
abi:
description: The ABI of the contract
example:
- inputs:
- internalType: address
name: to
type: address
- internalType: uint256
name: amount
type: uint256
stateMutability: nonpayable
type: function
name: mint
type: array
items:
$ref: '#/components/schemas/AbiFunction'
isProxy:
type: boolean
description: Whether the contract is a proxy contract
example: true
implementation:
type: string
description: The implementation contract address
example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14'
isPublic:
type: boolean
description: Whether the contract ABI is public
example: true
required:
- contractAddress
- baseAssetId
- name
- abi
- isPublic
AddAbiRequestDto:
type: object
properties:
contractAddress:
type: string
description: The address of deployed contract
example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14'
baseAssetId:
type: string
description: The blockchain base assetId
example: ETH
abi:
example:
- inputs:
- internalType: address
name: to
type: address
- internalType: uint256
name: amount
type: uint256
stateMutability: nonpayable
type: function
name: mint
description: The ABI of the contract
type: array
items:
$ref: '#/components/schemas/AbiFunction'
name:
type: string
description: The name of the contract
example: MyContract
required:
- contractAddress
- baseAssetId
- abi
AssetMetadataDto:
type: object
properties:
assetId:
type: string
description: The Fireblocks` asset id
example: BQ5R_MY_TOKEN
name:
type: string
description: The name of the token
example: MyToken
symbol:
type: string
description: The symbol of the token
example: MYT
networkProtocol:
type: string
description: The network protocol of the token
example: ETH
totalSupply:
type: string
description: The total supply of the token
example: '1000000000000000'
holdersCount:
type: number
description: The number of holders of the token
example: '6'
type:
type: string
description: The type of the token
example: ERC20
contractAddress:
type: string
description: The address of the token contract
example: '0x1234567890abcdef1234567890abcdef12345678'
issuerAddress:
type: string
description: In case of Stellar or Ripple, the address of the issuer of the token
example: rGyXjc5d7s17vvt3NtKKascvJrnSxV21kQ
testnet:
type: boolean
description: Is it deployed on testnet or to mainnet
example: true
blockchain:
type: string
description: The blockchain native asset id which the token is deployed on
example: ETH_TEST5
decimals:
type: number
description: The number of decimals of the token
example: 18
vaultAccountId:
type: string
description: >-
The id of the vault account that initiated the request to issue the
token. Will be empty if token was issued outside of Fireblocks.
example: '0'
required:
- assetId
CollectionMetadataDto:
type: object
properties:
fbCollectionId:
type: string
description: Fireblocks collection id
example: 911fe739f0d4d123c98fd366c3bed35c6e30c00e
name:
type: string
description: Collection name
example: Rarible
symbol:
type: string
description: Collection symbol
example: RARI
standard:
type: string
description: Collection contract standard
example: ERC721
blockchainDescriptor:
type: string
description: Collection's blockchain
example: ETH_TEST5
contractAddress:
type: string
description: Collection contract address
example: '0x1723017329a804564bC8d215496C89eaBf1F3211'
required:
- fbCollectionId
- blockchainDescriptor
ContractMetadataDto:
type: object
properties:
id:
type: string
description: The deployed contract ID
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
baseAssetId:
type: string
description: The blockchain base asset ID
example: ETH
contractAddress:
type: string
description: The address of the token contract
example: '0x1234567890abcdef1234567890abcdef12345678'
contractTemplateId:
type: string
description: The contract template ID
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
vaultAccountId:
type: string
description: The vault account ID that initiated the request to issue the token
example: '0'
required:
- id
- baseAssetId
- contractAddress
- contractTemplateId
CreateMultipleVaultAccountsJobStatus:
type: object
properties:
status:
type: string
example: Success
vaultAccounts:
type: object
description: Mapping between VaultAccountId to a mapping of asset to address
additionalProperties:
type: object
description: Mapping between asset (key) to address (value)
additionalProperties:
type: string
example:
{
"0":
{
"BTC_TEST": "bcrt1qs0zzqytuw49w2jqkmfhzgdh2lylzde2uw4zncz",
"ETH_TEST": "0x460395Edb2338023c6f137259C6e20B6C37dDE95",
},
}
errorMessage:
type: string
example: Asset not supported
required:
- status
TokenLinkDto:
type: object
properties:
id:
type: string
description: The token link id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
status:
enum:
- PENDING
- COMPLETED
type: string
description: The token status
example: COMPLETED
type:
enum:
- FUNGIBLE_TOKEN
- NON_FUNGIBLE_TOKEN
- TOKEN_UTILITY
- TOKEN_EXTENSION
type: string
description: The type of token
example: NON_FUNGIBLE_TOKEN
refId:
type: string
description: The Fireblocks' reference id
example: BQ5R_MY_TOKEN
displayName:
type: string
description: >-
The token display name. If was not provided, would be taken from the
contract template
example: My Simple ERC20 Token
tokenMetadata:
description: The token's metadata
oneOf:
- $ref: '#/components/schemas/AssetMetadataDto'
- $ref: '#/components/schemas/CollectionMetadataDto'
- $ref: '#/components/schemas/ContractMetadataDto'
required:
- id
- status
TokensPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/TokenLinkDto'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
EVMTokenCreateParamsDto:
type: object
properties:
contractId:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: >-
The id of the contract template that will be used to create the
token
deployFunctionParams:
example:
- internalType: string
name: name
type: string
value: name
- internalType: string
name: symbol
type: string
value: symbol
- components:
- internalType: bool
name: _isMintable
type: bool
internalType: struct MyStruct
name: customConfigProps
type: tuple
value:
- internalType: bool
name: _isMintable
type: bool
value: false
description: The deploy function parameters and values of the contract template
type: array
items:
$ref: '#/components/schemas/ParameterWithValue'
required:
- contractId
StellarRippleCreateParamsDto:
type: object
properties:
symbol:
type: string
example: MyUSDT
description: The symbol of the token
name:
type: string
example: My USD Tether
description: The name of the token
issuerAddress:
type: string
example: rnDV4JiwgRNhudPY2sm65AzECpRXaasL4r
description: >-
The address of the issuer of this token. Will be part of the
identifier of this token on chain.
required:
- symbol
- name
- issuerAddress
SolanaSimpleCreateParams:
type: object
properties:
name:
type: string
description: The name of the token or asset being created.
example: SolanaToken
symbol:
type: string
description: The symbol for the token, typically an abbreviated representation.
example: SOL
decimals:
type: integer
description: >-
The number of decimal places the token supports (e.g., 9 for typical
Solana tokens).
example: 9
required:
- name
- symbol
- decimals
CreateTokenRequestDto:
type: object
properties:
blockchainId:
type: string
example: B7QG017M
description: The id of the blockchain the request was initiated on
assetId:
type: string
example: ETH_TEST5
description: The base asset identifier of the blockchain you want to deploy to
vaultAccountId:
type: string
example: '0'
description: >-
The id of the vault account that initiated the request to issue the
token
createParams:
oneOf:
- $ref: '#/components/schemas/EVMTokenCreateParamsDto'
- $ref: '#/components/schemas/StellarRippleCreateParamsDto'
- $ref: '#/components/schemas/SolanaSimpleCreateParams'
displayName:
type: string
useGasless:
type: boolean
example: false
description: >-
Indicates whether the token should be created in a gasless manner,
utilizing the ERC-2771 standard. When set to true, the transaction
will be relayed by a designated relayer. The workspace must be
configured to use Fireblocks gasless relay.
fee:
type: string
description: >-
Max fee amount for the write function transaction. interchangeable
with the 'feeLevel' field
example: '2000'
feeLevel:
enum:
- LOW
- MEDIUM
- HIGH
type: string
description: >-
Fee level for the write function transaction. interchangeable with
the 'fee' field
example: MEDIUM
required:
- vaultAccountId
- createParams
AssetAlreadyExistHttpError:
type: object
properties:
statusCode:
type: integer
format: int32
description: HTTP status code
example: 409
message:
type: string
description: Error message
error:
type: string
description: Short description of the HTTP error
example: Conflict
TokenLinkRequestDto:
type: object
properties:
type:
enum:
- FUNGIBLE_TOKEN
- NON_FUNGIBLE_TOKEN
- TOKEN_UTILITY
- TOKEN_EXTENSION
type: string
description: The type of token being linked
refId:
type: string
description: "The Fireblocks' token link reference id. For example, 'BQ5R_BDESC_ABC' if it's a fungible \n\t\t\t\t\tasset"
example: USDC_ETH_TEST5_1XF5
displayName:
type: string
description: The token display name
example: My Simple ERC20 Token
baseAssetId:
type: string
description: The blockchain base assetId
example: ETH_TEST5
contractAddress:
type: string
description: The contract's onchain address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
required:
- type
AssetDoesNotExistHttpError:
type: object
deprecated: true
properties:
statusCode:
type: integer
format: int32
description: HTTP status code
example: 404
message:
type: string
description: Error message
error:
type: string
description: Short description of the HTTP error
example: Not Found
TokenLinkExistsHttpError:
type: object
properties:
statusCode:
type: integer
format: int32
description: HTTP status code
example: 409
message:
type: string
description: Error message
error:
type: string
description: Short description of the HTTP error
example: Conflict
NotFoundException:
type: object
properties:
statusCode:
type: integer
format: int32
description: HTTP status code
example: 404
message:
type: string
description: Error message
error:
type: string
description: Short description of the HTTP error
example: Not Found
CollectionType:
type: string
description: The type of collection
enum:
- NON_FUNGIBLE_TOKEN
- SEMI_FUNGIBLE_TOKEN
CollectionLinkDto:
type: object
properties:
id:
type: string
description: The collection id
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
status:
enum:
- PENDING
- COMPLETED
type: string
description: The collection status
example: COMPLETED
type:
allOf:
- $ref: '#/components/schemas/CollectionType'
example: NON_FUNGIBLE_TOKEN
displayName:
type: string
description: >-
The display name of the collection. If was not provided, would be
taken from the contract template
example: My Simple ERC721 Collection
collectionMetadata:
description: The collection's metadata
allOf:
- $ref: '#/components/schemas/CollectionMetadataDto'
required:
- id
- status
- type
GetLinkedCollectionsPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/CollectionLinkDto'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
CollectionDeployRequestDto:
type: object
properties:
baseAssetId:
type: string
example: ETH
description: The blockchain base assetId
vaultAccountId:
type: string
example: '0'
description: >-
The id of the vault account that initiated the request to issue the
token
type:
allOf:
- $ref: '#/components/schemas/CollectionType'
example: NON_FUNGIBLE_TOKEN
name:
type: string
example: DigitalArtTokens
description: A string that represents the name of the collection
symbol:
type: string
example: DAT
description: A string that represents the symbol of the collection
adminAddress:
type: string
example: '0x5503766D27d1ED4525f5053222E18b29C38eDdB2'
description: >-
The EVM address of the user that will be set as the admin user of
the collection
displayName:
type: string
example: DigitalArtTokens
description: A string to display as a name of the collection
required:
- baseAssetId
- vaultAccountId
- type
- name
- symbol
- adminAddress
CollectionTokenMetadataAttributeDto:
type: object
properties:
trait_type:
type: string
description: Name of the trait
example: project_start
value:
type: string
description: Value of the trait
example: 30102000
display_type:
type: string
description: A field indicating how you would like trait to be displayed
example: date
required:
- trait_type
- value
CollectionTokenMetadataDto:
type: object
properties:
name:
type: string
description: Token's name
example: DigitalArtTokens
description:
type: string
description: Token's description
example: Digital representation of a piece of art
image:
type: string
description: Token's image URL
example: https://some_domain.com/image_filepath
animation_url:
type: string
description: Token's animation URL
example: https://some_domain.com/gif_filepath
external_url:
type: string
description: Token's external URL
example: https://some_domain.com/blob_filepath
attributes:
description: Token's metadata attributes
type: array
items:
$ref: '#/components/schemas/CollectionTokenMetadataAttributeDto'
required:
- name
- description
CollectionMintRequestDto:
type: object
properties:
vaultAccountId:
type: string
description: The id of the vault account that initiates the mint function.
example: '0'
to:
type: string
example: '0x5503766D27d1ED4525f5053222E18b29C38eDdB2'
description: 'The EVM address to mint to '
tokenId:
type: string
description: >-
The token id, recommended to have numerical format and in sequential
order
example: '1'
amount:
type: string
description: >-
For ERC721, amount is optional or should always be 1 and for
ERC1155, amount should be 1 or greater
example: '1'
metadataURI:
type: string
description: >-
URL of metadata uploaded, skip uploading to IPFS if this field is
provided with any value
example: ipfs://QmP4P6f7mDHzikhdwLBVSCxCPEgmjwcWSVBHbtSyfBYzBC
metadata:
description: Metadata to upload
example:
name: MYTOKEN
description: description of MYTOKEN
allOf:
- $ref: '#/components/schemas/CollectionTokenMetadataDto'
required:
- vaultAccountId
- to
- tokenId
CollectionMintResponseDto:
type: object
properties:
txId:
type: string
description: Transaction Id for the mint operation
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
required:
- txId
CollectionBurnRequestDto:
type: object
properties:
vaultAccountId:
type: string
description: The id of the vault account that initiates the burn function
example: '0'
tokenId:
type: string
description: The token id
example: '1'
amount:
type: string
description: >-
For ERC721, amount is optional or should always be 1 and for
ERC1155, amount should be 1 or greater
example: '1'
required:
- vaultAccountId
- tokenId
CollectionBurnResponseDto:
type: object
properties:
txId:
type: string
description: Transaction Id for the burn operation
example: fbfbfbfb-fbfb-fbfb-fbfb-fbfbfbfbfbfb
required:
- txId
ContractAbiResponseDto:
type: object
properties:
abi:
example:
- inputs:
- internalType: address
name: implementation
type: address
- internalType: bytes
name: _data
type: bytes
stateMutability: nonpayable
type: constructor
description: The abi of the contract
type: array
items:
$ref: '#/components/schemas/AbiFunction'
implementationAbi:
example:
- inputs:
- internalType: address
name: to
type: address
- internalType: uint256
name: amount
type: uint256
stateMutability: nonpayable
type: function
name: mint
description: >-
The abi of the implementation contract if exists. Relevant only for
proxy patterns
type: array
items:
$ref: '#/components/schemas/AbiFunction'
required:
- abi
ReadAbiFunction:
type: object
properties:
inputs:
type: array
items:
$ref: '#/components/schemas/ParameterWithValue'
stateMutability:
type: string
enum:
- pure
- view
type:
type: string
name:
type: string
outputs:
type: array
items:
$ref: '#/components/schemas/Parameter'
description:
type: string
required:
- stateMutability
- type
- inputs
MergeStakeAccountsResponse:
type: object
properties:
id:
type: string
format: uuid
example: f3432f4-34d1-43495-a8ee-jfdjnfj34i3
description: The unique identifier of the merge position (the id of the destination position)
required:
- id
MergeStakeAccountsRequest:
type: object
properties:
sourceId:
type: string
format: uuid
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f
description: Id of the source position to merge from
destinationId:
type: string
format: uuid
example: f3432f4-34d1-43495-a8ee-jfdjnfj34i3
description: Id of the destination position to merge into
fee:
type: string
example: "7"
description: >-
Represents the fee for a transaction, which can be specified as a
percentage value. Only one of fee/feeLevel is required.
feeLevel:
$ref: '#/components/schemas/FeeLevel'
txNote:
type: string
example: split 20 SOL out of 100 SOL, created on 02.04.23
description: The note to associate with the transactions.
required:
- sourceId
- destinationId
ReadCallFunctionDto:
type: object
properties:
abiFunction:
example:
inputs: []
stateMutability: view
type: function
name: decimals
outputs:
- name: ''
type: uint8
internalType: uint8
description: The abi of the read function you wish to call
type: object
$ref: '#/components/schemas/ReadAbiFunction'
required:
- abiFunction
ParameterWithValueList:
type: array
items:
$ref: '#/components/schemas/ParameterWithValue'
WriteAbiFunction:
type: object
properties:
stateMutability:
type: string
enum:
- payable
- nonpayable
example: nonpayable
outputs:
type: array
items:
$ref: '#/components/schemas/Parameter'
type:
type: string
enum:
- function
name:
type: string
inputs:
type: array
items:
$ref: '#/components/schemas/ParameterWithValue'
description:
type: string
required:
- stateMutability
- type
- inputs
WriteCallFunctionDto:
type: object
properties:
vaultAccountId:
type: string
example: '0'
description: The vault account id this contract was deploy from
abiFunction:
oneOf:
- $ref: '#/components/schemas/WriteAbiFunction'
- $ref: '#/components/schemas/SolanaInstructionWithValue'
amount:
type: string
description: Amount in base asset. Being used in payable functions
example: '12.345'
feeLevel:
enum:
- LOW
- MEDIUM
- HIGH
type: string
description: >-
Fee level for the write function transaction. interchangeable with
the 'fee' field
example: MEDIUM
fee:
type: string
description: >-
Max fee amount for the write function transaction. interchangeable
with the 'feeLevel' field
example: '2000'
note:
type: string
description: >-
Custom note, not sent to the blockchain, that describes the
transaction at your Fireblocks workspace
useGasless:
type: boolean
example: false
description: >-
Indicates whether the token should be created in a gasless manner,
utilizing the ERC-2771 standard. When set to true, the transaction
will be relayed by a designated relayer. The workspace must be
configured to use Fireblocks gasless relay.
externalId:
type: string
description: >-
External id that can be used to identify the transaction in your
system. The unique identifier of the transaction outside of
Fireblocks with max length of 255 characters
example: 0192e4f5-924e-7bb9-8e5b-c748270feb38
required:
- vaultAccountId
- abiFunction
WriteCallFunctionResponseDto:
type: object
properties:
txId:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: The Fireblocks transaction id of the function call
required:
- txId
TxLog:
type: object
properties:
address:
type: string
description: The log address
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
topics:
type: array
items:
type: string
description: Array of log topics
example:
- '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
- '0x000000000000000000000000a7d9ddbe1f17865597fbd27ec712455208b6b76d'
- '0x000000000000000000000000c2c4e1db41f0bb97996d0ed0542d2170d146fb66'
data:
type: string
description: The log data
example: '0x000000000000000000000000000000000000000000000000000000000000000a'
blockNumber:
type: integer
description: Block number where the log occurred
example: 123456
transactionHash:
type: string
description: Transaction hash associated with the log
example: '0x5a3b7f4b2c9e4a0b1f8a12c8e5f1d0e2a6b4c9d1f7e2b1a2b3c4d5e6f7a8b9c'
transactionIndex:
type: integer
description: Transaction index in the block
example: 2
blockHash:
type: string
description: The hash of the block
example: '0x6e3c92a3d96f96e46b7f39c30244edb6e8e0f4b65d3846c9f8287f9dd5d1a3d2'
logIndex:
type: integer
description: Log index in the block
example: 1
removed:
type: boolean
description: Indicates if the log was removed
example: false
required:
- address
- topics
- data
- blockNumber
- transactionHash
- transactionIndex
- blockHash
- logIndex
- removed
TransactionReceiptResponse:
type: object
properties:
blockHash:
type: string
description: The block hash
example: '0x6e3c92a3d96f96e46b7f39c30244edb6e8e0f4b65d3846c9f8287f9dd5d1a3d2'
blockNumber:
type: integer
description: The block number
example: 123456
contractAddress:
type: string
description: The address of deployed contract
example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
nullable: true
cumulativeGasUsed:
type: integer
description: The cumulative gas used in the transaction
example: 21000
effectiveGasPrice:
type: integer
description: The effective gas price
example: 1000000000
from:
type: string
description: Sender address
example: '0xa7D9ddBE1f17865597Fbd27ec712455208B6b76D'
gasUsed:
type: integer
description: Gas used by the transaction
example: 21000
logs:
type: array
items:
$ref: '#/components/schemas/TxLog'
description: Array of transaction logs
logsBloom:
type: string
description: Logs bloom filter
example: '0x0000000000000000000000000000000000000000000000000000000000000000'
status:
type: integer
description: Transaction status (1 for success, 0 for failure)
example: 1
to:
type: string
description: Recipient address
example: '0x1eC4a8bB9bB9Afa24f79cC2e1423cD00B6cFf50'
nullable: true
transactionHash:
type: string
description: The transaction hash
example: '0x5a3b7f4b2c9e4a0b1f8a12c8e5f1d0e2a6b4c9d1f7e2b1a2b3c4d5e6f7a8b9c'
transactionIndex:
type: integer
description: Transaction index in the block
example: 3
type:
type: string
description: Type of transaction
example: '0x2'
required:
- blockHash
- blockNumber
- cumulativeGasUsed
- effectiveGasPrice
- from
- gasUsed
- logs
- logsBloom
- status
- transactionHash
- transactionIndex
- type
ChainDescriptor:
type: string
enum:
- ETH
- SOL
- MATIC
- ETH_TEST6
- SOL_TEST
StakingGetChainsResponse:
type: array
example:
- ETH
- ETH_TEST6
- SOL
- SOL_TEST
- MATIC
items:
$ref: '#/components/schemas/ChainDescriptor'
AdditionalInfo:
type: object
description: >-
Additional information related to the blockchain. This may include extra
details about the blockchain network.
properties:
estimatedAnnualReward:
type: number
example: 6.48
description: >-
The estimated annual reward rate for the blockchain, represented as
a decimal percentage value.
lockupPeriod:
type: number
example: 172800000
description: >-
The duration of the lockup period for certain actions on the
blockchain, measured in milliseconds.
activationPeriod:
type: number
example: 172800000
description: >-
The duration of the activation period for certain actions on the
blockchain, measured in milliseconds.
required:
- estimatedAnnualReward
- lockupPeriod
- activationPeriod
ChainInfoResponse:
type: object
properties:
chainDescriptor:
type: string
example: SOL
description: The protocol identifier (e.g. "ETH"/"SOL").
currentEpoch:
type: number
example: 483
description: The current epoch number of the blockchain network.
epochElapsed:
type: number
example: 0.31
description: >-
The percentage of time that has elapsed within the current epoch,
represented as a decimal value between 0 and 1.
epochDuration:
type: number
example: 172800000
description: The total duration in milliseconds of a single epoch.
additionalInfo:
$ref: '#/components/schemas/AdditionalInfo'
required:
- chainDescriptor
- currentEpoch
- epochElapsed
- epochDuration
- additionalInfo
StakingProvider:
description: The unique identifier of the staking provider
type: string
example: kiln
enum:
- kiln
- figment
- lido
- p2p
- pierTwo
- blockdaemon
- galaxy
FeeLevel:
type: string
example: MEDIUM
description: >-
Represents the fee level for a transaction, which can be set as slow,
medium, or fast. Only one of fee/feeLevel is required.
enum:
- LOW
- MEDIUM
- HIGH
StakeRequest:
type: object
example:
vaultAccountId: '22'
providerId: kiln
stakeAmount: '100'
txNote: >-
stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1 of 100
SOL created on 02.04.23
feeLevel: MEDIUM
properties:
vaultAccountId:
type: string
example: '22'
description: The source vault account to stake from
providerId:
$ref: '#/components/schemas/StakingProvider'
stakeAmount:
type: string
example: '32'
description: Amount of tokens to stake
txNote:
type: string
example: >-
stake request id CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1 of
32ETH created on 02.04.23
description: The note to associate with the stake transactions.
fee:
type: string
example: '7'
description: >-
Represents the fee for a transaction, which can be specified as a
percentage value. Only one of fee/feeLevel is required.
feeLevel:
$ref: '#/components/schemas/FeeLevel'
required:
- vaultAccountId
- providerId
- stakeAmount
StakeResponse:
type: object
example:
id: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8
properties:
id:
type: string
example: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8
description: The unique identifier of the staking position
required:
- id
UnstakeRequest:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850e
description: id of position to unstake
fee:
type: string
example: '7'
description: >-
Represents the fee for a transaction, which can be specified as a
percentage value. Only one of fee/feeLevel is required.
feeLevel:
$ref: '#/components/schemas/FeeLevel'
txNote:
type: string
example: 'unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH'
description: The note to associate with the transactions.
amount:
type: string
example: '75'
description: >-
The number of tokens to unstake. This optional field is applicable
only for liquid staking and allows for a partial unstake of the
position. If not provided, the entire position will be unstaked by
default.
required:
- id
example:
id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
txNote: 'unstake request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #SOL'
feeLevel: MEDIUM
WithdrawRequest:
type: object
example:
id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
txNote: 'withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #SOL'
feeLevel: MEDIUM
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f
description: id of position to withdraw
fee:
type: string
example: '7'
description: >-
Represents the fee for a transaction, which can be specified as a
percentage value. Only one of fee/feeLevel is required.
feeLevel:
$ref: '#/components/schemas/FeeLevel'
txNote:
type: string
example: 'withdraw request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #ETH'
description: The note to associate with the transactions.
required:
- id
ClaimRewardsRequest:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f
description: id of position to withdraw rewards from
fee:
type: string
example: '7'
description: >-
Represents the fee for a transaction, which can be specified as a
percentage value. Only one of fee/feeLevel is required.
feeLevel:
$ref: '#/components/schemas/FeeLevel'
txNote:
type: string
example: 'claim rewards request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d #MATIC'
description: The note to associate with the transactions.
required:
- id
example:
id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
txNote: claim rewards request id b70701f4-d7b1-4795-a8ee-b09cdb5b850d
feeLevel: MEDIUM
SplitRequest:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850f
description: id of position to split
amount:
type: string
example: '20'
description: Amount of tokens to be transferred to the new stake account.
fee:
type: string
example: '7'
description: >-
Represents the fee for a transaction, which can be specified as a
percentage value. Only one of fee/feeLevel is required.
feeLevel:
$ref: '#/components/schemas/FeeLevel'
txNote:
type: string
example: split 20 SOL out of 100 SOL, created on 02.04.23
description: The note to associate with the transactions.
required:
- id
- amount
example:
id: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
amount: '20'
txNote: split 20 SOL out of 100 SOL, created on 02.04.23
feeLevel: MEDIUM
SplitResponse:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
description: The unique identifier of the new staking position
required:
- id
example:
id: afedfd2e4-e3c9-4b70-90d6-eb0f74bfd4sd8
RelatedTransaction:
type: object
properties:
txId:
type: string
example: b70601f4-d7b1-4795-a8ee-b09cdb4r850d
description: The transaction ID
completed:
type: boolean
example: true
description: Is the transaction completed or not
required:
- txId
- completed
SolanaBlockchainData:
type: object
example:
stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq
description: >-
Additional fields per blockchain - can be empty or missing if not
initialized or no additional info exists. The type depends on the
chainDescriptor value. For Solana (SOL), stake account address. For
Ethereum (ETH), an empty object is returned as no specific data is
available.
properties:
stakeAccountAddress:
type: string
example: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq
description: The stake account address matching the stakeAccountId.
stakeAccountDerivationChangeValue:
type: number
example: 7
description: >-
The value of the change level in the BIP44 path which was used to
derive the stake account address
required:
- stakeAccountAddress
- stakeAccountDerivationChangeValue
CreateTagRequest:
type: object
properties:
label:
type: string
description: The tag label
minLength: 2
maxLength: 30
example: VIP
description:
type: string
description: Description for the tag
maxLength: 250
example: Tag for VIP customers
color:
type: string
description: The tag color in hex format
example: "#FF5733"
isProtected:
type: boolean
description: Indication of whether the tag is protected
default: false
required:
- label
TagsPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Tag'
next:
type: string
description: Cursor to the next page
example: MjAyNS0wNy0wOSAxMDo1MzoxMy40NTI=:NA==
nullable: true
required:
- data
- next
UpdateTagRequest:
type: object
properties:
label:
type: string
description: The tag label
example: VIP
description:
type: string
description: Description for the tag
example: Tag for VIP customers
Tag:
type: object
properties:
id:
description: The unique identifier of the tag
type: string
format: uuid
example: "df4c0987-30da-4976-8dcf-bc2dd41ae331"
label:
type: string
description: The tag label
example: VIP
description:
type: string
description: Description for the tag
example: Tag for VIP customers
color:
type: string
description: The tag color in hex format
example: "#FF5733"
isProtected:
type: boolean
description: Indication of whether the tag is a protected tag
default: false
updatedAt:
type: number
description: The date and time the tag was last updated
example: 1717084800000
pendingApprovalRequest:
$ref: '#/components/schemas/ApprovalRequest'
required:
- id
- label
- isProtected
- updatedAt
RelatedRequest:
type: object
properties:
status:
type: string
enum:
- deactivating
example: deactivating
description: The status of the request
inProgress:
type: boolean
example: false
description: >-
Indicates whether there is an ongoing action for this position
related to this request
amount:
type: string
example: '0.05'
description: Amount of tokens to Unstake
txId:
type: string
example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
description: The transaction ID of the ongoing request
required:
- status
- inProgress
- amount
Delegation:
type: object
properties:
id:
type: string
example: b70701f4-d7b1-4795-a8ee-b09cdb5b850a
description: The unique identifier of the staking position
vaultAccountId:
type: string
example: '2'
description: The source vault account to stake from
validatorName:
type: string
example: FwR3P......tT59f
description: The destination validator address name
providerName:
type: string
example: Kiln
description: The destination validator provider name
chainDescriptor:
type: string
example: SOL
description: The protocol identifier (e.g. "ETH"/ "SOL") to use
amount:
type: string
example: '0.05'
description: Amount of tokens to stake, measured in the staked asset unit.
rewardsAmount:
type: string
example: '0.000856038'
description: >-
The amount staked in the position, measured in the staked asset
unit.
dateCreated:
format: date-time
type: string
example: '2023-07-13T15:55:34.256Z'
description: When was the request made (ISO Date).
dateUpdated:
format: date-time
type: string
example: '2023-07-13T15:55:34.256Z'
description: When has the position last changed (ISO Date).
status:
type: string
example: active
description: The current status.
relatedTransactions:
example:
- txId: b70601f4-d7b1-4795-a8ee-b09cdb4r850d
completed: true
- txId: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
completed: false
description: >-
An array of transaction objects related to this position. Each
object includes a 'txId' representing the transaction ID and a
'completed' boolean indicating if the transaction was completed.
type: array
items:
$ref: '#/components/schemas/RelatedTransaction'
validatorAddress:
type: string
example: FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f
description: The destination address of the staking transaction.
providerId:
$ref: '#/components/schemas/StakingProvider'
availableActions:
example:
- unstake
description: >-
An array of available actions that can be performed. for example,
actions like "unstake" or "withdraw".
type: array
items:
type: string
inProgress:
type: boolean
example: true
description: >-
Indicates whether there is an ongoing action for this position (true
if ongoing, false if not).
inProgressTxId:
type: string
example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
description: The transaction ID of the ongoing request
blockchainPositionInfo:
$ref: '#/components/schemas/SolanaBlockchainData'
relatedRequests:
example:
- status: deactivating
inProgress: false
amount: '0.05'
txId: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
description: >-
An array of partial unstake requests for this position, relevant
only for the Lido provider. Each object includes the status of the
unstake request, a boolean indicating whether the action is in
progress, the amount of tokens to unstake, and the transaction ID of
the request. With Lido, a position may have multiple partial unstake
requests in different states. This field is optional and not
applicable for other providers.
type: array
items:
$ref: '#/components/schemas/RelatedRequest'
required:
- id
- vaultAccountId
- validatorName
- providerName
- chainDescriptor
- amount
- rewardsAmount
- dateCreated
- dateUpdated
- status
- relatedTransactions
- validatorAddress
- providerId
- availableActions
- inProgress
- blockchainPositionInfo
StakingGetAllDelegationsResponse:
type: array
items:
$ref: '#/components/schemas/Delegation'
RelatedRequestDto:
type: object
properties:
status:
$ref: '#/components/schemas/RelatedRequestStatusType'
inProgress:
type: boolean
example: false
description: >-
Indicates whether there is an ongoing action for this position
related to this request
amount:
type: string
example: '0.05'
description: Amount of tokens to Unstake
txId:
type: string
example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
description: The transaction ID of the ongoing request
required:
- status
- inProgress
- amount
RelatedRequestStatusType:
type: string
example: deactivating
description: The status of the request
enum:
- error
- created
- canceled
- activate_requested
- approve_inprogress
- approve_inprogress_signed
- activate_inprogress
- activate_inprogress_signed
- activate_inprogress_confirmed
- activate_done
- deactivate_requested
- deactivate_inprogress
- deactivate_inprogress_signed
- deactivate_inprogress_confirmed
- deactivate_done
- withdraw_inprogress
- withdraw_requested
- withdraw_inprogress_confirmed
- withdraw_done
- claim_rewards_requested
- claim_rewards_inprogress
- claim_rewards_done
- pending
- pending_queued
- active_offline
- active_online
- exiting_online
- exited
- active
- inactive
- activating
- deactivating
AmountAndChainDescriptor:
type: object
properties:
chainDescriptor:
type: string
example: ETH
description: The protocol identifier (e.g. "ETH"/"SOL") for summary
amount:
type: string
example: '32.007149606'
description: Cryptocurrency quantity
required:
- chainDescriptor
- amount
DelegationSummary:
type: object
properties:
active:
description: >-
An array of objects containing chain descriptors and associated
amounts, representing active positions.
type: array
items:
$ref: '#/components/schemas/AmountAndChainDescriptor'
inactive:
description: >-
An array of objects containing chain descriptors and associated
amounts, representing inactive positions.
type: array
items:
$ref: '#/components/schemas/AmountAndChainDescriptor'
rewardsAmount:
description: >-
An array of objects containing chain descriptors and associated
amounts, representing rewards positions.
type: array
items:
$ref: '#/components/schemas/AmountAndChainDescriptor'
totalStaked:
description: >-
An array of objects with chain descriptors and total staked amounts,
representing the combined staked totals of active and inactive
positions.
type: array
items:
$ref: '#/components/schemas/AmountAndChainDescriptor'
required:
- active
- inactive
- rewardsAmount
- totalStaked
StakingGetSummaryByVaultResponse:
type: object
additionalProperties:
$ref: '#/components/schemas/DelegationSummary'
Validator:
type: object
properties:
chainDescriptor:
type: string
example: SOL
description: The protocol identifier (e.g. "ETH"/"SOL") of the validator
feePercent:
type: number
example: 5
description: The service fee as a percentage out of the earned rewards
isPrivate:
type: boolean
example: true
description: Is the validator private, i.e created by the user
required:
- chainDescriptor
- feePercent
Provider:
type: object
properties:
id:
type: string
example: kiln
description: The ID of the provider
providerName:
type: string
example: Kiln
description: Name of the provider
validators:
example:
- chainDescriptor: ETH
feePercent: 5
- chainDescriptor: SOL
feePercent: 7
description: >-
An array of objects that includes chain descriptors and the
corresponding fee percentages for validators supported by the
provider
type: array
items:
$ref: '#/components/schemas/Validator'
iconUrl:
type: string
example: https://static.fireblocks.io/staking/validators/kiln_console.png
description: URL to the validator's icon
termsOfServiceUrl:
type: string
example: https://www.kiln.fi/terms-and-conditions-for-fireblocks-customers
description: URL to the terms of service
isTermsOfServiceApproved:
type: boolean
example: true
description: Indicates whether the terms of service are approved
isPrivate:
type: boolean
example: true
description: Is the provider private, i.e created by the user
isLiquidStaking:
type: boolean
example: true
description: Is the provider a liquid staking provider
required:
- id
- providerName
- validators
- isTermsOfServiceApproved
- isLiquidStaking
StakingGetProvidersResponse:
type: array
items:
$ref: '#/components/schemas/Provider'
SetAdminQuorumThresholdRequest:
type: object
properties:
adminQuorumThreshold:
type: number
description: The number of admins that will requires to approve an operation
example: 1
SetAdminQuorumThresholdResponse:
type: object
properties:
message:
type: string
description: The message which indicates the result of the operation.
example: Admin quorum threshold request sent successfully.
required:
- message
Paging:
type: object
properties:
next:
type: string
description: Cursor to the next page
required:
- next
MediaEntityResponse:
type: object
properties:
url:
type: string
description: Cached accessible URL
example: >-
https://static.fireblocks.io/nft/media/aHR0cHM6Ly9pLnNlYWRuLmlvL2djcy9maWxlcy9kYjg4NDIyMDYxODUyZWE2YTZkZWVkMDY2NjI5ODY4Ny5wbmc_dz0
contentType:
type: string
enum:
- IMAGE
- VIDEO
- ANIMATION
- THREE_D
- TEXT
- GIF
- UNKNOWN_TYPE
- SVG
- AUDIO
description: Media type
required:
- url
- contentType
SpamOwnershipResponse:
type: object
properties:
result:
type: boolean
description: Token spam result
source:
type: string
description: Source of Token's Spam status value
enum:
- OWNER
- SYSTEM
required:
- result
- source
TokenCollectionResponse:
type: object
properties:
id:
description: Collection's ID
type: string
example: '0x2953399124F0cBB46d2CbACD8A89cF0599974963'
name:
description: Collection's Name
type: string
example: OpenSea Collections
symbol:
description: Collection's Symbol
type: string
example: OPENSTORE
required:
- id
TokenOwnershipResponse:
type: object
properties:
id:
type: string
description: The Fireblocks NFT asset id
example: NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f
tokenId:
type: string
description: Token id within the contract/collection
example: >-
59254621688950848715672884047857802075662195255933291242201099097856995753985
standard:
type: string
description: Token's standard
example: ERC721
metadataURI:
type: string
description: URL of the original token JSON metadata
example: >-
https://api.opensea.io/api/v2/metadata/matic/0x2953399124F0cBB46d2CbACD8A89cF0599974963/592546216889508487156728840478578020756621952
cachedMetadataURI:
type: string
description: URL of the cached token JSON metadata
example: >-
https://static.fireblocks.io/nft/cb6db032c00fcc483ae0dea333a7f6b2279/metadata.json
media:
description: Media items extracted from metadata JSON
type: array
items:
$ref: '#/components/schemas/MediaEntityResponse'
spam:
description: Owned Token's Spam status
allOf:
- $ref: '#/components/schemas/SpamOwnershipResponse'
collection:
description: Parent collection information
allOf:
- $ref: '#/components/schemas/TokenCollectionResponse'
balance:
description: Token's balance
type: string
example: '1'
vaultAccountId:
description: Fireblocks Vault Account ID
type: string
example: '0'
ownershipStartTime:
description: Ownership start timestamp (epoch)
type: number
example: 1687865341
ownershipLastUpdateTime:
description: Ownership start last update time (epoch)
type: number
example: 1687865341
blockchainDescriptor:
description: Token's blockchain
enum:
- ETH
- ETH_TEST3
- ETH_TEST5
- ETH_TEST6
- POLYGON
- POLYGON_TEST_MUMBAI
- AMOY_POLYGON_TEST
- XTZ
- XTZ_TEST
- BASECHAIN_ETH
- BASECHAIN_ETH_TEST3
- BASECHAIN_ETH_TEST5
- ETHERLINK
- ETHERLINK_TEST
- MANTLE
- MANTLE_TEST
- GUN_GUNZILLA_TEST
- ETH_SONEIUM
- SONEIUM_MINATO_TEST
- IOTX_IOTEX
type: string
description:
description: Token's metadata description
type: string
example: MyNFT Description from the metada
name:
description: Token's name
type: string
example: MyNFTName
ncwId:
type: string
description: Ownership Non-Custodial Wallet ID
example: 523ea95a-93a7-43c8-8dbc-ed31f53e6539
ncwAccountId:
type: string
description: Ownership Non-Custodial Wallet's account ID
example: '0'
status:
type: string
description: Owned Token's status
enum:
- LISTED
- ARCHIVED
required:
- id
- tokenId
- standard
- balance
- ownershipStartTime
- ownershipLastUpdateTime
- blockchainDescriptor
- status
GetOwnershipTokensResponse:
type: object
properties:
paging:
$ref: '#/components/schemas/Paging'
data:
type: array
items:
$ref: '#/components/schemas/TokenOwnershipResponse'
SpamTokenResponse:
type: object
properties:
result:
type: boolean
description: Token spam result
example: true
required:
- result
TokenResponse:
type: object
properties:
id:
type: string
description: The Fireblocks NFT asset id
example: NFT-ad1bd7bf6b0ecb3495beb17d8540a513c9664e0f
tokenId:
type: string
description: Token id within the contract/collection
example: >-
592546216889508487156728840478578020756621952559332912422010991022550422
standard:
type: string
description: ERC721 / ERC1155
example: ERC1155
metadataURI:
type: string
description: URL of the original token JSON metadata
example: >-
https://api.opensea.io/api/v2/metadata/matic/0x2953399124F0cBB46d2CbACD8A89cF0599974963/592546216889508487156728840478578020756621952559332912422010991022550422
cachedMetadataURI:
type: string
description: URL of the cached token JSON metadata
example: >-
https://static.fireblocks.io/nft/ad1bd7bf6b0ecb3495beb17d8540a513c96/metadata.json
media:
description: Media items extracted from metadata JSON
type: array
items:
$ref: '#/components/schemas/MediaEntityResponse'
spam:
description: Token spam status
allOf:
- $ref: '#/components/schemas/SpamTokenResponse'
collection:
description: Parent collection information
allOf:
- $ref: '#/components/schemas/TokenCollectionResponse'
blockchainDescriptor:
type: string
enum:
- ETH
- ETH_TEST3
- ETH_TEST5
- ETH_TEST6
- POLYGON
- POLYGON_TEST_MUMBAI
- AMOY_POLYGON_TEST
- XTZ
- XTZ_TEST
- BASECHAIN_ETH
- BASECHAIN_ETH_TEST3
- BASECHAIN_ETH_TEST5
- ETHERLINK
- ETHERLINK_TEST
- MANTLE
- MANTLE_TEST
- GUN_GUNZILLA_TEST
- ETH_SONEIUM
- SONEIUM_MINATO_TEST
- IOTX_IOTEX
description:
description: Token's metadata description
type: string
example: This is MyNFT's description fetched from the metadata
name:
type: string
description: Token's metadata name
example: MyNFTName
required:
- id
- tokenId
- standard
- blockchainDescriptor
ListOwnedTokensResponse:
type: object
properties:
paging:
$ref: '#/components/schemas/Paging'
data:
type: array
items:
$ref: '#/components/schemas/TokenResponse'
CollectionOwnershipResponse:
type: object
properties:
id:
type: string
description: Fireblocks collection id
example: 0b7baa6a62b00c565fd027e91927d610872e0bd5
name:
type: string
description: Collection name
example: OpenSea Collections
symbol:
type: string
description: Collection symbol
example: OPENSTORE
standard:
type: string
description: Collection contract standard
example: ERC1155
blockchainDescriptor:
enum:
- ETH
- ETH_TEST3
- ETH_TEST5
- ETH_TEST6
- POLYGON
- POLYGON_TEST_MUMBAI
- AMOY_POLYGON_TEST
- XTZ
- XTZ_TEST
- BASECHAIN_ETH
- BASECHAIN_ETH_TEST3
- BASECHAIN_ETH_TEST5
- ETHERLINK
- ETHERLINK_TEST
- MANTLE
- MANTLE_TEST
- GUN_GUNZILLA_TEST
- ETH_SONEIUM
- SONEIUM_MINATO_TEST
- IOTX_IOTEX
type: string
description: Collection's blockchain
contractAddress:
type: string
description: Collection contract standard
example: '0x2953399124F0cBB46d2CbACD8A89cF0599974963'
required:
- id
- blockchainDescriptor
ListOwnedCollectionsResponse:
type: object
properties:
paging:
$ref: '#/components/schemas/Paging'
data:
type: array
items:
$ref: '#/components/schemas/CollectionOwnershipResponse'
GetNFTsResponse:
type: object
properties:
paging:
$ref: '#/components/schemas/Paging'
data:
type: array
items:
$ref: '#/components/schemas/TokenResponse'
UpdateTokenOwnershipStatusDto:
type: object
properties:
status:
description: Token's status in Fireblocks
type: string
enum:
- LISTED
- ARCHIVED
required:
- status
TokenOwnershipStatusUpdatePayload:
type: object
properties:
assetId:
type: string
description: Token's asset id
example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
x-fb-entity: asset
status:
type: string
description: Token's ownership new status
enum:
- LISTED
- ARCHIVED
example: ARCHIVED
required:
- assetId
- status
UpdateTokensOwnershipStatusRequest:
type: array
items:
$ref: '#/components/schemas/TokenOwnershipStatusUpdatePayload'
TokenOwnershipSpamUpdatePayload:
type: object
properties:
assetId:
type: string
description: Token's asset id
example: NFT-abcdefabcdefabcdefabcdefabcdefabcdefabcd
x-fb-entity: asset
spam:
type: boolean
description: Token's ownership new spam value
example: true
required:
- assetId
- spam
UpdateTokensOwnershipSpamRequest:
type: array
items:
$ref: '#/components/schemas/TokenOwnershipSpamUpdatePayload'
SessionMetadata:
type: object
properties:
appUrl:
type: string
description: dApp URL
example: https://app.uniswap.org
appName:
type: string
description: dApp Name
example: Uniswap
appDescription:
type: string
description: dApp Description (provided by the dApp developers)
example: Uniswap Interface
appIcon:
type: string
description: dApp icon URL
example: >-
https://static.fireblocks.io/wcs/dappIcon/f16fbab26bad5aa296073f682cf6ff32dfe262e333a1b32f6a481b100c8a144b
required:
- appUrl
SessionDTO:
type: object
properties:
id:
type: string
description: Id of the connection
example: 4e9e7051-f3b2-48e9-8ee6-b12492552657
userId:
type: string
description: Id of the user that created the connection
sessionMetadata:
description: Metadata of the connection (provided by the dapp)
allOf:
- $ref: '#/components/schemas/SessionMetadata'
vaultAccountId:
type: number
description: The vault to connect
example: 1
feeLevel:
type: string
description: The default fee level
example: MEDIUM
enum:
- MEDIUM
- HIGH
chainIds:
description: The chains approved for the connection
example:
- ETH
- ETH_TEST
- SOL
type: array
items:
type: string
connectionType:
type: string
description: The connection's type
example: WalletConnect
enum:
- WalletConnect
connectionMethod:
type: string
description: The method through which the connection was established
example: API
enum:
- DESKTOP
- MOBILE
- API
creationDate:
format: date-time
type: string
description: Timestamp of the session's creation
required:
- id
- userId
- sessionMetadata
- vaultAccountId
- feeLevel
- chainIds
- connectionType
- connectionMethod
- creationDate
GetConnectionsResponse:
type: object
properties:
data:
description: Array with the requested dApp connection's data
type: array
items:
$ref: '#/components/schemas/SessionDTO'
paging:
$ref: '#/components/schemas/Paging'
required:
- data
CreateVaultAccountConnectionRequest:
type: object
properties:
vaultAccountId:
type: number
description: The ID of the vault to connect to the dApp.
example: 1
feeLevel:
type: string
description: The default fee level. Valid values are `MEDIUM` and `HIGH`.
example: MEDIUM
enum:
- MEDIUM
- HIGH
uri:
type: string
description: The WalletConnect uri provided by the dapp.
example: >-
"wc:77752975-906f-48f5-b59f-047826ee947e@1?bridge=https%3A%2F%2F0.bridge.walletconnect.org&key=64be99adc6086b7a729b0ec8c7e1f174927ab92e84f5c6f9527050225344a637"
chainIds:
description: The IDs of the blockchain networks used in the dApp connection.
example:
- ETH
type: array
items:
type: string
required:
- vaultAccountId
- feeLevel
- uri
CreateNcwConnectionRequest:
type: object
properties:
ncwId:
type: string
description: The ID of the Non-Custodial Wallet to connect to the dApp.
example: b8337f1d-bd61-4d6c-afc1-4c9d60aa2132
ncwAccountId:
type: number
description: The NCW account ID to connect to the dApp.
example: 1
feeLevel:
type: string
description: The default fee level. Valid values are `MEDIUM` and `HIGH`.
example: MEDIUM
enum:
- MEDIUM
- HIGH
uri:
type: string
description: The WalletConnect uri provided by the dapp.
example: >-
"wc:77752975-906f-48f5-b59f-047826ee947e@1?bridge=https%3A%2F%2F0.bridge.walletconnect.org&key=64be99adc6086b7a729b0ec8c7e1f174927ab92e84f5c6f9527050225344a637"
chainIds:
description: The IDs of the blockchain networks used in the dApp connection.
example:
- ETH
type: array
items:
type: string
required:
- ncwId
- ncwAccountId
- feeLevel
- uri
CreateConnectionRequest:
oneOf:
- $ref: '#/components/schemas/CreateVaultAccountConnectionRequest'
- $ref: '#/components/schemas/CreateNcwConnectionRequest'
CreateConnectionResponse:
type: object
properties:
id:
type: string
description: The ID of the Web3 connection initiated.
example: 4e9e7051-f3b2-48e9-8ee6-b12492552657
sessionMetadata:
description: Metadata of the Web3 connection (provided by the dApp).
allOf:
- $ref: '#/components/schemas/SessionMetadata'
required:
- id
- sessionMetadata
RespondToConnectionRequest:
type: object
properties:
approve:
type: boolean
description: Approval of the initiated dApp connection.
example: true
required:
- approve
TravelRuleAddress:
type: object
properties:
street:
type: string
example: 1234 Example St
description: Street address
city:
type: string
example: New York
description: City
state:
type: string
example: NY
description: State or province
postalCode:
type: string
example: '10001'
description: Postal or ZIP code
required:
- street
- city
- state
- postalCode
TravelRuleValidateTransactionRequest:
type: object
properties:
transactionAsset:
type: string
example: BTC
description: Transaction asset symbol BTC,ETH)
destination:
type: string
example: bc1qxy2kgdygjrsqtzq2n0yrf1234p83kkfjhx0wlh
description: Transaction destination address
transactionAmount:
type: string
example: '10'
description: Transaction amount in the transaction asset
originatorVASPdid:
type: string
example: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2
description: This is the identifier assigned to your VASP
originatorEqualsBeneficiary:
type: boolean
example: false
description: >-
"True" if the originator and beneficiary is the same person and you
therefore do not need to collect any information. "False" if it is a
third-party transfer.
travelRuleBehavior:
type: boolean
example: true
description: >-
This will also check if the transaction is a TRAVEL_RULE in the
beneficiary VASP's jurisdiction
beneficiaryVASPdid:
type: string
example: did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992
description: >-
This is the identifier assigned to the VASP the funds are being sent
to
beneficiaryVASPname:
type: string
example: HelloCrypto
description: Beneficiary VASP name
beneficiaryName:
type: string
example: John Doe
description: Beneficiary name
beneficiaryAccountNumber:
type: string
example: 1234-1234-1234-12234
description: Beneficiary name
beneficiaryAddress:
example: '{"addressLine: [Wayne Manor, Gotham City, New York, USA]"}'
description: Beneficiary name
allOf:
- $ref: '#/components/schemas/TravelRuleAddress'
required:
- transactionAsset
- destination
- transactionAmount
- originatorVASPdid
- originatorEqualsBeneficiary
TravelRuleValidateTransactionResponse:
type: object
properties:
isValid:
type: boolean
description: >-
"isValid" will tell you if you have collected all the information
needed for the travel rule data transfer. Once this field = "true",
you can move on to the next step which is to transfer the front-end
information to your back-end and perform Travel Rule Transaction
create
example: true
type:
type: string
description: >-
"type" will tell you if the virtual asset value converted to FIAT
value of the withdrawal request is above (=TRAVELRULE) or below
(=BELOW_THRESHOLD) the threshold in your jurisdiction. If it is to
an unhosted wallet which does not require travel rule information to
be sent and only collected, it will say NON_CUSTODIAL.
example: TRAVELRULE
beneficiaryAddressType:
type: string
description: >-
"beneficiaryAddressType" will tell you if your blockchain analytics
provider or internal address book has been able to identify the
wallet address.
example: UNKNOWN
addressSource:
type: string
description: >-
"addressSource" will tell you if the address was found in your
internal address book or identified by the blockchain analytics
provider.
example: UNKNOWN
beneficiaryVASPdid:
type: string
description: The VASP DID of the beneficiary VASP
example: did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992
beneficiaryVASPname:
type: string
description: >-
"beneficiaryVASPname" will tell you the name of the VASP that has
been identified as the owner of the wallet address. This name is
used in a subsequent call to get its DID.
example: Fireblocks
warnings:
description: >-
"errors/warnings" will tell you what information about the
beneficiary you need to collect from the sender.
example:
- optional-beneficiaryAccountNumber
type: array
items:
type: string
required:
- isValid
- type
- beneficiaryAddressType
- addressSource
- beneficiaryVASPdid
- beneficiaryVASPname
- warnings
TravelRuleValidateDateAndPlaceOfBirth:
type: object
description: Represents the date and place of birth for a natural person
properties:
dateOfBirth:
type: string
description: Date of birth in ISO 8601 format (YYYY-MM-DD)
example: 1990-01-01
placeOfBirth:
type: string
description: Place of birth (max 70 characters)
maxLength: 70
example: New York, USA
TravelRuleValidateFullTransactionRequest:
type: object
properties:
originatorVASPdid:
type: string
description: >-
The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets.
This identifier is unique to the exchange and is generated when the exchange's account is
created in the Notabene network.
example: "did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2"
beneficiaryVASPdid:
type: string
description: >-
The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets.
This identifier is unique to the exchange and is generated when the exchange's account is
created in the Notabene network.
example: "did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6"
transactionAsset:
type: string
description: |
Transaction asset symbol (e.g., BTC, ETH, USDC).
By using the `notation` query string, users can select the type of asset notation
- `fireblocks`: Converts asset symbols to Fireblocks notation.
- `notabene`: Retains the original Notabene asset symbol format.
example: BTC
transactionAmount:
type: string
description: |
Transaction amount in the transaction asset. For example, if the asset is BTC, the amount
is the value in BTC units.
By using the `notation` query string, users can select the type of amount notation
- `fireblocks`: Converts the amount to Fireblocks notation (e.g., adjusted for decimals).
- `notabene`: Retains the original Notabene amount format.
example: "10"
originatorVASPname:
type: string
description: The name of the VASP acting as the transaction originator.
example: Originator VASP Ltd.
beneficiaryVASPname:
type: string
description: The name of the VASP acting as the transaction beneficiary.
example: Beneficiary VASP Inc.
transactionBlockchainInfo:
description: Information about the blockchain transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleTransactionBlockchainInfo'
originator:
description: Information about the originator of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleValidatePiiIVMS'
beneficiary:
description: Information about the beneficiary of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleValidatePiiIVMS'
encrypted:
type: string
description: Encrypted data related to the transaction.
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
protocol:
type: string
description: The protocol used to perform the travel rule.
example: IVMS101
skipBeneficiaryDataValidation:
type: boolean
description: Whether to skip validation of beneficiary data.
example: false
travelRuleBehavior:
type: boolean
description: >-
Whether to check if the transaction complies with the travel rule in the
beneficiary VASP's jurisdiction.
example: true
originatorRef:
type: string
description: A reference ID related to the originator of the transaction.
example: ORG123456
beneficiaryRef:
type: string
description: A reference ID related to the beneficiary of the transaction.
example: BEN654321
travelRuleBehaviorRef:
type: string
description: A reference ID related to the travel rule behavior.
example: TRB987654
originatorProof:
description: Ownership proof related to the originator of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleOwnershipProof'
beneficiaryProof:
description: Ownership proof related to the beneficiary of the transaction.
allOf:
- $ref: '#/components/schemas/TravelRuleOwnershipProof'
beneficiaryDid:
type: string
description: >-
The Decentralized Identifier (DID) of the person at the receiving exchange (VASP).
This identifier is generated when the customer is registered in the Notabene network,
or automatically created based on the `beneficiaryRef`.
- If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload,
a new random DID is generated for every transaction.
example: "did:key:z6Mkf67890Zghijkl67890"
originatorDid:
type: string
description: >-
The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting
the withdrawal. This identifier is generated when the customer is registered in the Notabene
network or automatically created based on the `originatorRef`.
- If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload,
a new random DID is generated for every transaction.
example: "did:key:z6Mkf12345Zabcdef12345"
isNonCustodial:
type: boolean
description: Indicates if the transaction involves a non-custodial wallet.
example: true
notificationEmail:
type: string
description: >-
The email address where a notification should be sent upon completion of
the travel rule
pii:
description: Personal identifiable information related to the transaction
allOf:
- $ref: '#/components/schemas/TravelRulePiiIVMS'
pii_url:
type: string
description: >-
The URL of the personal identifiable information related to the transaction
required:
- originator
- beneficiary
TravelRuleIssuer:
type: object
properties:
issuerDid:
type: string
required:
- issuerDid
TravelRuleValidateGeographicAddress:
type: object
properties:
streetName:
type: string
description: Name of a street or thoroughfare
example: 123 Main St
townName:
type: string
description: Name of a built-up area, with defined boundaries, and a local government
example: New York
country:
type: string
description: Nation with its own government (ISO-3166 Alpha-2 country code)
example: US
buildingNumber:
type: string
description: Number that identifies the position of a building on a street
example: 123
postCode:
type: string
description: Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail
example: 12345
addressType:
type: string
description: >-
Specifies the type of address. Acceptable values are:
- 'HOME': Residential, the home address
- 'BIZZ': Business, the business address
- 'GEOG': Geographic, an unspecified physical (geographical) address
enum:
- HOME
- BIZZ
- GEOG
example: HOME
department:
type: string
description: Identification of a division of a large organisation or building
example: IT
subDepartment:
type: string
description: Identification of a sub-division of a large organisation or building
example: Security
buildingName:
type: string
description: Name of the building or house
example: Acme Building
floor:
type: string
description: Floor or storey within a building
example: 1
postBox:
type: string
description: Numbered box in a post office
example: 123
room:
type: string
description: Building room number
example: 101
townLocationName:
type: string
description: Specific location name within the town
example: Downtown
districtName:
type: string
description: Identifies a subdivision within a country subdivision
example: Manhattan
countrySubDivision:
type: string
description: Identifies a subdivision of a country such as state, region, or province
example: New York
addressLine:
type: array
items:
type: string
description: Information that locates and identifies a specific address, presented in free format text
example: [123 Main St, New York, NY 12345]
TravelRuleIssuers:
type: object
properties:
yearFounded:
$ref: '#/components/schemas/TravelRuleIssuer'
isRegulated:
$ref: '#/components/schemas/TravelRuleIssuer'
regulatoryAuthorities:
$ref: '#/components/schemas/TravelRuleIssuer'
name:
$ref: '#/components/schemas/TravelRuleIssuer'
logo:
$ref: '#/components/schemas/TravelRuleIssuer'
website:
$ref: '#/components/schemas/TravelRuleIssuer'
legalName:
$ref: '#/components/schemas/TravelRuleIssuer'
legalStructure:
$ref: '#/components/schemas/TravelRuleIssuer'
incorporationCountry:
$ref: '#/components/schemas/TravelRuleIssuer'
businessNumber:
$ref: '#/components/schemas/TravelRuleIssuer'
addressLine1:
$ref: '#/components/schemas/TravelRuleIssuer'
city:
$ref: '#/components/schemas/TravelRuleIssuer'
country:
$ref: '#/components/schemas/TravelRuleIssuer'
description:
$ref: '#/components/schemas/TravelRuleIssuer'
required:
- yearFounded
- isRegulated
- regulatoryAuthorities
- name
- logo
- website
- legalName
- legalStructure
- incorporationCountry
- businessNumber
- addressLine1
- city
- country
- description
TravelRuleValidateLegalPerson:
type: object
properties:
name:
type: object
allOf:
- $ref: '#/components/schemas/TravelRuleValidateLegalPersonNameIdentifier'
description: The structured name of the legal person, referencing name identifiers.
geographicAddress:
type: array
items:
$ref: '#/components/schemas/TravelRuleValidateGeographicAddress'
description: The array of geographic addresses associated with the legal person.
nationalIdentification:
$ref: '#/components/schemas/TravelRuleValidateNationalIdentification'
customerIdentification:
type: string
description: A unique identifier that identifies the customer in the organization's context.
example: CUST987654
customerNumber:
type: string
description: A distinct identifier that uniquely identifies the customer within the organization.
example: 123456789
countryOfRegistration:
type: string
description: The ISO-3166 Alpha-2 country code where the legal person is registered.
example: US
TravelRuleValidateLegalPersonNameIdentifier:
type: object
properties:
legalPersonName:
type: string
description: Name by which the legal person is known.
maxLength: 100
example: Acme Corporation
legalPersonNameIdentifierType:
type: string
description: >-
Specifies the type of name for a legal person. Acceptable values are:
- 'REGISTERED': The official registered name.
- 'TRADE': A trading name or DBA (Doing Business As) name.
- 'OTHER': Any other type of name.
enum:
- REGISTERED
- TRADE
- OTHER
example: REGISTERED
TravelRuleValidateNationalIdentification:
type: object
description: Represents a national identifier for a person or entity
properties:
countryOfIssue:
type: string
description: Country that issued the national identifier (ISO-3166 Alpha-2 country code)
example: US
nationalIdentifier:
type: string
description: National identifier (max 35 characters)
maxLength: 35
example: 123456789
nationalIdentifierType:
type: string
description: >-
Type of national identifier. Acceptable values include:
- 'PASSPORT': Passport number
- 'NATIONAL_ID': National identification number
- 'TAX_ID': Tax identification number
- 'SOCIAL_SECURITY': Social security number
enum:
- PASSPORT
- NATIONAL_ID
- TAX_ID
- SOCIAL_SECURITY
example: NATIONAL_ID
registrationAuthority:
type: string
description: Registration authority (format -> RA followed by 6 digits)
pattern: ^RA\d{6}$
example: RA123456
TravelRuleValidateNaturalNameIdentifier:
type: object
properties:
primaryIdentifier:
type: string
description: The primary identifier of the name
example: John
secondaryIdentifier:
type: string
description: The secondary identifier of the name
example: Doe
nameIdentifierType:
type: string
description: >-
Specifies the type of name for a natural person. Acceptable values are:
- 'ALIA': Alias name, a name other than the legal name by which a natural person is also known.
- 'BIRT': Name at birth, the name given to a natural person at birth.
- 'MAID': Maiden name, the original name of a natural person who has changed their name after marriage.
- 'LEGL': Legal name, the name that identifies a natural person for legal, official, or administrative purposes.
- 'MISC': Unspecified, a name by which a natural person may be known but cannot otherwise be categorized.
enum:
- ALIA
- BIRT
- MAID
- LEGL
- MISC
example: LEGL
TravelRuleValidateNaturalPersonNameIdentifier:
type: object
properties:
nameIdentifier:
type: array
items:
$ref: '#/components/schemas/TravelRuleValidateNaturalNameIdentifier'
localNameIdentifier:
type: array
items:
$ref: '#/components/schemas/TravelRuleValidateNaturalNameIdentifier'
phoneticNameIdentifier:
type: array
items:
$ref: '#/components/schemas/TravelRuleValidateNaturalNameIdentifier'
TravelRuleValidatePerson:
type: object
properties:
naturalPerson:
type: object
allOf:
- $ref: '#/components/schemas/TravelRuleValidateNaturalPerson'
legalPerson:
type: object
allOf:
- $ref: '#/components/schemas/TravelRuleValidateLegalPerson'
TravelRuleValidatePersons:
type: object
allOf:
- $ref: '#/components/schemas/TravelRuleValidatePerson'
TravelRuleValidatePiiIVMS:
type: object
properties:
originatorPersons:
type: array
description: Information about the originator of the transaction
items:
$ref: '#/components/schemas/TravelRuleValidatePersons'
beneficiaryPersons:
type: array
description: Information about the beneficiary of the transaction
items:
$ref: '#/components/schemas/TravelRuleValidatePersons'
accountNumber:
type: array
description: Beneficiary account number
items:
type: string
CreateMultipleDepositAddressesJobStatus:
type: object
properties:
status:
type: string
example: Success
addresses:
type: array
items:
$ref: '#/components/schemas/NewAddress'
example:
[
{
address: "addr_test1qp07k5kdwdfx4rpfqud8ry65acxgtgfgrxw0t35cwvl4uasjneqjdc868eqlex5p2f0nyekyyk4ze5xuanvj50ysrj3qqxqhsn",
index: 0,
description: "Address one",
},
]
errorMessage:
type: string
example: Asset not supported
required:
- status
CreateMultipleDepositAddressesRequest:
type: object
properties:
vaultAccountId:
description: Existing Vault account ID to add deposit addresses to
type: integer
example: 5
assetId:
description: asset ID
type: string
example: ADA
count:
description: Count of deposit addresses to issue
type: integer
example: 10
descriptions:
description: Desctiptions of the newly created addresses
type: array
items:
type: string
example: ["First address", "Second address", "df4c0987-30da-4976-8dcf-bc2dd41ae331"]
vaultAccountToCopyDescFrom:
description: Existing Vault Account ID to copy deposit addresses descriptions from in case no descriptions were provided
type: integer
example: 0
vaultAccountToCopyDescFromIndex:
description: Existing length within the vault account to copy deposit addresses descriptions from
type: integer
example: 1000
required:
- vaultAccountId
- assetId
- count
NewAddress:
type: object
properties:
address:
type: string
description: The address string.
example: addr_test1qp07k5kdwdfx4rpfqud8ry65acxgtgfgrxw0t35cwvl4uasjneqjdc868eqlex5p2f0nyekyyk4ze5xuanvj50ysrj3qqxqhsn
index:
type: integer
description: The index of the address in the list.
example: 0
description:
type: string
description: A description of the address.
example: Address one
required:
- address
- index
- description
TravelRuleValidateNaturalPerson:
type: object
properties:
name:
type: array
items:
$ref: '#/components/schemas/TravelRuleValidateNaturalPersonNameIdentifier'
description: >-
An array of structured name identifiers for the natural person, referencing
the TravelRuleNaturalPersonNameIdentifier schema.
geographicAddress:
type: array
items:
$ref: '#/components/schemas/TravelRuleValidateGeographicAddress'
description: >-
An array of geographic addresses associated with the natural person,
referencing the TravelRuleGeographicAddress schema.
nationalIdentification:
$ref: '#/components/schemas/TravelRuleValidateNationalIdentification'
dateAndPlaceOfBirth:
allOf:
- $ref: '#/components/schemas/TravelRuleValidateDateAndPlaceOfBirth'
description: >-
The date and place of birth of the natural person, referencing
the TravelRuleDateAndPlaceOfBirth schema.
customerIdentification:
type: string
description: >-
A unique identifier for the customer within the organization's context.
example: CUST123456
countryOfResidence:
type: string
description: >-
The ISO-3166 Alpha-2 country code of the natural person's residence.
example: US
customerNumber:
type: string
description: >-
A distinct identifier that uniquely identifies the customer within the organization.
example: 123456789
TravelRuleVASP:
type: object
properties:
did:
type: string
name:
type: string
verificationStatus:
type: string
addressLine1:
type: string
addressLine2:
type: string
city:
type: string
country:
type: string
emailDomains:
type: string
website:
type: string
logo:
type: string
legalStructure:
type: string
legalName:
type: string
yearFounded:
type: string
incorporationCountry:
type: string
isRegulated:
type: string
otherNames:
type: string
identificationType:
type: string
identificationCountry:
type: string
businessNumber:
type: string
regulatoryAuthorities:
type: string
jurisdictions:
type: string
street:
type: string
number:
type: string
unit:
type: string
postCode:
type: string
state:
type: string
certificates:
type: string
description:
type: string
travelRule_OPENVASP:
type: string
travelRule_SYGNA:
type: string
travelRule_TRISA:
type: string
travelRule_TRLIGHT:
type: string
travelRule_EMAIL:
type: string
travelRule_TRP:
type: string
travelRule_SHYFT:
type: string
travelRule_USTRAVELRULEWG:
type: string
createdAt:
type: string
createdBy:
type: string
updatedAt:
type: string
updatedBy:
type: string
lastSentDate:
type: string
lastReceivedDate:
type: string
documents:
type: string
hasAdmin:
type: boolean
isNotifiable:
type: boolean
issuers:
$ref: '#/components/schemas/TravelRuleIssuers'
required:
- did
- name
- verificationStatus
- addressLine1
- addressLine2
- city
- country
- emailDomains
- website
- logo
- legalStructure
- legalName
- yearFounded
- incorporationCountry
- isRegulated
- otherNames
- identificationType
- identificationCountry
- businessNumber
- regulatoryAuthorities
- jurisdictions
- street
- number
- unit
- postCode
- state
- certificates
- description
- travelRule_OPENVASP
- travelRule_SYGNA
- travelRule_TRISA
- travelRule_TRLIGHT
- travelRule_EMAIL
- travelRule_TRP
- travelRule_SHYFT
- travelRule_USTRAVELRULEWG
- createdAt
- createdBy
- updatedAt
- updatedBy
- lastSentDate
- lastReceivedDate
- documents
- hasAdmin
- isNotifiable
- issuers
TravelRuleGetAllVASPsResponse:
type: object
properties:
vasps:
type: array
items:
$ref: '#/components/schemas/TravelRuleVASP'
required:
- vasps
TravelRuleUpdateVASPDetails:
type: object
properties:
did:
type: string
example: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2
description: The decentralized identifier of the VASP
pii_didkey:
type: string
example: did:key:z6Mks5CZRaiooKYhq5TwtXQC1gWhwiZnmiKfFrMnYY62MhYf
description: The PII DID key of the VASP
required:
- did
- pii_didkey
TravelRulePolicyRuleResponse:
type: object
properties:
sourceType:
type: string
sourceSubType:
type: string
destType:
type: string
destSubType:
type: string
destAddress:
type: string
sourceId:
type: string
destId:
type: string
asset:
type: string
baseAsset:
type: string
amount:
type: number
amountUSD:
type: number
networkProtocol:
type: string
operation:
type: string
action:
type: string
enum:
- SCREEN
- PASS
- FREEZE
required:
- action
ScreeningPolicyResponse:
type: object
properties:
policy:
$ref: '#/components/schemas/TravelRulePolicyRuleResponse'
policyStatus:
type: string
isDefault:
type: boolean
createDate:
format: date-time
type: string
lastUpdate:
format: date-time
type: string
required:
- policy
- isDefault
- lastUpdate
ScreeningProviderRulesConfigurationResponse:
type: object
properties:
direction:
type: string
enum:
- INBOUND
- OUTBOUND
status:
type: string
enum:
- COMPLETED
- PENDING
- REJECTED
- FAILED
- CANCELED
- BLOCKING_TIME_EXPIRED
amountUSD:
type: number
amount:
type: number
asset:
type: string
action:
type: string
enum:
- ACCEPT
- REJECT
- ALERT
- WAIT
- FREEZE
- CANCEL
required:
- action
ScreeningConfigurationsRequest:
type: object
properties:
bypassScreeningDuringServiceOutages:
type: boolean
description: Flag to enable or disable bypass screening during service outages.
inboundTransactionDelay:
type: number
description: Inbound transaction delay in seconds.
outboundTransactionDelay:
type: number
description: Outbound transaction delay in seconds.
ScreeningUpdateConfigurations:
type: object
properties:
disableBypass:
type: boolean
description: >-
Flag to enable or disable bypass screening on workspace
configuration.
disableUnfreeze:
type: boolean
description: >-
Flag to enable or disable unfreeze of transaction frozen by policy
rule on workspace configuration.
ComplianceScreeningResultFullPayload:
type: object
properties:
provider:
type: string
payload:
type: object
description: |
The payload of the screening result.
The payload is a JSON object that contains the screening result.
The payload is different for each screening provider.
bypassReason:
type: string
screeningStatus:
type: string
enum:
- COMPLETED
- PENDING
- BYPASSED
- FAILED
- FROZEN
timestamp:
type: number
format: date-time
AmlRegistrationResultFullPayload:
type: object
properties:
provider:
type: string
success:
type: boolean
timestamp:
type: number
ComplianceResultFullPayload:
type: object
description: The result of the Compliance AML/Travel Rule screening.
properties:
aml:
type: object
description: The end result of the AML screening.
items:
$ref: '#/components/schemas/ComplianceScreeningResultFullPayload'
tr:
type: object
description: The result of the Travel Rule screening.
items:
$ref: '#/components/schemas/ComplianceScreeningResultFullPayload'
amlList:
type: array
description: The list of all results of the AML screening.
items:
$ref: '#/components/schemas/ComplianceScreeningResultFullPayload'
status:
type: string
description: Status of compliance result screening.
enum:
- Started
- NetworkConnectionAddressResolve
- ScreeningPrepare
- AMLStarted
- AMLCompleted
- AMLFailed
- AMLInBackground
- TRPreconditionChecks
- TRStarted
- TRCompleted
- TRFailed
- Completed
- IncomingStarted
- IncomingScreeningPrepare
- IncomingWaitForFirstConfirmation
- AMLIncomingStarted
- AMLIncomingCompleted
- AMLIncomingFailed
- AMLIncomingInBackground
- TRIncomingStarted
- TRIncomingCompleted
- TRIncomingFailed
- IncomingCompleted
amlRegistration:
type: object
description: The results of the AML address registration.
items:
$ref: '#/components/schemas/AmlRegistrationResultFullPayload'
AmlVerdictManualRequest:
type: object
required:
- verdict
- txId
properties:
verdict:
type: string
enum:
- ACCEPT
- REJECT
description: The AML verdict to set for the transaction.
example: ACCEPT
txId:
type: string
format: uuid
description: The transaction ID to set the verdict for.
example: 550e8400-e29b-41d4-a716-446655440000
AmlVerdictManualResponse:
type: object
required:
- success
- message
properties:
success:
type: boolean
example: true
message:
type: string
example: "AML verdict set successfully"
GetOtaStatusResponse:
type: object
properties:
enabled:
type: boolean
description: Current One Time Address feature status
SetOtaStatusRequest:
type: object
properties:
enabled:
type: boolean
description: Set true or false to enable or disable OTA transactions
SetOtaStatusResponse:
oneOf:
- type: object
properties:
message:
type: string
description: >-
Message indicating the result of the operation for example when
no config change is needed
example: No change needed. The current status is false
- type: string
description: >-
Message indicating the result of the operation when config was
successfully updated
example: Accepted
GetWorkspaceStatusResponse:
type: object
properties:
status:
type: string
description: Current workspace status
PolicySrcOrDestType:
type: string
enum:
- EXCHANGE
- UNMANAGED
- VAULT
- NETWORK_CONNECTION
- COMPOUND
- FIAT_ACCOUNT
- ONE_TIME_ADDRESS
- '*'
description: >
* EXCHANGE - A third-party exchange account connected to your workspace
* UNMANAGED - A unmanaged wallet outside of Fireblocks workspace
* VAULT - An account in your Fireblocks Vault
* NETWORK_CONNECTION - A connection in your Fireblocks network
* COMPOUND - (deprecated) An asset retrieved by using the Compound DeFI
protocol
* FIAT_ACCOUNT - A third-party fiat account connected to your workspace
* ONE_TIME_ADDRESS - A non-whitelisted asset from your Fireblocks
Workspace
* "*" - All types
PolicySrcOrDestSubType:
type: string
enum:
- EXTERNAL
- INTERNAL
- CONTRACT
- EXCHANGETEST
- '*'
description: >
* EXTERNAL - A whitelisted wallet assigned as external is typically used
for addresses managed by your clients and counterparties
* INTERNAL - A whitelisted wallet assigned as internal, is typically
used for addresses that you control outside of your Fireblocks workspace
* CONTRACT - A whitelisted wallet assigned as contract is for
identifying and managing external smart contracts
* EXCHANGETEST - Exchanges which operate only on testnet assets
* "*" - All subtypes
PolicySrcOrDestId:
type: string
description: |
Defines the account id, options are
* "*" - All accounts
* Specific account id
SrcOrDestAttributes:
type: array
description: >
Defines source or destination component, options are:
* id only
* id and type - first item in the array MUST be id.
* id, type and subtype - first item in the array MUST be id and second
item MUST be type.
items:
anyOf:
- $ref: '#/components/schemas/PolicySrcOrDestId'
- $ref: '#/components/schemas/PolicySrcOrDestType'
- $ref: '#/components/schemas/PolicySrcOrDestSubType'
minItems: 1
maxItems: 3
AmountAggregationTimePeriodMethod:
type: string
enum:
- PER_SINGLE_MATCH
- ACROSS_ALL_MATCHES
description: |
* PER_SINGLE_MATCH - Apply the limit to each listed entity
* ACROSS_ALL_MATCHES - Apply the limit to the sum of all listed entities
PolicyRule:
type: object
description: Policy rule which is enforced on transactions
properties:
operator:
type: string
description: >-
(deprecated - replaced by "operators") | Defines users who can
initiate the type of transaction to which the rule applies. options
are * "*" - All users are allowed * Specific User id
deprecated: true
operators:
type: object
description: >-
Defines users/groups who can initiate the type of transaction to
which the rule applies.
properties:
wildcard:
type: string
enum:
- '*'
description: >
If used then this property should appear as the only child
property
* "*" - All users are allowed
users:
type: array
description: Set of users ids
items:
type: string
usersGroups:
type: array
description: Set of group ids
items:
type: string
services:
type: array
description: set of services to initiate transactions
items:
type: string
transactionType:
type: string
enum:
- TRANSFER
- CONTRACT_CALL
- PROGRAM_CALL
- APPROVE
- MINT
- BURN
- SUPPLY
- REDEEM
- STAKE
- RAW
- TYPED_MESSAGE
description: |
Defines the type of transaction to which the rule applies.
* TRANSFER - Default. Transfers funds from one account to another
* CONTRACT_CALL - Calls a smart contract, mainly for DeFi operations.
* PROGRAM_CALL - Calls a smart contract for web3 operations on the Solana blockchain.
* APPROVE - Allows a smart contract to withdraw from a designated wallet.
* MINT - Perform a mint operation (increase supply) on a supported token
* BURN - Perform a burn operation (reduce supply) on a supported token
* SUPPLY - Use for DeFi to lend assets
* REDEEM - Use for DeFi to get lending back
* STAKE - Allows you to allocate and lock certain assets for earning staking rewards.
* RAW - An off-chain message with no predefined format, use it to sign any message with your private key.
* TYPED_MESSAGE - An off-chain message type that follows a predefined format, used to sign specific messages that are not actual transactions.
designatedSigner:
type: string
description: >-
(deprecated - replaced by "designatedSigners") Id representing the
user who signs transactions that match a specific rule
deprecated: true
designatedSigners:
type: object
description: >-
Set of ids representing the users who signs transactions that match
a specific rule
properties:
users:
type: array
description: Set of users ids
items:
type: string
usersGroups:
type: array
description: Set of group ids
items:
type: string
type:
type: string
description: Policy rule type
enum:
- TRANSFER
action:
type: string
enum:
- ALLOW
- BLOCK
- 2-TIER
description: >
Defines what occurs when a transaction meets the rule's criteria
* ALLOW - The transaction goes through and can be signed without
requiring additional approvals
* BLOCK - The transaction is automatically blocked
* 2-TIER - Only these users or user groups can approve
If any of them reject the transaction before the required approval threshold is met, the transaction doesn't go through
The list of entities are set is "authorizationGroups" field
asset:
type: string
description: |
Defines the type of asset being transacted, options are
* "*" - All assets
* Specific asset
srcType:
description: (deprecated - replaced by "src") source account type
deprecated: true
allOf:
- $ref: '#/components/schemas/PolicySrcOrDestType'
srcSubType:
description: (deprecated - replaced by "src") source sub account type
deprecated: true
allOf:
- $ref: '#/components/schemas/PolicySrcOrDestSubType'
srcId:
description: (deprecated - replaced by "src") source account id
deprecated: true
allOf:
- $ref: '#/components/schemas/PolicySrcOrDestId'
src:
type: object
description: Defines source accounts the rule allows transfers to originate from
properties:
ids:
type: array
description: A set of ids in a tuple format
items:
$ref: '#/components/schemas/SrcOrDestAttributes'
dstType:
description: (deprecated - replaced by "dst") destination account type
deprecated: true
allOf:
- $ref: '#/components/schemas/PolicySrcOrDestType'
dstSubType:
description: (deprecated - replaced by "dst") destination sub account type
deprecated: true
allOf:
- $ref: '#/components/schemas/PolicySrcOrDestSubType'
dstId:
description: (deprecated - replaced by "dst") destination account id
deprecated: true
allOf:
- $ref: '#/components/schemas/PolicySrcOrDestId'
dst:
type: object
description: Defines the destination accounts the rule allows transfers to
properties:
ids:
type: array
description: A set of ids in a tuple format
items:
$ref: '#/components/schemas/SrcOrDestAttributes'
dstAddressType:
type: string
enum:
- WHITELISTED
- ONE_TIME
- '*'
description: >
Defines whether the destination to which you are sending funds must
be whitelisted, to allow one-time transfers to non-whitelisted
external addresses, or both.
By default, you can only transfer to an external address after it’s
whitelisted.
* WHITELISTED - Can only be sent to whitelisted addresses.
* ONE_TIME - Can only be sent to non-whitelisted external addresses.
* "*" - can be sent to whitelisted addresses or non-whitelisted external
amountCurrency:
type: string
enum:
- USD
- EUR
- NATIVE
description: >
* USD - Limits the amount of any asset users can transfer based on
the USD equivalent of the asset.
* EUR - Limits the amount of any asset users can transfer based on
the EURO equivalent of the asset.
* NATIVE - Limits the amount of an asset a user can transfer when
using a specific asset.
amountScope:
type: string
enum:
- SINGLE_TX
- TIMEFRAME
description: >
* SINGLE_TX - limit applies to a single transaction
* TIMEFRAME - limit applies to all transactions within the defined
time period
amount:
description: >-
Defines the value a transaction must exceed for the rule to apply to
it (according to the amountCurrency field)
anyOf:
- type: string
description: Numeric string (recommended)
- type: number
description: Number (deprecated)
periodSec:
type: number
description: >
Time period in seconds applied by the amountScope field to
accumulate transferred amounts in transactions that match the rule,
until the total exceeds the value you specify under Minimum.
When the specified amount is reached within that period, whether by
one or many transactions, further transactions in that period either
fail or require more approvals.
authorizers:
type: array
description: >-
(deprecated - replaced by "authorizationGroups") Allowed entities
which can approves a transaction
deprecated: true
items:
type: string
authorizersCount:
type: number
description: >-
(deprecated - replaced by "authorizationGroups") Min amount of
entities which are needed to approve a transaction
deprecated: true
authorizationGroups:
type: object
description: Defines the transaction approval terms
properties:
logic:
type: string
enum:
- AND
- OR
description: >
* AND - requires approval of all authorization groups
* OR - requires approval of at least one of the authorization
groups
allowOperatorAsAuthorizer:
type: boolean
description: >-
Defines whether the user who initiates a transaction can approve
their own transaction and count toward the approval threshold
for their transaction
groups:
type: array
description: Groups of entities which can approve the transaction
items:
type: object
properties:
users:
type: array
description: User ids
items:
type: string
usersGroups:
type: array
description: Group ids
items:
type: string
th:
type: number
description: >-
Represents the min amount of entities which are required
to approve the transaction, default is 1.
amountAggregation:
type: object
description: >
Defines the method by which the Policy Engine calculates
accumulation.
It uses the Initiator, Source, and Destination to calculate
accumulation toward the value under Minimum, for the time under Time
Period.
properties:
operators:
$ref: '#/components/schemas/AmountAggregationTimePeriodMethod'
srcTransferPeers:
$ref: '#/components/schemas/AmountAggregationTimePeriodMethod'
dstTransferPeers:
$ref: '#/components/schemas/AmountAggregationTimePeriodMethod'
rawMessageSigning:
type: object
description: Raw message signing configuration
properties:
algorithm:
type: string
derivationPath:
type: object
properties:
path:
type: array
items:
type: number
applyForApprove:
type: boolean
description: >-
Applying this rule over APPROVE type transactions (can only be
enabled when rule's transaction type is TRANSFER)
applyForTypedMessage:
type: boolean
description: >-
Applying this rule over TYPED_MESSAGE type transactions (can only be
enabled when rule's transaction type is CONTRACT_CALL)
externalDescriptor:
type: string
description: A unique id identifying the rule
required:
- type
- action
- asset
- amountCurrency
- amountScope
- amount
- periodSec
PolicyMetadata:
type: object
description: Policy related metadata
properties:
editedBy:
type: string
description: The user id of the user who last edited the policy
editedAt:
type: string
description: The timestamp of the last edit of the policy
publishedBy:
type: string
description: The user id of the user who last published the policy
publishedAt:
type: string
description: The timestamp of the last publish of the policy
PolicyResponse:
type: object
description: Response object for policy operations
properties:
rules:
type: array
description: A set of policy rules
items:
$ref: '#/components/schemas/PolicyRule'
metadata:
$ref: '#/components/schemas/PolicyMetadata'
required:
- rules
- metadata
PolicyRuleError:
type: object
description: Rule validation result error
properties:
errorMessage:
type: string
description: Error message
errorCode:
type: number
description: error code
errorCodeName:
type: string
description: error code name
errorField:
type: string
enum:
- operator
- operators
- authorizationGroups
- designatedSigner
- designatedSigners
- contractMethods
- amountAggregation
- src
- dst
description: |
The field which the error relates to
* operator - transaction initiator
* operators - transaction initiators
* authorizationGroups - transaction authorizer groups
* designatedSigner - transaction signer
* designatedSigners - transaction signers
* contractMethods - contract methods
* amountAggregation - transaction amount aggregation configuration
* src - transaction source asset configuration
* dst - transaction destination asset configuration
required:
- errorMessage
- errorCode
- errorCodeName
- errorField
PolicyRuleCheckResult:
type: object
description: The rule validation result
properties:
index:
type: number
description: Rule index number in the policy
status:
type: string
description: Validation status
enum:
- ok
- failure
errors:
type: array
description: A set of rule validation error objects
items:
$ref: '#/components/schemas/PolicyRuleError'
required:
- index
- status
- errors
PolicyCheckResult:
type: object
description: Policy rules validation result
properties:
errors:
type: number
description: Number of errors
result:
type: array
description: A set of validation results
items:
$ref: '#/components/schemas/PolicyRuleCheckResult'
required:
- errors
- result
PolicyValidation:
type: object
description: Policy validation object
properties:
status:
type: string
description: Validation status
checkResult:
$ref: '#/components/schemas/PolicyCheckResult'
required:
- status
- checkResult
PolicyAndValidationResponse:
type: object
description: Policy validation
properties:
policy:
$ref: '#/components/schemas/PolicyResponse'
validation:
$ref: '#/components/schemas/PolicyValidation'
required:
- policy
- validation
DraftResponse:
type: object
description: Response object for draft operations
properties:
status:
type: string
description: Operation status
rules:
type: array
description: Draft rules
items:
$ref: '#/components/schemas/PolicyRule'
draftId:
type: string
description: Draft unique id
metadata:
$ref: '#/components/schemas/PolicyMetadata'
required:
- draftId
- status
- rules
- metadata
DraftReviewAndValidationResponse:
type: object
description: Draft validation
properties:
draftResponse:
$ref: '#/components/schemas/DraftResponse'
validation:
$ref: '#/components/schemas/PolicyValidation'
required:
- draftResponse
- validation
PolicyRules:
type: object
properties:
rules:
description: Policy rules
type: array
items:
$ref: '#/components/schemas/PolicyRule'
PolicyStatus:
type: string
enum:
- SUCCESS
- UNVALIDATED
- INVALID_CONFIGURATION
- PENDING
- PENDING_CONSOLE_APPROVAL
- AWAITING_QUORUM
- UNHANDLED_ERROR
description: |
* SUCCESS - success
* UNVALIDATED - not validated yet
* INVALID_CONFIGURATION - at least one rule is invalid
* PENDING - pending approval
* PENDING_CONSOLE_APPROVAL - pending approval from the console app
* AWAITING_QUORUM - pending quorum approval
* UNHANDLED_ERROR - unhandled error
PublishResult:
type: object
description: Response object of the publish policy operation
properties:
status:
$ref: '#/components/schemas/PolicyStatus'
rules:
type: array
items:
$ref: '#/components/schemas/PolicyRule'
checkResult:
$ref: '#/components/schemas/PolicyCheckResult'
metadata:
$ref: '#/components/schemas/PolicyMetadata'
required:
- status
- rules
- checkResult
- metadata
UserId:
type: string
description: The unique identifier of the user
UserRole:
type: string
description: The role of the user
enum:
- OWNER
- ADMIN
- SIGNER
- COLLATERALS_SIGNER
- EDITOR
- APPROVER
- VIEWER
- NON_SIGNING_ADMIN
- AUDITOR
- NCW_ADMIN
- NCW_SIGNER
UserEnabled:
type: boolean
description: Whether the user is enabled or not
UserStatus:
type: string
description: The status of the user
enum:
- PENDING_ACTIVATION
- PENDING_DEVICE_PAIRING
- PENDING_DEVICE_SETUP
- READY
UserType:
type: string
description: The type of the user (API or Console)
enum:
- API
- CONSOLE
ConsoleUser:
type: object
properties:
id:
$ref: '#/components/schemas/UserId'
firstName:
type: string
description: The first name of the user
example: Some First Name
lastName:
type: string
description: The last name of the user
example: Some Last Name
email:
type: string
description: The email address of the user
example: user@example.com
role:
$ref: '#/components/schemas/UserRole'
enabled:
$ref: '#/components/schemas/UserEnabled'
status:
$ref: '#/components/schemas/UserStatus'
userType:
$ref: '#/components/schemas/UserType'
ConsoleUsers:
type: array
items:
$ref: '#/components/schemas/ConsoleUser'
GetConsoleUsersResponse:
type: object
properties:
users:
$ref: '#/components/schemas/ConsoleUsers'
required:
- users
VaultAccountsTagAttachmentsRequest:
type: object
properties:
tagIds:
description: The IDs of the tags to attach
example: ["df4c0987-30da-4976-8dcf-bc2dd41ae331", "a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
type: array
minItems: 1
maxItems: 200
items:
type: string
format: uuid
vaultAccountIds:
description: The IDs of the vault accounts to attach tags to
example: ["0", "1"]
type: array
minItems: 1
maxItems: 200
items:
type: string
format: numeric
required:
- tagIds
- vaultAccountIds
CreateConsoleUser:
type: object
properties:
firstName:
type: string
description: User's first name
example: Some First Name
lastName:
type: string
description: User' last name
example: Some Last Name
role:
$ref: '#/components/schemas/UserRole'
email:
type: string
description: User's valid email address
example: user@example.com
required:
- firstName
- lastName
- role
- email
APIUserRole:
type: string
description: The role of the API Key
enum:
- ADMIN
- SIGNER
- COLLATERALS_SIGNER
- EDITOR
- APPROVER
- VIEWER
- NON_SIGNING_ADMIN
- AUDITOR
- NCW_ADMIN
- NCW_SIGNER
APIUser:
type: object
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
description: The name of the API Key
example: My API Key
role:
$ref: '#/components/schemas/APIUserRole'
enabled:
$ref: '#/components/schemas/UserEnabled'
status:
$ref: '#/components/schemas/UserStatus'
userType:
$ref: '#/components/schemas/UserType'
APIUsers:
type: array
items:
$ref: '#/components/schemas/APIUser'
GetAPIUsersResponse:
type: object
properties:
users:
$ref: '#/components/schemas/APIUsers'
required:
- users
CreateAPIUser:
type: object
properties:
role:
$ref: '#/components/schemas/APIUserRole'
name:
type: string
description: User Name
example: MyAPIEditor
csrPem:
type: string
description: >
API requests are authenticated by providing in each request:
a. API Key in the `X-API-Key` header
b. Auth header - `Authorization: Bearer <JWT>` while the JWT is signed with an RSA 4096 private key.
When creating a new API Key, you need to generate an RSA 4096
private key and a CSR file.
The CSR file is uploaded to Fireblocks upon the user creation and
used later on for signature validation (Auth JWT signature
validation).
For more info read the following
[article](https://developers.fireblocks.com/docs/manage-api-keys)
example: >-
-----BEGIN CERTIFICATE REQUEST-----aaa-----END CERTIFICATE
REQUEST-----
coSignerSetupType:
type: string
description: >
Required for Signer/Admin API users that planned to be paired with
an API Co-Signer Machine.
- SGX_MACHINE: For SGX enabled servers
- FIREBLOCKS_CCMT: Fireblocks Communal Co-Signer (for Testnet
workspaces only)
- NITRO_MACHINE: For AWS Nitro Enclave enabled servers
- GCP_CONFIDENTIAL_SPACE: For GCP Confidential Space servers
For more information about Fireblocks Co-Signer setup please read
the following
[article](https://support.fireblocks.io/hc/en-us/articles/12006018592156-API-Co-Signer-Overview).
enum:
- SGX_MACHINE
- FIREBLOCKS_CCMT
- NITRO_MACHINE
coSignerSetupIsFirstUser:
type: boolean
description: >-
Pass as `true`` if this is the first user on the your Co-Signer
machine
required:
- role
- name
- csrPem
GetWhitelistIpAddressesResponse:
type: object
properties:
userId:
type: string
description: The ID of the user
example: ceb990eb-838d-4de0-accf-924e8132dd67
whitelistedIps:
nullable: true
type: array
items:
type: string
example:
- 246.59.202.145
- 170.198.11.101
description: List of whitelisted ip addresses
SmartTransferTicketTerm:
type: object
description: Data object with result data
nullable: true
properties:
id:
type: string
description: Unique id of Smart Transfer ticket term
example: 84601ee2-b10f-4aa8-be9c-dba259a3533a
ticketId:
type: string
description: Unique id of Smart Transfer ticket
example: 900f04c3-83bc-428d-b681-aef682059637
asset:
type: string
description: Asset name
example: BTC
x-fb-entity: asset
amount:
type: string
description: Amount
example: '133.789161216184'
amountUsd:
type: string
description: Amount USD
example: '1333.789161216184'
fromNetworkId:
type: string
description: Identifier of the origination Network Profile
example: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670
fromNetworkIdName:
type: string
description: Source network name
example: Source network profile name
toNetworkId:
type: string
description: Identifier of the destination Network Profile
example: 5d009697-c29b-48e0-aff8-1f4305d19dc2
toNetworkIdName:
type: string
description: Destination network name
example: Destination network profile name
txHash:
type: string
description: Blockchain TX hash
example: '0x2446f1fd773fbb9f080e674b60c6a033c7ed7427b8b9413cf28a2a4a6da9b56c'
nullable: true
fbTxId:
type: string
description: >-
Fireblocks transaction ID. It is set when the funding transaction is
created.
example: 79075e8c-1fd9-4c97-9575-3bd9229e5c0d
nullable: true
txStatus:
type: string
description: Ticket term transaction status
example: COMPLETED
nullable: true
enum:
- queued
- submitted
- pendingSignature
- pendingAuthorization
- broadcasting
- confirming
- pendingAmlScreening
- completed
- cancelled
- failed
- rejected
- blocked
- thirdPartyPendingManualApproval
- thirdPartyPending
- partiallyCompleted
- cancelling
status:
type: string
description: Ticket term status
example: CREATED
nullable: false
enum:
- CREATED
- FUNDING
- FUNDING_FAILED
- FUNDED
- REJECTED
createdAt:
format: date-time
type: string
description: Date and time when the term is created.
example: '2023-03-01T11:23:00Z'
updatedAt:
format: date-time
type: string
description: Date and time of last term update.
example: '2023-03-01T11:23:00Z'
required:
- id
- ticketId
- asset
- amount
- fromNetworkId
- fromNetworkIdName
- toNetworkId
- toNetworkIdName
- txHash
- fbTxId
- txStatus
- status
- createdAt
- updatedAt
SmartTransferTicket:
type: object
description: Data object with result data
nullable: true
properties:
id:
type: string
description: Unique id of Smart Transfer ticket
example: 118320d2-761f-46c7-96cf-65e71a370b36
type:
type: string
enum:
- ASYNC
description: Kind of Smart Transfer. Can be either `ASYNC` or `ATOMIC`
example: ASYNC
direction:
enum:
- EXCHANGE
- SEND
- RECEIVE
- INTERMEDIATE
type: string
description: Direction of Smart Transfer.
example: EXCHANGE
status:
enum:
- DRAFT
- PENDING_APPROVAL
- OPEN
- IN_SETTLEMENT
- FULFILLED
- EXPIRED
- CANCELED
type: string
description: Current status of Smart Transfer ticket
example: DRAFT
terms:
description: Ticket terms (legs)
example:
- id: 84601ee2-b10f-4aa8-be9c-dba259a3533a
ticketId: 118320d2-761f-46c7-96cf-65e71a370b36
amount: '10.00'
asset: ETH
fromNetworkId: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670
toNetworkId: 5d009697-c29b-48e0-aff8-1f4305d19dc2
status: CREATED
- id: 84601ee2-b10f-4aa8-be9c-dba259a3533a
ticketId: 118320d2-761f-46c7-96cf-65e71a370b36
amount: '10.00'
asset: ETH
fromNetworkId: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670
fromNetworkIdName: Source network profile 1
toNetworkId: 5d009697-c29b-48e0-aff8-1f4305d19dc2
toNetworkIdName: Destination network profile 1
status: FUNDING
connectionId: 14817440-d5c8-4dbd-a754-ad415683610c
fbTxId: 79075e8c-1fd9-4c97-9575-3bd9229e5c0d
createdAt: '2023-03-01T11:23:00.000Z'
updatedAt: '2023-03-01T11:23:00.000Z'
- id: 84601ee2-b10f-4aa8-be9c-dba259a3533a
ticketId: 118320d2-761f-46c7-96cf-65e71a370b36
amount: '10.00'
asset: ETH
fromNetworkId: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670
fromNetworkIdName: Source network profile 2
toNetworkId: 5d009697-c29b-48e0-aff8-1f4305d19dc2
toNetworkIdName: Destination network profile 2
status: FUNDED
connectionId: 14817440-d5c8-4dbd-a754-ad415683610c
fbTxId: 79075e8c-1fd9-4c97-9575-3bd9229e5c0d
txHash: >-
0xb5c8bd9430b6cc87a0e2fe110ece6bf527fa4f170a4bc8cd032f768fc5219838
createdAt: '2023-03-01T11:23:00.000Z'
updatedAt: '2023-03-01T11:23:00.000Z'
type: array
items:
$ref: '#/components/schemas/SmartTransferTicketTerm'
expiresIn:
type: number
description: >-
Number of hours for expiration.This data is valid only it ticket not
in DRAFT state and it will be used to calculate expiresAt value
example: '13'
expiresAt:
format: date-time
type: string
description: >-
Date and time at which the ticket will expire if no funding is
performed.
example: '2023-03-01T11:23:00Z'
submittedAt:
format: date-time
type: string
description: Date and time when ticket is submitted.
example: '2023-03-01T11:23:00Z'
expiredAt:
format: date-time
type: string
description: Date and time when ticket is expired.
example: '2023-03-01T11:23:00Z'
canceledAt:
format: date-time
type: string
description: Date and time when ticket is canceled.
example: '2023-03-01T11:23:00Z'
fulfilledAt:
format: date-time
type: string
description: Date and time when ticket is fulfilled.
example: '2023-03-01T11:23:00Z'
externalRefId:
type: string
description: External Ref ID for Smart Transfer ticket.
example: 2631ffb9d8fe47c6b0825b5be28297da
note:
type: string
description: Note
example: Random note
createdByNetworkId:
type: string
description: ID of network profile that created ticket
example: 3eaa94c5-128b-4835-bb08-3111bb6564c7
createdByNetworkIdName:
type: string
description: Name of network profile that created ticket
example: Network id name
canceledByNetworkIdName:
type: string
description: Name of network profile that canceled ticket
example: Network id name
createdAt:
format: date-time
type: string
description: Date and time at which the ticket is created.
example: '2023-03-01T11:23:00Z'
updatedAt:
format: date-time
type: string
description: Date and time of last ticket update.
example: '2023-03-01T11:23:00Z'
canceledByMe:
type: boolean
createdByMe:
type: boolean
required:
- id
- type
- status
- createdByNetworkId
- createdByNetworkIdName
- createdAt
- updatedAt
SmartTransferTicketFilteredResponse:
type: object
properties:
message:
type: string
description: Result message
example: Success
nullable: true
after:
type: string
description: Unique id of next filtered result
example: 118320d2-761f-46c7-96cf-65e71a370b36
data:
description: Result that match given query criteria
type: array
items:
$ref: '#/components/schemas/SmartTransferTicket'
required:
- message
- after
- data
SmartTransferForbiddenResponse:
type: object
properties:
message:
type: string
description: Forbidden error code
example: You do not have permission to execute this action
code:
type: string
description: Error code
example: 3002
required:
- message
- code
SmartTransferCreateTicketTerm:
type: object
properties:
asset:
type: string
description: Asset name
example: BTC
x-fb-entity: asset
amount:
type: number
description: Amount
example: '133.789161216184'
fromNetworkId:
type: string
description: Identifier of the origination Network Profile
example: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670
toNetworkId:
type: string
description: Identifier of the destination Network Profile
example: 5d009697-c29b-48e0-aff8-1f4305d19dc2
required:
- asset
- amount
- fromNetworkId
- toNetworkId
SmartTransferCreateTicket:
type: object
properties:
createdByNetworkId:
type: string
example: cf6c9e4b-916a-4dae-9421-8782b20a44ea
type:
type: string
enum:
- ASYNC
- DVP
description: >-
**Note:** The `DVP` value is in Early Access and should only be used if Fireblocks
has enabled it in your workspace. Contact your Customer Success Manager for
more information.
expiresIn:
type: number
example: 24
minimum: 1
maximum: 48
description: >-
Number of hours after which an OPEN ticket will expire if no term is
funded.
terms:
type: array
items:
$ref: '#/components/schemas/SmartTransferCreateTicketTerm'
externalRefId:
type: string
maxLength: 64
example: abcdefg
note:
type: string
maxLength: 1024
example: Some Note
submit:
type: boolean
required:
- createdByNetworkId
- type
SmartTransferTicketResponse:
type: object
properties:
message:
type: string
description: Result message
example: Success
nullable: true
data:
$ref: '#/components/schemas/SmartTransferTicket'
required:
- message
SmartTransferBadRequestResponse:
type: object
properties:
message:
type: string
description: Bad request error message
example: Your request contains invalid data
code:
type: string
description: Bad request error code
example: 2e7a7a5d-c85c-4ea5-9adf-668cba8b4eb4
required:
- message
- code
SmartTransferNotFoundResponse:
type: object
properties:
message:
type: string
description: Not found error message
example: Requested entity not found
code:
type: string
description: Error code
example: c943bdb8-ada0-4ba6-8645-74fcf188a10f
required:
- message
- code
SmartTransferSetTicketExpiration:
type: object
properties:
expiresIn:
type: number
description: >-
Sets ticket expiration time (in hours) after a ticket is submitted.
If no funding source is set to any term, the ticket will
automatically expire after given time.
minimum: 1
maximum: 48
required:
- expiresIn
SmartTransferSetTicketExternalId:
type: object
properties:
externalRefId:
type: string
example: abcdefg
minLength: 5
maxLength: 64
description: >-
Each workspace can set their own external id they want to refer to
this Ticket
required:
- externalRefId
SmartTransferSubmitTicket:
type: object
properties:
expiresIn:
type: number
description: >-
Sets the ticket expiration time (in hours) after the ticket is
submitted. If no funding source is set for any term, the ticket will
automatically expire after given time. If expiresIn is not sent
ticket will not expire.
minimum: 1
maximum: 48
example: 24
SmartTransferFundDvpTicket:
type: object
properties:
fee:
type: string
description: Transaction fee
example: '0.001'
feeLevel:
type: string
enum:
- LOW
- MEDIUM
- HIGH
description: Transaction fee level.
example: MEDIUM
note:
type: string
description: Transaction note
example: Transaction note
SmartTransferTicketTermResponse:
type: object
properties:
message:
type: string
description: Result message
example: Success
nullable: true
data:
$ref: '#/components/schemas/SmartTransferTicketTerm'
required:
- message
SmartTransferUpdateTicketTerm:
type: object
properties:
asset:
type: string
description: Asset name
example: BTC
x-fb-entity: asset
amount:
type: number
description: Amount
example: '133.789161216184'
fromNetworkId:
type: string
description: Identifier of the origination Network Profile
example: 947c6115-1f5f-4fb4-9fd6-a1f9dee14670
toNetworkId:
type: string
description: Identifier of the destination Network Profile
example: 5d009697-c29b-48e0-aff8-1f4305d19dc2
required:
- asset
- amount
- fromNetworkId
- toNetworkId
SmartTransferFundTerm:
type: object
properties:
asset:
type: string
description: Asset name
example: BTC
x-fb-entity: asset
amount:
type: string
description: Amount
example: '133.789161216184'
networkConnectionId:
type: string
description: Id of the network connection used.
example: 0805153d-e77d-4f9b-8818-e507eeb2d122
srcId:
type: string
description: Id of the vault that is used as the source of the asset.
example: '2'
srcType:
type: string
description: Source of the asset.
example: VAULT_ACCOUNT
fee:
type: string
description: Transaction fee
example: '0.001'
feeLevel:
type: string
description: Transaction fee level.
example: MEDIUM
note:
type: string
description: Transaction note
example: Transaction note
required:
- asset
- amount
- networkConnectionId
- srcId
- srcType
SmartTransferApproveTerm:
type: object
properties:
asset:
type: string
description: Asset name
example: USDC
x-fb-entity: asset
amount:
type: string
description: Amount
example: '133.789161216184'
srcId:
type: string
description: Id of the vault that is used as the source of the asset.
example: '2'
fee:
type: string
description: Transaction fee
example: '0.001'
feeLevel:
type: string
enum:
- LOW
- MEDIUM
- HIGH
description: Transaction fee level.
example: MEDIUM
note:
type: string
description: Transaction note
example: Transaction note
required:
- asset
- amount
- srcId
SmartTransferManuallyFundTerm:
type: object
properties:
txHash:
type: string
maxLength: 64
example: 23bd90f86b9c65716b3929440c03dc19e5da0981632391e20a24d3057e4fa5e9
required:
- txHash
SmartTransferUserGroups:
type: object
description: Smart Transfers User Groups Object
nullable: true
properties:
userGroupIds:
description: Data object with result data
nullable: true
type: array
items:
type: string
example: 1ad4e96c-b59b-4224-84d1-ade6932cacc4
required:
- userGroupIds
SmartTransferUserGroupsResponse:
type: object
properties:
message:
type: string
description: Result message
example: Success
nullable: true
data:
$ref: '#/components/schemas/SmartTransferUserGroups'
required:
- message
SmartTransferSetUserGroups:
type: object
properties:
userGroupIds:
type: array
items:
type: string
example: 1ad4e96c-b59b-4224-84d1-ade6932cacc4
required:
- userGroupIds
SmartTransferCoinStatistic:
type: object
description: Smart transfer coin statistic
properties:
asset:
type: string
example: BTC
amount:
type: string
example: 15
SmartTransferStatistic:
type: object
description: Smart transfers statistic
properties:
inflow:
type: object
description: Inflow tickets data
properties:
coins:
type: array
items:
$ref: '#/components/schemas/SmartTransferCoinStatistic'
ticketCount:
type: integer
example: 4
outflow:
type: object
description: Outflow tickets data
properties:
coins:
type: array
items:
$ref: '#/components/schemas/SmartTransferCoinStatistic'
ticketCount:
type: integer
example: 4
totalActiveTickets:
description: Number of total active tickets
type: integer
example: 5
totalInactiveTickets:
description: Number of total inactive tickets (expired, canceled, completed)
type: integer
example: 5
required:
- inflow
- outflow
- totalActiveTickets
- totalInactiveTickets
Task:
type: object
properties:
id:
type: string
jobId:
type: string
type:
type: string
tenantId:
type: string
created:
type: number
updated:
type: number
state:
type: string
Job:
type: object
properties:
id:
type: string
tenantId:
type: string
type:
type: string
userId:
type: string
created:
type: number
updated:
type: number
state:
type: string
tasks:
type: array
items:
$ref: '#/components/schemas/Task'
Jobs:
type: array
items:
$ref: '#/components/schemas/Job'
Tasks:
type: array
items:
$ref: '#/components/schemas/Task'
Cosigner:
type: object
properties:
archived:
type: boolean
description: Whether the cosigner is archived
example: false
id:
type: string
description: The unique identifier of the cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
name:
type: string
description: The name of the cosigner
example: My Cosigner 1
nullable: true
required:
- archived
- id
CosignersPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/Cosigner'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
RenameCosigner:
type: object
properties:
name:
type: string
description: The new name of the cosigner
example: My Cosigner 1
nullable: true
ApiKey:
type: object
properties:
id:
type: string
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
lastSeen:
format: date-time
type: string
description: The date the API key was last seen
example: '2021-07-01T00:00:00.000Z'
required:
- id
- lastSeen
TravelRuleVaspForVault:
type: object
properties:
vaspDid:
description: VASP DID
type: string
example: did:ethr:0x5dddec8dd669c49304ddbcba36ccc6e0798534dc
CreateMultipleAccountsRequest:
type: object
properties:
count:
description: Count
type: integer
example: 1000
baseAssetIds:
description: Array of asset IDs
type: array
items:
type: string
example:
- "ETH"
- "BTC"
- "SOL"
names:
description: Names to assign to vault accounts. if vaultAccountNamesStartingIndex or prefix is used it'll fail
type: array
items:
type: string
example:
- "first va"
- "client 65502e71-ecdf-48da-a074-c1753befc7fb"
vaultAccountNamesStartingIndex:
description: Copy vault accounts names starting from this index. If names array is used it'll fail
type: integer
example: 0
prefix:
description: When copying from existing vault accounts (vaultAccountNamesStartingIndex) then adding a prefix to the names. If names array is used it'll fail
type: string
example: "Copied from: "
required:
- baseAssetIds
- count
JobCreated:
type: object
properties:
jobId:
type: string
CreateAssetsBulkRequest:
type: object
properties:
assetId:
description: The ID of the new asset
type: string
vaultAccountIdFrom:
description: The smallest vault account ID in the range
type: string
vaultAccountIdTo:
description: The largest vault account ID in the range
type: string
GetExchangeAccountsCredentialsPublicKeyResponse:
type: object
properties:
publicKey:
type: string
description: Public key string
tenantId:
type: string
description: Tenant identifier
required:
- publicKey
- tenantId
AssetClass:
type: string
example: FT
enum:
- NATIVE
- FT
- FIAT
- NFT
- SFT
AssetDetailsOnchain:
type: object
properties:
symbol:
type: string
description: The asset symbol
example: USDT
name:
type: string
description: The asset name
example: Tether USD
address:
type: string
description: The asset address
example: "0xdAC17F958D2ee523a2206206994597C13D831ec8"
decimals:
type: number
description: Number of decimals
example: 6
standards:
description: Supported standards
type: array
items:
type: string
example:
- ERC20
required:
- symbol
- name
- decimals
Media:
type: object
properties:
url:
type: string
description: Media URL
example: https://example.com/image.png
type:
type: string
description: Media type
example: image/svg+xml
enum:
- image/svg+xml
- image/png
attributes:
description: Media attributes
type: object
properties:
monochrome:
type: boolean
description: Monochrome flag
example: true
required:
- url
- type
AssetDetailsMetadata:
type: object
properties:
scope:
$ref: '#/components/schemas/AssetScope'
deprecated:
type: boolean
description: Is asset deprecated
example: false
deprecationReferralId:
type: string
description: New asset ID replacement
example: 056776ab-9efa-4219-9820-9ece0cc4d90d
verified:
type: boolean
description: Is asset verified by Fireblocks
example: false
website:
type: string
description: Vendor’s website
example: https://example.org
media:
description: Asset’s media
type: array
items:
$ref: '#/components/schemas/Media'
note:
$ref: '#/components/schemas/AssetNote'
features:
description: Asset features
type: array
items:
$ref: '#/components/schemas/AssetFeature'
required:
- scope
- verified
- deprecated
AssetFeature:
type: string
description: Asset feature
example: STABLECOIN
enum:
- STABLECOIN
AssetNote:
type: object
properties:
text:
type: string
description: Note content
example: "Pay attention to ETH gas fees"
userId:
type: string
format: uuid
description: Who updated the note (UUID)
example: "056776ab-9efa-4219-9820-9ece0cc4d90d"
userName:
type: string
description: User name
example: "Test test"
updatedAt:
type: string
format: date-time
description: ISO Timestamp when last updated
example: "2025-06-08T19:42:49.000Z"
required:
- text
- userId
- userName
- updatedAt
AssetMetadataRequest:
type: object
properties:
note:
$ref: '#/components/schemas/AssetNoteRequest'
AssetNoteRequest:
type: object
properties:
text:
type: string
description: Asset user note
example: "Pay attention to ETH gas fees"
UpdateAssetUserMetadataRequest:
type: object
properties:
metadata:
$ref: '#/components/schemas/AssetMetadataRequest'
Asset:
type: object
properties:
id:
type: string
description: The ID of the asset
example: 9f9f7062-df90-4fc0-8697-96685184358d
legacyId:
type: string
description: The Legacy ID of the asset
example: USDT_ERC20
blockchainId:
type: string
description: The ID of the asset's blockchain
example: e85208ff-3b15-44e9-af14-0ed0280b2a15
displayName:
type: string
description: Asset's display name
example: Tether USD
displaySymbol:
type: string
description: Asset's display symbol
example: USDT
assetClass:
$ref: '#/components/schemas/AssetClass'
onchain:
$ref: '#/components/schemas/AssetDetailsOnchain'
metadata:
$ref: '#/components/schemas/AssetDetailsMetadata'
required:
- id
- legacyId
- assetClass
- metadata
- displayName
- displaySymbol
AssetNotFoundErrorResponse:
type: object
properties:
message:
type: string
description: Not found error code
example: Asset with specified ID not found
code:
type: number
description: Error code
example: 1504
required:
- message
- code
SetAssetPriceRequest:
type: object
properties:
currency:
type: string
description: Currency (according to ISO 4217 currency codes)
example: USD
price:
type: number
description: Price in currency
example: 3100
required:
- currency
- price
AssetPriceResponse:
type: object
properties:
legacyId:
type: string
description: The ID of the asset
example: ETH
lastUpdateAt:
type: number
description: Time of last price update
example: 1716898542
currency:
type: string
description: Currency (according to ISO 4217 currency codes)
example: USD
price:
type: number
description: Price in currency
example: 3500
source:
type: string
description: Source of the price data
example: PRIVATE
enum:
- PUBLIC
- PRIVATE
required:
- legacyId
- lastUpdateAt
- currency
- price
- source
AssetPriceForbiddenErrorResponse:
type: object
properties:
message:
type: string
description: Forbidden error message
example: Tenant is not allowed to update asset
code:
type: number
description: Error code
example: 3002
required:
- message
- code
AssetPriceNotFoundErrorResponse:
type: object
properties:
message:
type: string
description: Not found error message
example: Currency not found
code:
type: number
description: Error code
example: 3001
required:
- message
- code
BlockchainOnchain:
type: object
properties:
protocol:
type: string
description: The protocol of the blockchain
example: EVM
chainId:
type: string
description: Network/chain ID
example: 1
test:
type: boolean
description: Is test blockchain
example: false
signingAlgo:
enum:
- ECDSA_SECP256K1
- EDDSA_ED25519
type: string
description: Signing alghorithm
example: ECDSA_SECP256K1
required:
- protocol
- test
- signingAlgo
BlockchainMedia:
type: object
properties:
url:
type: string
description: Media URL
example: https://example.com/image.png
type:
type: string
description: Media type
example: image/svg+xml
enum:
- image/svg+xml
- image/png
required:
- url
- type
BlockchainExplorer:
type: object
properties:
base:
type: string
description: Explorer base url
example: https://example.com
address:
type: string
description: Explorer address url
example: https://example.com/address/{address}
tx:
type: string
description: Explorer transaction url
example: https://example.com/tx/{tx}
token:
type: string
description: Explorer token url
example: https://example.com/nft/{contract}/{tokenId}
required:
- base
AssetScope:
type: string
description: The scope of the asset
example: GLOBAL
enum:
- GLOBAL
- LOCAL
BlockchainMetadata:
type: object
properties:
scope:
$ref: '#/components/schemas/AssetScope'
deprecated:
type: boolean
description: Is blockchain deprecated
example: false
media:
description: Blockchain’s media
type: array
items:
$ref: '#/components/schemas/BlockchainMedia'
explorer:
$ref: '#/components/schemas/BlockchainExplorer'
required:
- scope
- deprecated
BlockchainResponse:
type: object
properties:
id:
type: string
description: The ID of the blockchain
example: 9f9f7062-df90-4fc0-8697-96685184357b
legacyId:
type: string
description: The old blockchain ID representation of the blockchain
example: ETH
displayName:
type: string
description: The name of the blockchain
example: Ethereum
nativeAssetId:
type: string
description: Native asset ID of this blockchain
example: 9f9f7062-df90-4fc0-8697-96685184356a
onchain:
$ref: '#/components/schemas/BlockchainOnchain'
metadata:
$ref: '#/components/schemas/BlockchainMetadata'
required:
- id
- legacyId
- displayName
- nativeAssetId
- onchain
- metadata
ListBlockchainsResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/BlockchainResponse'
next:
type: string
description: Cursor to the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
- next
BlockchainNotFoundErrorResponse:
type: object
properties:
message:
type: string
description: Not found error code
example: Blockchain with specified ID not found
code:
type: number
description: Error code
example: 1505
required:
- message
- code
Players:
type: object
properties:
id:
type: string
description: id of the player
example: 47d3383e-37a3-43d5-90a4-de0ca8c5e258
maxLength: 36
minLength: 36
type:
enum:
- MOBILE
- CLOUD
type: string
description: Type of the player
example: MOBILE
required:
- id
- type
MpcKey:
type: object
properties:
keyId:
type: string
example: 743f82cf-b526-4148-afb1-cd71f1dfee10
maxLength: 36
minLength: 36
userId:
type: string
example: da084d02-d446-413e-b4ce-1e3256517dfd
description: The user id that owns the key
maxLength: 36
minLength: 36
algorithm:
type: number
example: 201
description: The algorithm of the key
players:
description: The players that are associated with the key
type: array
items:
$ref: '#/components/schemas/Players'
lastPreprocessedIndex:
type: number
minimum: 0
example: '6'
description: The last index used on this key
required:
- keyId
- userId
- algorithm
- players
GetMpcKeysResponse:
type: object
properties:
tenantId:
type: string
example: bdb57751-921d-45d5-99fd-344cffb364f6
description: The workspace id of the keys
maxLength: 36
minLength: 36
keys:
description: The keys that are associated with the workspace
type: array
items:
$ref: '#/components/schemas/MpcKey'
required:
- tenantId
- keys
SearchNetworkIdsResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/NetworkIdResponse'
next:
type: string
AddCosignerRequest:
type: object
properties:
apiKeyId:
type: string
description: The id of the API key to be paired with the cosigner
example: 123e4567-e89b-12d3-a456-426614174000
format: uuid
name:
type: string
description: The name of the cosigner
example: My Cosigner 1
minLength: 1
existingCosigner:
type: boolean
description: Whether the cosigner already exists in another workspace
default: false
example: false
required:
- apiKeyId
- name
AddCosignerResponse:
type: object
properties:
apiKeyId:
type: string
description: The id of the API key to be paired with the cosigner
example: 123e4567-e89b-12d3-a456-426614174000
format: uuid
name:
type: string
description: The name of the cosigner
example: My Cosigner 1
minLength: 1
existingCosigner:
type: boolean
description: Whether the cosigner already exists in another workspace
default: false
example: false
pendingCosignerId:
type: string
description: The unique identifier of a pending cosigner
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
required:
- apiKeyId
- name
- pendingCosignerId
PairApiKeyRequest:
type: object
properties:
callbackHandler:
$ref: '#/components/schemas/CallbackHandlerRequest'
PairApiKeyResponse:
type: object
properties:
id:
type: string
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
callbackHandler:
$ref: '#/components/schemas/CallbackHandlerRequest'
required:
- id
UpdateCallbackHandlerRequest:
type: object
properties:
callbackHandler:
$ref: '#/components/schemas/CallbackHandlerRequest'
UpdateCallbackHandlerResponse:
type: object
properties:
id:
type: string
description: The unique identifier of the API key
example: 44fcead0-7053-4831-a53a-df7fb90d440f
format: uuid
callbackHandler:
$ref: '#/components/schemas/CallbackHandlerRequest'
required:
- id
CallbackHandlerRequest:
type: object
properties:
url:
type: string
description: The callback handler's URL
example: https://example.com/callback-handler
publicKey:
type: string
description: The callback handler's public key
example: |-
-----BEGIN PUBLIC KEY-----
... truncated ...-----END PUBLIC KEY-----
cert:
type: string
description: The callback handler's certificate
example: |-
-----BEGIN CERTIFICATE-----
... truncated ...
-----END CERTIFICATE-----
required:
- url
Status:
type: object
properties:
status:
type: string
description: The status of the command
enum:
- WAITING_FOR_APPROVAL
- APPROVED
- CANCELLED
- REJECTED
- COMPLETED
example: COMPLETED
type:
type: string
description: The type of the command
enum:
- PAIR_API_KEY
- UPDATE_CALLBACK_HANDLER
- UNPAIR_API_KEY
example: PAIR_API_KEY
required:
- status
- type
ApiKeysPaginatedResponse:
type: object
properties:
data:
type: array
description: The data of the current page
items:
$ref: '#/components/schemas/ApiKey'
next:
type: string
description: The ID of the next page
example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
nullable: true
required:
- data
responses:
Error:
description: Error Response
headers:
X-Request-ID:
$ref: '#/components/headers/X-Request-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchema'
parameters:
X-Idempotency-Key:
name: Idempotency-Key
in: header
description: >-
A unique identifier for the request. If the request is sent multiple
times with the same idempotency key, the server will return the same
response as the first request. The idempotency key is valid for 24
hours.
required: false
schema:
type: string
example: some-unique-id
X-End-User-Wallet-Id:
name: X-End-User-Wallet-Id
in: header
description: >-
Unique ID of the End-User wallet to the API request. Required for
end-user wallet operations.
required: false
schema:
type: string
format: uuid
example: bd53b580-f69d-4ff9-ba9b-71ef02aaee13
x-readme:
explorer-enabled: false
samples-languages:
- curl
- javascript
- python