Fordefi API (0.2.0)

Download OpenAPI description
Languages
Servers
Production
https://api.fordefi.com/

Users

This resource collection represents users.

User types and roles

There are several types of user in the Fordefi platform:
  • Person: A human user of the platform. Only a person can have an admin role.
  • API User: An API client key that is trying to interact with the platform.See Create an API user and token.
  • API Signer: Used to auto-sign transactions. See Automate Signing with API Signer.
  • End user: For Consumer Wallets. It represents the user of a third-party platform.
In addition, for all users (except end users in WaaS solutions) there are three possible user 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 them.

Operations

List Users

Request

Get a list of users in the organization.

Query
sort_byArray of strings
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"
pageinteger
Default 1
sizeinteger[ 0 .. 400 ]

The number of items per page.

Default 50
typesArray of strings

The types of the users to filter on.

Items Enum"person""api_signer""api_user""system"
rolesArray of strings

The roles of the users to filter on.

Items Enum"admin""trader""viewer"
statesArray of strings

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.

Items Enum"active""onboarding""pending_approval""deleted"
include_deletedboolean

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

Default false
namesArray of strings

The names of the users.

emailsArray of strings

The emails of the users.

user_idsArray of strings(uuid)

The unique identifiers of the users.

external_idsArray of strings

The IDs that you assign to the end user.

group_idsArray of strings(uuid)

The unique identifiers of the user groups.

group_ids__notArray of strings(uuid)

The unique identifiers of the user groups to exclude.

states_on_groupsArray of strings

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.

Items Enum"active""pending_addition""pending_removal"
curl -i -X GET \
  'https://api.fordefi.com/api/v1/users?emails=string&external_ids=string&group_ids=497f6eca-6276-4993-bfeb-53cbbbba6f08&group_ids__not=497f6eca-6276-4993-bfeb-53cbbbba6f08&include_deleted=false&names=string&page=1&roles=admin&size=50&sort_by=role_asc&states=active&states_on_groups=active&types=person&user_ids=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
totalintegerrequired
pageintegerrequired
sizeintegerrequired
usersArray of anyrequired
Response
application/json
{ "total": 0, "page": 0, "size": 0, "users": [ { … } ] }

Get User

Request

Gets the user that corresponds to the given ID.

Path
idstring(uuid)required

ID of the user to retrieve.

curl -i -X GET \
  'https://api.fordefi.com/api/v1/users/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Successful Response

Bodyapplication/json
idstring(uuid)required

The unique identifier of the object in the Fordefi platform.

created_atstring(date-time)required

The date and time when the object was created.

modified_atstring(date-time)required

The date and time when the object was last modified. Any change to any field of the resource is considered a modification.

user_typestringrequired

The type of the user.

Discriminator
Value "api_signer"
namestringrequired

The name of the user.

Example: "John Doe"
statestringrequired

The state of the user. 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.
  • deleted: The user has been deleted.

Enum"active""onboarding""deleted"
last_keep_alive_atstring(date-time)

The last date and time when API Signer sent a keep-alive.

Response
application/json
{ "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

This resource collection represents authorization tokens.

These tokens allow end users to authenticate with Fordefi. Each end user can have a maximum of ten active authorization tokens at any time. Each token is valid for 24 hours only.

Instructions for creating an API user and token are provided here: Create an API user and token.

Operations

Blockchains

This resource collection represents blockchains.

Operations

Webhooks

This resource collection represents webhooks.

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

Operations

Address Book

This resource collection represents an address book.

Address Book is an object that represents a contact (saved blockchain address and its alias) in the platform. The Address Book object can either be queried directly or returned as part of a transaction.

Operations

Transactions

This resource collection represents a transaction.

A transaction is any object that can be signed cryptographically (with a private key).

In general, it can be one of the following types:

  • EVM Transaction: A native currency transfer or a smart contract call on an EVM-based chain.
  • EVM Message: In which a message is signed for off-chain use on an EVM-based chain.
  • Solana Transaction: A list of instructions to invoke on a Solana-based chain.
  • Cosmos Transaction: A transaction in the Cosmos ecosystem on Cosmos Hub or one of the supported app chains.
  • Black Box Signature: In which a payload is signed for use, external to the Fordefi platform.
  • Cosmos Message
  • Solana Message
For more information, see Transaction Types.

Monitor transactions

As transactions progress from creation through completion, they can follow several workflows, during which they take on various statuses. Status is returned in the state field of the Get Transaction and List Transaction requests.

For a list of possible statuses, see Transaction Lifecycle.

Operations

Batch Transactions

This resource collection represents a batch transaction.

Operations

Vaults

This resource collection represents a vault.

The vault is the basic unit to manage funds. A vault has a single public address but is multi-chain, meaning you can use it across all chains that are compatible with the address and are supported by Fordefi.

Operations

Vault Groups

This resource collection represents a vault group.

Operations

Assets

This resource collection represents assets.

  • 'Assets', in general, refer to the assets that are supported by Fordefi and can be held by an organization. The Fetch Asset Prices API, for example, returns the current prices of all the assets that are recognized by the system.
  • 'Owned assets' reflects the balance of specific assets that are owned by an organization.

Operations

End Users

This resource collection represents end users.

End users are the users of a third-party app that embeds cryptographic technology provided by Fordefi. Each end user's mobile device can have a unique key-share, where Fordefi holds the matching key-share.

Operations

User Groups

This resource collection represents user groups.

Operations

Exports

This resource collection represents asynchronous export states.

Operations

Organizations

Operations