Fordefi API (0.2.0)

Download OpenAPI specification:Download

Authentication

bearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Users

These endpoints allow you to get information about users in your Fordefi organization.

There are several types of users in the Fordefi platform:

Users can have one of three possible roles, which define the permissions that the user is given:

  • Admin: A user with high privileges in the organization. Only admins have permission to manage the policy, set up the backup, manage the address book, and add or remove users in the organization. Only a person can have an admin role.
  • Trader: A user who can create vaults and transactions.
  • Viewer: A user who has full view of the organization's users, addresses, and policies, as well as of the vaults and transactions, but does not have permissions to create or modify them.

The Users API is currently read-only. To add/remove users, visit the Fordefi web console.

List Users

Get a list of users in the organization.

Authorizations:
query Parameters
sort_by
Array of strings (Sort By)
Items Enum: "role_asc" "role_desc" "email_asc" "email_desc" "created_asc" "created_desc" "name_asc" "name_desc" "last_keep_alive_asc" "last_keep_alive_desc" "state_asc" "state_desc" "type_asc" "type_desc"
page
integer (Page)
Default: 1
size
integer (Size) [ 0 .. 400 ]
Default: 50

The number of items per page.

types
Array of strings (Types)
Items Enum: "person" "api_signer" "api_user" "system"

The types of the users to filter on.

roles
Array of strings (Roles)
Items Enum: "admin" "trader" "viewer"

The roles of the users to filter on.

states
Array of strings (States)
Items Enum: "active" "onboarding" "pending_approval" "deleted"

The states of the users to filter on. Is one of:

  • active: The user can perform all actions in the Fordefi platform.
  • onboarding: The user has been approved but still needs to activate the account.
  • pending_approval: The user has been invited but not yet approved.
  • deleted: The user has been deleted.

include_deleted
boolean (Include Deleted)
Default: false

True to include deleted users in the response, False otherwise.

names
Array of strings (Names)

The names of the users.

emails
Array of strings (Emails)

The emails of the users.

user_ids
Array of strings <uuid> (User Ids)

The unique identifiers of the users.

external_ids
Array of strings (External Ids)

The IDs that you assign to the end user.

group_ids
Array of strings <uuid> (Group Ids)

The unique identifiers of the user groups.

group_ids__not
Array of strings <uuid> (Group Ids Not)

The unique identifiers of the user groups to exclude.

states_on_groups
Array of strings (States On Groups)
Items Enum: "active" "pending_addition" "pending_removal"

The states of the user groups to filter group_ids on. Is one of:

  • active: The user group is active.
  • pending_addition: The user is pending to be added to the group.
  • pending_removal: The user is pending to be removed from the group.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "users": [
    ]
}

Get User

Gets the user that corresponds to the given ID.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the user to retrieve.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "user_type": "api_signer",
  • "name": "John Doe",
  • "state": "active",
  • "last_keep_alive_at": "2019-08-24T14:15:22Z"
}

Authorization Tokens

These endpoints allow you to manage end-user authorization tokens used for Fordefi's WaaS solution.

Authorization tokens allow end users to authenticate with Fordefi. Each end user can have a maximum of ten active authorization tokens at any time.

More information on authenticating end users is provided in the WaaS developer guide.

Issue Authorization Token

Issue authorization token for an end user.

Authorizations:
Request Body schema: application/json
user_type
required
string (User Type)

The type of the user.

user_id
required
string <uuid> (User Id)

ID of the end user to issue the authorization token for.

expiration
integer (Expiration) [ 1 .. 315360000 ]
Default: 86400

Token expiration in seconds (default: 1 day).

Responses

Request samples

Content type
application/json
{
  • "user_type": "end_user",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "expiration": 86400
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "expired_at": "2019-08-24T14:15:22Z",
  • "user_type": "end_user",
  • "access_token": "string"
}

List Authorization Tokens

List authorization tokens of end users.

Authorizations:
query Parameters
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

user_ids
Array of strings <uuid> (User Ids)

The unique identifiers of the users.

user_types
Array of strings (User Types)

User types to filter. Only end users are currently supported.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "auth_tokens": [
    ]
}

Delete Authorization Token

Delete authorization token of an end user.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the authorization token to delete.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Blockchains

These endpoints allow you to get information about blockchains supported by Fordefi.

List Chains

Get a list of supported blockchains.

Authorizations:
query Parameters
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

chain_types
Array of strings (Chain Types)
Items Enum: "aptos" "cosmos" "evm" "exchange" "solana" "stacks" "starknet" "sui" "ton" "tron" "utxo"
sources
Array of strings (Sources)
Items Enum: "default" "custom"

The source of the chain. Can be:

  • default: Chains with built-in support on Fordefi's platform.
  • custom: User-added chains with support on Fordefi's platform.

only_interacted_with
boolean (Only Interacted With)
Default: false

Filter and display only chains the organization have outgoing or incoming transactions.

include_mainnets
boolean (Include Mainnets)
Default: true
include_testnets
boolean (Include Testnets)
Default: true
include_exchanges
boolean (Include Exchanges)
Default: false
show_all
boolean (Show All)
Default: false

Include all chains in the response.

Responses

Response samples

Content type
application/json
{}

Get Suggested Fees

Get the suggested fees in a specific network.

Authorizations:
query Parameters
chains
Array of strings (Chains)
chain_types
Array of strings (Chain Types)
Items Enum: "aptos" "cosmos" "evm" "exchange" "solana" "stacks" "starknet" "sui" "ton" "tron" "utxo"

Responses

Response samples

Content type
application/json
{
  • "suggested_fees": {
    }
}

Webhooks

These endpoints allow you to manually trigger your pre-configured webhooks.

Use Webhooks describes how to configure webhooks, validate them, and resend them.

Test Webhook

Test a webhook.

Authorizations:
Request Body schema: application/json
url
required
string <uri> (Url) [ 1 .. 2083 ] characters

The URL of the webhook endpoint.

Responses

Callbacks

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string",
  • "error_type": "http_error"
}

Callback payload samples

Callback
POST: Webhook Event
Content type
application/json
{
  • "webhook_id": "a47606a1-5b39-4a81-9480-c2cb738ff675",
  • "created_at": "2019-08-24T14:15:22Z",
  • "event_id": "a7a26ff2-e851-45b6-9634-d595f45458b7",
  • "attempt": 1,
  • "sent_at": "2019-08-24T14:15:22Z",
  • "event": {
    },
  • "event_type": "transaction_state_update"
}

Trigger Transaction Webhook

Trigger transaction create and latest state via webhooks.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to send events for.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Address Book

These endpoints allow you to list the contacts in your address book.

To add/remove contacts, visit the Fordefi web console. See the user guide for more info.

List Contacts

Get a list of all contacts in an organization.

Authorizations:
query Parameters
sort_by
Array of strings (Sort By)
Items Enum: "created_at_asc" "created_at_desc" "modified_at_asc" "modified_at_desc" "name_asc" "name_desc"
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

contact_ids
Array of strings <uuid> (Contact Ids)

The contact IDs to filter by.

names
Array of strings (Names)

The names to filter by.

states
Array of strings (States)
Items Enum: "pending" "active" "deleted"

The states to filter by.

chain_types
Array of strings (Chain Types)
Items Enum: "aptos" "cosmos" "evm" "exchange" "solana" "stacks" "starknet" "sui" "ton" "tron" "utxo"

The chain types to filter by.

chains
Array of strings (Chains)

The chain unique ids to filter by.

asset_ids
Array of strings <uuid> (Asset Ids)

List of asset identifiers to filter on.

address_group_ids
Array of strings <uuid> (Address Group Ids)

The address group IDs to filter by.

exclude_address_group_ids
Array of strings <uuid> (Exclude Address Group Ids)

List of address group IDs to exclude.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "contacts": [
    ]
}

Transactions

These endpoints allow you to manage transactions on the Fordefi platform.

A transaction represents an operation that can be one of the following:

  • An on-chain action that modifies blockchain state
  • An off-chain cryptographically signed message or data
Consult the developer guide for more information on creating, monitoring, and simulating tranasctions.

Export Transactions

Start the export process for filtered transactions

Authorizations:
query Parameters
limit
integer (Limit)

The amount of transactions to export, unlimited if not set.

created_before
string <date-time> (Created Before)
created_after
string <date-time> (Created After)
modified_after
string <date-time> (Modified After)
vault_ids
Array of strings <uuid> (Vault Ids)

The filter applies both to transactions that have been signed by the vault and also to transactions that have interacted with the vault.

chains
Array of strings (Chains)
initiator_ids
Array of strings <uuid> (Initiator Ids)
types
Array of strings (Types)
Items Enum: "aptos_message" "aptos_transaction" "black_box_signature" "cosmos_message" "cosmos_transaction" "evm_message" "evm_transaction" "exchange_transaction" "solana_message" "solana_transaction" "stacks_transaction" "starknet_message" "starknet_transaction" "sui_message" "sui_transaction" "ton_message" "ton_transaction" "tron_transaction" "utxo_message" "utxo_transaction"
sub_types
Array of strings (Sub Types)
Items Enum: "transfer" "allowance" "cross_chain_bridge" "transaction" "contract_call" "contract_deployment" "message_signature" "allowance_signature"
signer_types
Array of strings (Signer Types)
Items Enum: "initiator" "api_signer" "end_user" "multiple_signers"
transaction_ids
Array of strings <uuid> (Transaction Ids)
end_user_ids
Array of strings <uuid> (End User Ids)
asset_ids
Array of strings <uuid> (Asset Ids)
direction
string (TransactionDirection)
Enum: "outgoing" "incoming"
transaction_hashes
Array of strings (Transaction Hashes)

Transaction hashes to filter by. Will return transactions with any of the specified hashes. The format of the hash depends on the blockchain type.

search
string (Search)

String to search transactions by ID or hash.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "creation_time": "2019-08-24T14:15:22Z",
  • "type": "csv",
  • "state": "created",
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  • "user_id": "string",
  • "resource_type": "user",
  • "successful_items_count": 0,
  • "failed_items_count": 0,
  • "total_items_count": 0,
  • "request_id": "string",
  • "download_url": "string",
  • "expiration_time": "2019-08-24T14:15:22Z"
}

Get Transaction

Retrieve transaction details.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to retrieve.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "managed_transaction_data": {
    },
  • "signatures": [
    ],
  • "note": "string",
  • "spam_state": "unset",
  • "direction": "outgoing",
  • "signed_externally": false,
  • "state": "waiting_for_approval",
  • "state_changes": [
    ],
  • "type": "aptos_message",
  • "aptos_message_type": "personal_message_type",
  • "raw_original_message_to_sign": "SGVsbG8=",
  • "string_original_message_to_sign": "string",
  • "raw_full_message_to_sign": "SGVsbG8=",
  • "string_full_message_to_sign": "string",
  • "chain": {},
  • "sender": {
    }
}

List Transactions

Get a list of all transactions in an organization.

Authorizations:
query Parameters
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

created_before
string <date-time> (Created Before)
created_after
string <date-time> (Created After)
modified_after
string <date-time> (Modified After)
vault_ids
Array of strings <uuid> (Vault Ids)

The filter applies both to transactions that have been signed by the vault and also to transactions that have interacted with the vault.

chains
Array of strings (Chains)
initiator_ids
Array of strings <uuid> (Initiator Ids)
types
Array of strings (Types)
Items Enum: "aptos_message" "aptos_transaction" "black_box_signature" "cosmos_message" "cosmos_transaction" "evm_message" "evm_transaction" "exchange_transaction" "solana_message" "solana_transaction" "stacks_transaction" "starknet_message" "starknet_transaction" "sui_message" "sui_transaction" "ton_message" "ton_transaction" "tron_transaction" "utxo_message" "utxo_transaction"
sub_types
Array of strings (Sub Types)
Items Enum: "transfer" "allowance" "cross_chain_bridge" "transaction" "contract_call" "contract_deployment" "message_signature" "allowance_signature"
signer_types
Array of strings (Signer Types)
Items Enum: "initiator" "api_signer" "end_user" "multiple_signers"
transaction_ids
Array of strings <uuid> (Transaction Ids)
end_user_ids
Array of strings <uuid> (End User Ids)
asset_ids
Array of strings <uuid> (Asset Ids)
direction
string (TransactionDirection)
Enum: "outgoing" "incoming"
transaction_hashes
Array of strings (Transaction Hashes)

Transaction hashes to filter by. Will return transactions with any of the specified hashes. The format of the hash depends on the blockchain type.

search
string (Search)

String to search transactions by ID or hash.

states
Array of strings (States)
Items Enum: "pending" "finalized" "approved" "waiting_for_signing_trigger" "stuck" "completed" "completed_reverted" "error"

State of the transaction. Can be one of:

  • pending
  • error, which can be one of:
    • error_pushing_to_blockchain
    • completed_reverted
    • error_signing
    • insufficient_funds
    • dropped
  • finalized, which can be one of:
    • completed
    • completed_reverted
    • aborted
    • error_pushing_to_blockchain
    • reverted
    • accelerated
    • canceled
    • dropped
    • error_signing
    • insufficient_funds
  • approved

is_hidden
boolean (Is Hidden)
include_full_response
boolean (Include Full Response)
Default: true
batch_ids
Array of strings <uuid> (Batch Ids)
include_blackbox
boolean (Include Blackbox)
sort_by
Array of strings (Sort By)
Items Enum: "created_at_asc" "created_at_desc" "modified_at_asc" "modified_at_desc" "type_asc" "type_desc" "chains_asc" "chains_desc" "initiators_asc" "initiators_desc" "state_asc" "state_desc"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "transactions": [
    ]
}

Create Transaction

Create a new transaction.

Authorizations:
header Parameters
x-signature
string (X-Signature)
Example: SGVsbG8=

Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends.

x-timestamp
integer (X-Timestamp)

Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.

x-idempotence-id
string <uuid> (X-Idempotence-Id)

Optional idempotence ID of a transaction.

Request Body schema: application/json
vault_id
required
string <uuid> (Vault Id)

The unique identifier of the vault.

note
string (Note)

An optional transaction note.

signer_type
string (SignerType)
Enum: "initiator" "api_signer" "end_user" "multiple_signers"
sign_mode
string (SignMode)
Enum: "auto" "triggered"
object (DappInfo)
type
required
string (Type)

Aptos message type.

required
object (AptosPersonalMessageRequest)

Responses

Request samples

Content type
application/json
Example
{
  • "vault_id": "432b199b-1f71-42bf-ba0b-33d512afa9de",
  • "note": "string",
  • "signer_type": "initiator",
  • "sign_mode": "auto",
  • "dapp_info": {
    },
  • "type": "aptos_message",
  • "details": {
    }
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "managed_transaction_data": {
    },
  • "signatures": [
    ],
  • "note": "string",
  • "spam_state": "unset",
  • "direction": "outgoing",
  • "signed_externally": false,
  • "state": "waiting_for_approval",
  • "state_changes": [
    ],
  • "type": "aptos_message",
  • "aptos_message_type": "personal_message_type",
  • "raw_original_message_to_sign": "SGVsbG8=",
  • "string_original_message_to_sign": "string",
  • "raw_full_message_to_sign": "SGVsbG8=",
  • "string_full_message_to_sign": "string",
  • "chain": {},
  • "sender": {
    }
}

Create Transaction And Wait

Create a new transaction and wait until transaction reaches given state.

Authorizations:
header Parameters
x-signature
string (X-Signature)
Example: SGVsbG8=

Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends.

x-timestamp
integer (X-Timestamp)

Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.

x-idempotence-id
string <uuid> (X-Idempotence-Id)

Optional idempotence ID of a transaction.

Request Body schema: application/json
vault_id
required
string <uuid> (Vault Id)

The unique identifier of the vault.

note
string (Note)

An optional transaction note.

signer_type
string (SignerType)
Enum: "initiator" "api_signer" "end_user" "multiple_signers"
sign_mode
string (SignMode)
Enum: "auto" "triggered"
object (DappInfo)
type
required
string (Type)

Aptos message type.

required
object (AptosPersonalMessageRequest)
timeout
integer (Timeout) [ 1 .. 50 ]
Default: 10

The maximum time in seconds to wait for the transaction to reach the specified state. For states that require more than 50 seconds, using webhooks or polling is preferable.

wait_for_state
required
string (NonPushableTransactionState)
Enum: "waiting_for_approval" "waiting_for_signing_trigger" "approved" "signed" "completed" "error_signing" "aborted"

Responses

Request samples

Content type
application/json
Example
{
  • "vault_id": "432b199b-1f71-42bf-ba0b-33d512afa9de",
  • "note": "string",
  • "signer_type": "initiator",
  • "sign_mode": "auto",
  • "dapp_info": {
    },
  • "type": "aptos_message",
  • "details": {
    },
  • "timeout": 10,
  • "wait_for_state": "waiting_for_approval"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "signatures": [
    ],
  • "state": "waiting_for_approval",
  • "has_timed_out": true
}

Approve Transaction

Approve a transaction.

A transaction awaits approval when the caller API user has been specified as a potential approver in the policy and the transaction is in the waiting_for_approval state.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to approve.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string",
  • "error_type": "invalid_transaction_state"
}

Abort Transaction

Abort a transaction.

Abort is possible only for a transaction that is in one of the following states:

  • Waiting for approval
  • Approved

The aborting user must be one of the following:

  • The user who created the transaction
  • An admin
  • A legitimate approver

API users can abort only the transactions they created.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to abort.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string",
  • "error_type": "invalid_transaction_state"
}

Release Transaction

Release a transaction.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to release.

header Parameters
x-signature
string (X-Signature)
Example: SGVsbG8=

Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends.

x-timestamp
integer (X-Timestamp)

Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.

Request Body schema: application/json
type
required
string (Type)

The type of the transaction.

release_type
required
string (ReleaseType)
Enum: "cancel" "accelerate"
signer_type
string (SignerType)
Enum: "initiator" "api_signer" "end_user" "multiple_signers"
fail_on_prediction_failure
boolean (Fail On Prediction Failure)
Default: true

True if transaction creation should fail in case prediction failed, False otherwise.
In case simulation has failed upon continuation, the expected result of the transaction will be partial and policy will be applied on information that can be extracted statically from the transaction only. This might result in falling back to the default policy rule.

note
string (Note)

An optional transaction note.

any

Using the Custom Gas Request option, you specify gas_limit, as well as the following gas details:

  • If you choose legacy (meaning a chain where gas price can be specified exactly), you must specify only the price of a gas unit.
  • If you choose dynamic (meaning a chain where gas price can be determined dynamically), you must specify two additional values:
    • max_priority_fee_per_gas, the maximum tip amount for mining your transaction
    • max_fee_per_gas, the maximum amount you are willing to pay for the fee (ultimately, either you'll pay this amount, or less, depending on the network base fee).

Note that the Legacy gas price setting is allowed on dynamic (EIP-1559) networks as well.
You can get information on gas fees for different chains by examining the response to a call to List Chains. More information is provided in EVM chains and their fee mechanisms.

Responses

Request samples

Content type
application/json
{
  • "type": "evm_transaction",
  • "release_type": "cancel",
  • "signer_type": "initiator",
  • "fail_on_prediction_failure": true,
  • "note": "string",
  • "gas": {
    }
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "managed_transaction_data": {
    },
  • "signatures": [
    ],
  • "note": "string",
  • "spam_state": "unset",
  • "direction": "outgoing",
  • "signed_externally": false,
  • "state": "waiting_for_approval",
  • "state_changes": [
    ],
  • "type": "aptos_message",
  • "aptos_message_type": "personal_message_type",
  • "raw_original_message_to_sign": "SGVsbG8=",
  • "string_original_message_to_sign": "string",
  • "raw_full_message_to_sign": "SGVsbG8=",
  • "string_full_message_to_sign": "string",
  • "chain": {},
  • "sender": {
    }
}

Predict Transaction

Simulate the transaction and changes in token balances, in addition to the fee estimation.

Authorizations:
Request Body schema: application/json
vault_id
required
string <uuid> (Vault Id)

The unique identifier of the vault.

note
string (Note)

An optional transaction note.

type
required
string (Type)

Aptos message type.

required
object (AptosPersonalMessageRequest)

Responses

Request samples

Content type
application/json
Example
{
  • "vault_id": "432b199b-1f71-42bf-ba0b-33d512afa9de",
  • "note": "string",
  • "type": "aptos_message",
  • "details": {
    }
}

Response samples

Content type
application/json
Example
{
  • "policy_match": {
    },
  • "approval_request": {
    },
  • "risks": [
    ],
  • "note": "string",
  • "type": "aptos_message",
  • "chain": {},
  • "sender": {
    },
  • "aptos_message_type": "personal_message_type",
  • "message_to_display": "string"
}

Push Transaction

Push an existing signed transaction to the chain. The transaction must have been previously created with a push_mode: manual flag and must now be in state signed.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to be pushed to chain.

Request Body schema: application/json
object (CosmosPushData)

Responses

Request samples

Content type
application/json
{
  • "push_data": {
    }
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "managed_transaction_data": {
    },
  • "signatures": [
    ],
  • "note": "string",
  • "spam_state": "unset",
  • "direction": "outgoing",
  • "signed_externally": false,
  • "state": "waiting_for_approval",
  • "state_changes": [
    ],
  • "type": "aptos_message",
  • "aptos_message_type": "personal_message_type",
  • "raw_original_message_to_sign": "SGVsbG8=",
  • "string_original_message_to_sign": "string",
  • "raw_full_message_to_sign": "SGVsbG8=",
  • "string_full_message_to_sign": "string",
  • "chain": {},
  • "sender": {
    }
}

Update Transaction Spam State

Update transaction's spam state.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to update spam state for.

Request Body schema: application/json
is_spam
required
boolean (Is Spam)

Responses

Request samples

Content type
application/json
{
  • "is_spam": true
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Trigger Transaction Signing

Trigger transaction signing.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the transaction to trigger.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Batch Transactions

These endpoints allow you to manage batch transactions on the Fordefi platform.

Batch transactions are currently supported only on Solana, for the purpose of supporting the signAllTransactions flow used by certain Solana DApps. Batch transactions undergo policy evaluation as a whole: the policy is applied to a “virtual transaction” whose list of instructions is the union of the instructions of the individual transactions in the batch, and whose balance changes are the aggregation of balance changes of the individual transactions.

Create Batch Transaction

Create a batch of transactions.
Batch transactions are currently supported only on Solana.

Authorizations:
header Parameters
x-signature
string (X-Signature)
Example: SGVsbG8=

Signature of the body. Base64 encoded string. If the request is made programatically by an API user, signing of the request is required and is intended to protect you from malicious backends.

x-timestamp
integer (X-Timestamp)

Timestamp of the signature. Integer. Specify an Epoch date. If the request is made programatically by an API user, the timestamp of the request is required and is intended to protect you from replay attacks.

x-idempotence-id
string <uuid> (X-Idempotence-Id)

Optional idempotence ID of a transaction.

Request Body schema: application/json
vault_id
required
string <uuid> (Vault Id)

The unique identifier of the vault.

note
string (Note)

An optional transaction note.

signer_type
string (SignerType)
Enum: "initiator" "api_signer" "end_user" "multiple_signers"
sign_mode
string (SignMode)
Enum: "auto" "triggered"
object (DappInfo)
type
required
string (Type)

Solana transaction type.

required
object (CreateBatchTransactionRequestDetails)

Responses

Request samples

Content type
application/json
{
  • "vault_id": "432b199b-1f71-42bf-ba0b-33d512afa9de",
  • "note": "string",
  • "signer_type": "initiator",
  • "sign_mode": "auto",
  • "dapp_info": {
    },
  • "type": "solana_transaction",
  • "details": {
    }
}

Response samples

Content type
application/json
{
  • "batch_id": "4da22c97-b7d5-4e31-8c3a-03870ebc7b20",
  • "transactions": [
    ]
}

Predict Batch Transaction

Simulate the batch of transactions and show changes in token balances, in addition to the fee estimation
Batch transactions are currently supported only on Solana.

Authorizations:
Request Body schema: application/json
vault_id
required
string <uuid> (Vault Id)

The unique identifier of the vault.

note
string (Note)

An optional transaction note.

type
required
string (Type)

The type of the transaction.

required
any

Responses

Request samples

Content type
application/json
{
  • "vault_id": "432b199b-1f71-42bf-ba0b-33d512afa9de",
  • "note": "string",
  • "type": "solana_transaction",
  • "details": {
    }
}

Response samples

Content type
application/json
{
  • "policy_match": {
    },
  • "approval_request": {
    },
  • "risks": [
    ],
  • "note": "string",
  • "aml_results": {
    },
  • "type": "solana_transaction",
  • "expected_result": {
    },
  • "chain": {},
  • "simulation_status_result": {
    },
  • "solana_transaction_type_details": {
    },
  • "sender": {
    },
  • "suggested_fees": {
    },
  • "instructions": [
    ],
  • "raw_transaction": "SGVsbG8=",
  • "was_fee_set_in_request": true
}

Abort Batch Transaction

Abort a batch of transactions.

Authorizations:
path Parameters
batch_id
required
string <uuid> (Batch Id)

ID of the batch of transactions.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string",
  • "error_type": "invalid_transaction_state"
}

Approve Batch Transaction

Approve a batch of transactions.

Authorizations:
path Parameters
batch_id
required
string <uuid> (Batch Id)

ID of the batch of transactions.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string",
  • "error_type": "invalid_transaction_state"
}

Vaults

These endpoints allow you to manage vaults.

A vault is the basic unit to manage funds. Each vault supports a single "chain family", such as EVM, Bitcoin, Solana, Cosmos, etc., determined by the vault's type. A vault supports all the chains within the chain family (e.g., an EVM vault supports all EVM chains).

List Vaults

Get a list of all vaults in an organization.

Authorizations:
query Parameters
sort_by
Array of strings (Sort By)
Items Enum: "created_at_asc" "created_at_desc" "name_asc" "name_desc" "vault_type_asc" "vault_type_desc"
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

vault_ids
Array of strings <uuid> (Vault Ids)

Vault IDs to filter on.

names
Array of strings (Names)

List of full names to filter on.

vault_types
Array of strings (Vault Types)
Items Enum: "aptos" "black_box" "cosmos" "evm" "solana" "stacks" "starknet" "sui" "ton" "tron" "utxo" "exchange"

Vault types to filter on.

vault_states
Array of strings (Vault States)
Items Enum: "active" "archived"

Vault states to filter on.

keyset_ids
Array of strings <uuid> (Keyset Ids)

List of keyset IDs to filter on.

key_holder_ids
Array of strings <uuid> (Key Holder Ids)

List of key holder IDs to filter on.

vault_group_ids
Array of strings <uuid> (Vault Group Ids)

List of vault group IDs to filter on. Filter applies to current and pending vault groups.

exclude_vault_group_ids
Array of strings <uuid> (Exclude Vault Group Ids)

List of vault group IDs to exclude.

origin_type
string (VaultOriginType)
Enum: "native" "imported"

Origin type to filter on.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "vaults": [
    ]
}

Create Vault

Create a new vault.

Authorizations:
Request Body schema: application/json
name
required
string (Name) non-empty

The name of the vault.

keyset_id
string <uuid> (Keyset Id)
Deprecated
end_user_id
string <uuid> (End User Id)

The end user id to create a vault for.This field is required for end-user vault creation, otherwise, it's optional. If not provided, the organization's default keyset will be used.

vault_group_id
string <uuid> (Vault Group Id)

The group to add this vault to. If not provided, the vault will be created in the Default vault group.

object (ImportVaultDefaultOptions)
type
required
string (Type)

Aptos vault type.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "keyset_id": "0fd01f45-0fa7-45d1-9121-c431104386a5",
  • "end_user_id": "c5ac076e-1e7a-4f0d-9ad4-cae618230def",
  • "vault_group_id": "948d8050-0dde-409f-985b-6d7b133fc9e8",
  • "import_vault": {
    },
  • "type": "aptos"
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "metadata": {
    },
  • "name": "string",
  • "created_by": {
    },
  • "vault_group": {
    },
  • "pending_vault_group_action": {
    },
  • "state": "active",
  • "derivation_path": "m/44/60/0/0/0",
  • "public_key_compressed": "SGVsbG8=",
  • "derivation_info": {
    },
  • "keyset": {
    },
  • "key_holder": {
    },
  • "origin_type": "native",
  • "type": "aptos",
  • "address": "0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a"
}

Export Vaults With Assets

Get a CSV-format list of balances of all vaults and their assets.

Authorizations:
query Parameters
vaults_ids
Array of strings <uuid> (Vaults Ids)

Vault IDs to filter on.

vault_types
Array of strings (Vault Types)
Items Enum: "aptos" "black_box" "cosmos" "evm" "solana" "stacks" "starknet" "sui" "ton" "tron" "utxo" "exchange"

Vault types to filter on.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Get Vault

Retrieve vault details.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the vault to retrieve.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "metadata": {
    },
  • "name": "string",
  • "created_by": {
    },
  • "vault_group": {
    },
  • "pending_vault_group_action": {
    },
  • "state": "active",
  • "derivation_path": "m/44/60/0/0/0",
  • "public_key_compressed": "SGVsbG8=",
  • "derivation_info": {
    },
  • "keyset": {
    },
  • "key_holder": {
    },
  • "origin_type": "native",
  • "type": "aptos",
  • "address": "0x3300c18e7b931bdfc73dccf3e2d043ad1c9d120c777fff5aeeb9956224e5247a"
}

Get Vault Asset

Get a specific asset in a vault.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the vault to retrieve.

asset_id
required
string <uuid> (Asset Id)

ID of the asset to retrieve.

query Parameters
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

Responses

Response samples

Content type
application/json
{}

Get Vault Assets

Get a list of all assets in a vault.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the vault to retrieve.

query Parameters
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

chains
Array of strings (Chains)
asset_ids
Array of strings <uuid> (Asset Ids)
is_hidden
boolean (Is Hidden)
search
string (Search)
sort_by
Array of strings (Sort By)
Items Enum: "asset_name_asc" "asset_name_desc" "chain_identifier_asc" "chain_identifier_desc" "balance_asc" "balance_desc" "market_value_asc" "market_value_desc" "price_asc" "price_desc"

Responses

Response samples

Content type
application/json
{}

Rename Vault

Rename an existing vault.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the vault to rename.

Request Body schema: application/json
name
required
string (Name) non-empty

The new name for the vault.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Create Address

Create a new address.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the vault to create address in.

Request Body schema: application/json
name
string (Name) non-empty

The name of the address.

address_type
string (BitcoinVaultCreateAddressType)
Enum: "legacy" "segwit" "taproot"
object (ImportVaultAddressOptions)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address_type": "legacy",
  • "import_address": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "vault": {
    },
  • "name": "string",
  • "balance": "1000000000000000000",
  • "balances": {
    },
  • "public_key_compressed": "SGVsbG8=",
  • "derivation_path": "m/44/60/0/0/0",
  • "type": "utxo",
  • "address": {
    }
}

List Vault Addresses

Get a list of all addresses in a vault.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the vault.

query Parameters
sort_by
Array of strings (Sort By)
Items Enum: "created_at_asc" "created_at_desc" "name_asc" "name_desc"
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

search
string (Search)
addresses
Array of strings (Addresses)

List of addresses to filter on.

address_types
Array of strings (Address Types)
Items Enum: "legacy" "p2sh" "segwit" "taproot"

List of address types to filter on.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "addresses": [
    ]
}

Rename Vault Address

Rename an existing vault address.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the vault address to rename.

Request Body schema: application/json
name
required
string (Name) non-empty

The new name for the vault.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Vault Groups

These endpoints allow you to view your vault groups.

Vault Groups are used to collectively manage policies and view permissions for a group of vaults.

The API is read-only. To manage vault groups, visit the Fordefi web console. See more info in the user guide.

List Vault Groups

Get a list of vault groups in the organization.

Authorizations:
query Parameters
sort_by
Array of strings (Sort By)
Items Enum: "created_at_asc" "created_at_desc" "name_asc" "name_desc" "vault_count_asc" "vault_count_desc"
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

vault_group_ids
Array of strings <uuid> (Vault Group Ids)

Vault group IDs to filter on.

search
string (Search)
access_level
string (ListVaultGroupsFilterByAccessLevel)
Enum: "view" "create_edit" "all"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "vault_groups": [
    ]
}

Assets

These endpoints allow you to get information about the assets in your organization, including metadata, balances, and prices.

Fordefi supports native assets and fungible tokens on each of the supported blockchains, and on many chains also non-fungible tokens.

Assets are chain-specific, meaning that USDC on Ethereum is different from USDC on Polygon.

Get Owned Asset

Get a a specific asset owned by an organization.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the asset to retrieve.

Responses

Response samples

Content type
application/json
{}

List Owned Assets

Get a list of all assets owned by an organization.

Authorizations:
query Parameters
chains
Array of strings (Chains)
asset_ids
Array of strings <uuid> (Asset Ids)
is_hidden
boolean (Is Hidden)
search
string (Search)
vault_ids
Array of strings <uuid> (Vault Ids)
end_user_ids
Array of strings <uuid> (End User Ids)
sort_by
Array of strings (Sort By)
Items Enum: "asset_name_asc" "asset_name_desc" "chain_identifier_asc" "chain_identifier_desc" "balance_asc" "balance_desc" "market_value_asc" "market_value_desc" "price_asc" "price_desc"
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

Responses

Response samples

Content type
application/json
{}

Update Asset Configuration

Update the asset's configuration under the entire organization.

Authorizations:
Request Body schema: application/json
required
any (AssetIdentifierRequest)
hidden
required
boolean (Hidden)

True to hide the token when listing assets, False otherwise.

Responses

Request samples

Content type
application/json
{
  • "asset": {
    },
  • "hidden": true
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Fetch Asset Prices

Fetch the prices of assets.

Authorizations:
Request Body schema: application/json
required
Array of any (Asset Identifiers) non-empty

The assets to price.

Responses

Request samples

Content type
application/json
{
  • "asset_identifiers": [
    ]
}

Response samples

Content type
application/json
{}

Create Asset Info

Create asset infos in the Fordefi platform.

Authorizations:
Request Body schema: application/json
required
any (AssetIdentifierRequest)

Responses

Request samples

Content type
application/json
{
  • "asset_identifier": {
    }
}

Response samples

Content type
application/json
{}

End Users

These endpoints allow you to manage WaaS end-users.

End users correspond to users of the platform who has integrated the Fordefi WaaS solution. For example, in the case of a retail platform, these would be the retail consumers of the platform.

List End Users

Get a list of end users in the organization.

Authorizations:
query Parameters
sort_by
Array of strings (Sort By)
Items Enum: "created_asc" "created_desc" "end_user_last_login_asc" "end_user_last_login_desc"
include_count
boolean (Include Count)
Default: false
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

user_ids
Array of strings <uuid> (User Ids)

The unique identifiers of the users.

external_ids
Array of strings (External Ids)

The external IDs of the users.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "end_users": [
    ]
}

Create End User

Create a new end user.

Authorizations:
Request Body schema: application/json
external_id
required
string (External Id)

The ID that you assign to an end user.

Responses

Request samples

Content type
application/json
{
  • "external_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "external_id": "user|1234",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "desired_key_types": [
    ],
  • "keyset_id": "0fd01f45-0fa7-45d1-9121-c431104386a5",
  • "ecdsa": {
    },
  • "eddsa": {
    },
  • "ecdsa_stark": {
    },
  • "schnorr_secp256k1": {
    },
  • "auth_public_key": "SGVsbG8=",
  • "encrypted_device_auth_key": "SGVsbG8=",
  • "encrypted_device_shares_backups": [
    ],
  • "last_backup_at": "2019-08-24T14:15:22Z",
  • "export_allowed": true,
  • "last_export_at": "2019-08-24T14:15:22Z"
}

Get Current End User

Gets the current end user.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "external_id": "user|1234",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "desired_key_types": [
    ],
  • "keyset_id": "0fd01f45-0fa7-45d1-9121-c431104386a5",
  • "ecdsa": {
    },
  • "eddsa": {
    },
  • "ecdsa_stark": {
    },
  • "schnorr_secp256k1": {
    },
  • "auth_public_key": "SGVsbG8=",
  • "encrypted_device_auth_key": "SGVsbG8=",
  • "encrypted_device_shares_backups": [
    ],
  • "last_backup_at": "2019-08-24T14:15:22Z",
  • "export_allowed": true,
  • "last_export_at": "2019-08-24T14:15:22Z"
}

Get End User

Gets the end user that corresponds to the given ID.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the end user to retrieve.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "external_id": "user|1234",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "desired_key_types": [
    ],
  • "keyset_id": "0fd01f45-0fa7-45d1-9121-c431104386a5",
  • "ecdsa": {
    },
  • "eddsa": {
    },
  • "ecdsa_stark": {
    },
  • "schnorr_secp256k1": {
    },
  • "auth_public_key": "SGVsbG8=",
  • "encrypted_device_auth_key": "SGVsbG8=",
  • "encrypted_device_shares_backups": [
    ],
  • "last_backup_at": "2019-08-24T14:15:22Z",
  • "export_allowed": true,
  • "last_export_at": "2019-08-24T14:15:22Z"
}

Delete End User

Delete an end user.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the end user to delete.

Responses

Response samples

Content type
application/json
null

Set Export End User Keys Permissions

Allow or disable export of a keyset for an end user.

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the end user to allow export.

Request Body schema: application/json
allow
required
boolean (Allow)

Allow or disable export

Responses

Request samples

Content type
application/json
{
  • "allow": true
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

User Groups

These endpoints allow you to view your user groups.

User Groups are used to collectively manage policies and view permissions for a group of users.

The API is read-only. To manage user groups, visit the Fordefi web console. See more info in the user guide.

List User Groups

Get a list of user groups

Authorizations:
query Parameters
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

states
Array of strings (States)
Items Enum: "active" "deleted"
user_group_ids
Array of strings <uuid> (User Group Ids)
user_ids
Array of strings <uuid> (User Ids)
modified_by
Array of strings <uuid> (Modified By)
name
string (Name) non-empty
search
string (Search) non-empty
sort_by
Array of strings (Sort By)
Items Enum: "created_at_asc" "created_at_desc" "modified_at_asc" "modified_at_desc" "name_asc" "name_desc" "users_count_asc" "users_count_desc"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "user_groups": [
    ]
}

Get User Group

Retrieve user group details

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the user group to retrieve.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "modified_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "users_count": 0,
  • "admins_count": 0,
  • "state": "active",
  • "modified_by": {
    },
  • "proposed_change": {
    }
}

Audit Log

These endpoints allow you to manage audit logs.

Audit logs are used to track the actions of users in your organization.

List Audit Log Records

Get a list of audit log records.

Authorizations:
query Parameters
page
integer (Page) >= 1
Default: 1

The page number to fetch.

size
integer (Size) [ 0 .. 100 ]
Default: 50

The number of items per page.

created_by
Array of strings <uuid> (Created By)
created_before
string <date-time> (Created Before)
created_after
string <date-time> (Created After)
category
Array of strings (Category)
Items Enum: "policy" "quorum_threshold" "user_management" "vaults" "address_book" "address_group" "backup" "webhook" "vault_group" "user_group" "aml_policy" "chains" "device_backup" "import_keys"

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "page": 0,
  • "size": 0,
  • "audit_log_records": [
    ]
}

Export Audit Log

Get a CSV-format list of audit log records.

Authorizations:
query Parameters
created_by
Array of strings <uuid> (Created By)
created_before
string <date-time> (Created Before)
created_after
string <date-time> (Created After)
category
Array of strings (Category)
Items Enum: "policy" "quorum_threshold" "user_management" "vaults" "address_book" "address_group" "backup" "webhook" "vault_group" "user_group" "aml_policy" "chains" "device_backup" "import_keys"

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Exports

These endpoints allow you to manage asynchronous actions such as data exports.

Get Export

Get an export by ID

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the export to retrieve.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "creation_time": "2019-08-24T14:15:22Z",
  • "type": "csv",
  • "state": "created",
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  • "user_id": "string",
  • "resource_type": "user",
  • "successful_items_count": 0,
  • "failed_items_count": 0,
  • "total_items_count": 0,
  • "request_id": "string",
  • "download_url": "string",
  • "expiration_time": "2019-08-24T14:15:22Z"
}

Abort Export

Abort an export by ID

Authorizations:
path Parameters
id
required
string <uuid> (Id)

ID of the export to abort.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string",
  • "error_type": "reverted_transaction"
}

Organizations

Import Keys

Imports keys for an organization.

Authorizations:
Request Body schema: application/json
type
required
string (Type)
key_name
required
string (Key Name)

The name of the key to import.

backup_zip_content
required
string (Backup Zip Content)

The base64 encoded content of the Fireblocks backup zip file.

rsa_pem
string (Rsa Pem)

The base64 encoded RSA private key used to encrypt the cosigner shares in PEM format.If not provided, the default RSA key will be used.

rsa_pem_password
string (Rsa Pem Password)

The password for RSA private key.

Responses

Request samples

Content type
application/json
{
  • "type": "fireblocks",
  • "key_name": "string",
  • "backup_zip_content": "SGVsbG8=",
  • "rsa_pem": "SGVsbG8=",
  • "rsa_pem_password": "string"
}

Response samples

Content type
application/json
{
  • "keys": [
    ]
}

Abort Import Keys

Aborts the import keys process for an organization.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "request_id": "string",
  • "system_error_code": "string"
}

Get Import Keys Status

Gets the import keys status for an organization.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "state": "not_started"
}

List Keys

Lists the imported keys for an organization.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "keys": [
    ]
}