Axiym

Schemas

Data models used by the Direct Trade API.

53 schemas

Address

object
#

Registered legal address of a business.

addressRequired
string

First address line.

addressExtended
string

Second address line, where applicable.

cityRequired
string

City or locality.

district
string

State, province, or region, where applicable.

postalCodeRequired
string

Postal or ZIP code.

countryRequired
string

ISO 3166-1 alpha-2 country code.

Pattern^[A-Z]{2}$

Currency

string
#

Currency code — ISO 4217 (e.g. USD, EUR) or a supported digital currency (USDT, USDC).

AccountStatus

string
#
Allowed values
ACTIVESUSPENDEDCLOSED

Account

object
#

An account holding a currency balance. Receiving details for funding it are served by the deposit instructions.

accountIdRequired
string

Account identifier (UUID).

Formatuuid
currencyRequired
Currency

Account currency.

paymentRailsRequired
PaymentRailsCode

Rail the account settles on.

balanceRequired
Decimal

Current balance.

statusRequired
AccountStatus

Account status.

AccountRef

object
#

Compact account reference. Fetch the account via `GET /accounts/{accountId}` for the current balance and status; deposit instructions serve its payment details.

accountIdRequired
string

Account identifier (UUID).

Formatuuid
currencyRequired
Currency

Account currency.

paymentRailsRequired
PaymentRailsCode

Rail the account settles on.

PaymentRailsCode

string
#

Payment rail code the account settles on (e.g. `ZENUS_BANK`, `TRON`).

StatementEntryType

string
#

Direction of movement on the account.

Allowed values
CREDITDEBIT

StatementEntry

object
#

A posted ledger movement on an account. Entries are returned in posting order and carry the running balance, so consecutive entries reconcile against each other.

entryIdRequired
string

Ledger entry identifier (UUID).

Formatuuid
accountIdRequired
string

Account identifier (UUID).

Formatuuid
typeRequired
StatementEntryType

Credit or debit direction.

amountRequired
Decimal

Positive movement amount in the account currency; direction is in `type`.

currencyRequired
Currency

Account currency.

balanceBefore
Decimal

Running balance before this movement.

balanceAfterRequired
Decimal

Running balance after this movement.

relatedResourceType
string

Type of the linked money movement; absent for ledger adjustments with no linked resource.

Allowed values
DEPOSITWITHDRAWALCONVERSIONPAYOUT
relatedResourceId
string

Identifier of the linked resource, where present.

Formatuuid
occurredAtRequired
string

When the movement occurred. Formatted in ISO 8601.

Formatdate-time

ConversionStatus

string
#

`PENDING` awaits confirmation and appears only in the create response. `ACTIVE` is executing. `COMPLETED` means the funds were exchanged. `CANCELED` means the conversion stopped; see `reasonCode`.

Allowed values
PENDINGACTIVECOMPLETEDCANCELED

ConversionPair

object
#

An allowed exchange direction. You sell the `sell` side and buy the `buy` side. Use its stable `pairId` to create a conversion; Axiym selects the corresponding accounts.

pairIdRequired
string

Conversion pair identifier (UUID), stable for the pair and direction.

Formatuuid
pairRequired
string

Pair symbol, `<sellCurrency>-<buyCurrency>`.

sellRequired
ConversionPairSide

The side you sell.

The side you buy.

minAmountRequired
Decimal

Minimum sell amount, in the sell currency.

ConversionPairSide

object
#

One side of a conversion pair.

currencyRequired
Currency

Side currency.

paymentRailsRequired
PaymentRailsCode

Rail the side settles on.

ConversionRequest

object
#

A conversion along one of your conversion pairs. `pairId` selects the accounts on both sides; `sellAmount` is in the pair's sell currency.

pairIdRequired
string

Conversion pair identifier from `GET /conversion-pairs`.

Formatuuid
sellAmountRequired
Money

Amount to sell. Its currency must be the sell currency of the pair.

externalReference
ExternalReference

Your reference for correlation, echoed back on related objects.

Conversion

object
#
conversionIdRequired
string

Conversion identifier (UUID).

Formatuuid
pairIdRequired
string

The conversion pair this conversion runs along.

Formatuuid
statusRequired
ConversionStatus

Conversion status.

reasonCode
string

Present when `status` is `CANCELED` — the reason as reported by operations or the liquidity venue. Example: `RATE_EXPIRED`.

sellAccountRequired
AccountRef

The sell-side account, embedded as a compact reference.

sellAmountRequired
Money

Amount sold, in the sell currency.

buyAccountRequired
AccountRef

The buy-side account, embedded as a compact reference.

buyAmountRequired
Money

Amount bought and credited to the buy-side account.

rateRequired
Decimal

Units of buy currency received for one unit of sell currency.

feeRequired
Money

Fee charged, in the ISO 4217 currency of the pair. It is deducted from the sell amount when buying digital currency and from the buy proceeds when selling it.

externalReference
ExternalReference

Your reference for correlation, echoed back on related objects.

createdAtRequired
string

Creation timestamp. Formatted in ISO 8601.

Formatdate-time
completedAt
string

Completion timestamp. Formatted in ISO 8601.

Formatdate-time

ConversionEventData

object
#

A compact notification for routing and correlation. Retrieve the conversion from `GET /conversions/{conversionId}` when you need its amounts, rate, or current state.

conversionIdRequired
string

Conversion identifier (UUID).

Formatuuid
pairId
string

The conversion pair this conversion runs along.

Formatuuid
statusRequired
ConversionStatus

Conversion status at the time the event was emitted.

externalReference
ExternalReference

Your reference submitted on creation, where present.

reasonCode
string

Present on `conversion.canceled` — the reason as reported by operations or the liquidity venue. Example: `RATE_EXPIRED`.

DepositStatus

string
#

`PENDING` awaits crediting. `HELD` is temporarily on hold. `COMPLETED` was credited to the account. `CANCELED` or `REJECTED` was not completed; see `reasonCode`.

Allowed values
PENDINGHELDCOMPLETEDCANCELEDREJECTED

Deposit

object
#
depositIdRequired
string

Deposit identifier (UUID).

Formatuuid
accountRequired
AccountRef

The account the deposit credits, embedded as a compact reference.

amountRequired
Money

Amount credited to the account.

Fee charged, when any.

statusRequired
DepositStatus

Deposit status.

remitterName
string

Name of the sender, as reported by the sending bank or network.

code
string

System-assigned payment code, shown on the payment.

transactionHash
string

The transaction hash on the network. Present for wallet deposits.

reasonCode
string

Present when `status` is `CANCELED` or `REJECTED` — the reason as reported by the bank, the network, or Axiym operations. Example: `SENDER_SCREENING_FAILED`.

createdAtRequired
string

Creation timestamp. Formatted in ISO 8601.

Formatdate-time

BankDepositInstruction

object
#
beneficiaryNameRequired
string

Name of the receiving party to put on the transfer.

accountNumberRequired
string

Receiving bank account number.

swiftBicRequired
string

SWIFT/BIC code of the receiving bank.

bankNameRequired
string

Receiving bank name.

reference
string

ISO 11649 creditor reference (`RF` + check digits) assigned by Axiym, formatted in groups of four. Present when the account is funded through a shared receiving account; include it on the transfer so the deposit is matched automatically (matching ignores the spaces). Absent when the receiving account number alone identifies the Axiym account.

WalletDepositInstruction

object
#
walletAddressRequired
string

Deposit address of the account; deposits are matched by the address itself.

networkRequired
Network

Network of the wallet address.

DepositEventData

object
#

A compact notification for routing and correlation. Retrieve the deposit from `GET /deposits/{depositId}` when you need its amount, transaction hash, or current state.

depositIdRequired
string

Deposit identifier (UUID).

Formatuuid
statusRequired
DepositStatus

Deposit status at the time the event was emitted.

reasonCode
string

Present on `deposit.canceled` / `deposit.rejected` — the reason as reported by the bank, the network, or Axiym operations. Example: `SENDER_SCREENING_FAILED`.

DestinationStatus

string
#

`PENDING_REVIEW` awaits review. `ACTIVE` may fund deposits and receive withdrawals. `SUSPENDED` is temporarily unavailable. `CLOSED` is permanently retired.

Allowed values
PENDING_REVIEWACTIVESUSPENDEDCLOSED

AddressBookEntry

BankAddressBookEntry | WalletAddressBookEntry
#

An address book entry — a registered external bank account or wallet you own. The variant is signaled by its fields: a bank destination carries `accountNumber` and the `bank` block; a wallet destination carries `walletAddress` and `network`. The two sets never appear together.

BankAddressBookEntry

object
#
destinationIdRequired
string

Address book entry identifier (UUID).

Formatuuid
statusRequired
DestinationStatus

Address book entry status.

currencyRequired
Currency

Currency associated with the address book entry.

accountNumberRequired
string

Bank account number.

bankRequired
Bank

Destination bank details.

createdAt
string

Creation timestamp. Formatted in ISO 8601.

Formatdate-time

WalletAddressBookEntry

object
#
destinationIdRequired
string

Address book entry identifier (UUID).

Formatuuid
statusRequired
DestinationStatus

Address book entry status.

currencyRequired
Currency

Currency associated with the address book entry.

walletAddressRequired
string

Wallet address of the entry; static and reusable.

networkRequired
Network

Network of the wallet address.

createdAt
string

Creation timestamp. Formatted in ISO 8601.

Formatdate-time

Destination

BankDestination | WalletDestination
#

Where the funds are delivered, as recorded on the operation at creation time. This is a snapshot: it carries the account or wallet details and, when the destination was taken from the address book, its `destinationId`. It does not carry the address book entry's status or creation date; read the address book entry for its current state. - A bank destination contains `accountNumber` and `bank`. - A wallet destination contains `walletAddress` and `network`. The two field sets never appear together.

BankDestination

object
#
destinationId
string

Address book entry the destination was taken from, when applicable.

Formatuuid
currencyRequired
Currency

Currency delivered to the destination.

accountNumberRequired
string

Bank account number or IBAN.

bankRequired
Bank

Destination bank details.

WalletDestination

object
#
destinationId
string

Address book entry the destination was taken from, when applicable.

Formatuuid
currencyRequired
Currency

Currency delivered to the destination.

walletAddressRequired
string

Wallet address on the given network.

networkRequired
Network

Network of the wallet address.

Bank

object
#

Destination bank details. Present on bank destinations only. The address country selects the applicable corridor rules.

bankNameRequired
string

Bank name.

Min length1
addressRequired
BankAddress
swiftBic
string

ISO 9362 SWIFT/BIC, when required for the corridor.

Pattern^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$
clearingCode
string

Local clearing or routing code, when required for the corridor.

clearingSystemCode
string

Clearing system the code belongs to. Axiym derives it from the bank country; supply it where a country has more than one system.

BankAddress

object
#

Postal address of the bank. Only the country is required — it selects the corridor rules. Supply the rest when the corridor or a correspondent asks for it.

streetName
string
buildingNumber
string
city
string
region
string
postalCode
string
countryRequired
CountryCode

CountryCode

string
#

ISO 3166-1 alpha-2 country code.

Pattern^[A-Z]{2}$

BankDestinationRequest

object
#

Add an owned external bank account to the address book as a permitted deposit source and withdrawal recipient. The entry starts in `PENDING_REVIEW`.

currencyRequired
Currency

Currency associated with the external bank account.

accountNumberRequired
string

Bank account number.

bankRequired
Bank

Destination bank details.

WalletDestinationRequest

object
#

Add an owned external wallet to the address book as a permitted deposit source and withdrawal recipient. The entry starts in `PENDING_REVIEW`.

currencyRequired
Currency

Currency associated with the external wallet.

walletAddressRequired
string

Wallet address to register as an external account.

networkRequired
Network

Network of the wallet address.

PageInfo

object
#
hasNextPageRequired
boolean

When paginating forwards, are there more items?

endCursor
string

When paginating forwards, the cursor to continue.

WithdrawalStatus

string
#

`PENDING_CONFIRMATION` is awaiting explicit confirmation and has not started execution. `PENDING` is queued for execution. `HELD` is temporarily on hold — no action needed from you. `COMPLETED` is done. `CANCELED` and `REJECTED` did not complete (see `reasonCode`).

Allowed values
PENDING_CONFIRMATIONPENDINGHELDCOMPLETEDCANCELEDREJECTED

Withdrawal

object
#
withdrawalIdRequired
string

Withdrawal identifier (UUID).

Formatuuid
sourceAccountRequired
AccountRef

The source account, embedded as a compact reference.

sourceAmountRequired
Money

Amount debited from the source account, in the source account currency.

destinationAmountRequired
Money

Amount delivered to the destination, in the destination currency. Equals `sourceAmount` less `fee`.

feeRequired
Money

Total deducted from `sourceAmount` before delivery, in the source account currency. Zero when no fee applies.

destinationRequired
Destination

Snapshot of the destination selected by `destinationId` at creation time.

statusRequired
WithdrawalStatus

Withdrawal status.

code
string

System-assigned payment code, shown on the payment.

reference
string

Text shown to the recipient, as submitted.

supportingDocuments
SupportingDocument[]

Documents accepted with the payment. File content is not returned.

externalReference
ExternalReference

Your reference for correlation, echoed back on related objects.

transactionHash
string

The transaction hash on the network. Present for wallet withdrawals once the withdrawal is `COMPLETED`.

reasonCode
string

Present when `status` is `CANCELED` or `REJECTED` — the cancellation/rejection reason as reported by the bank, the network, or Axiym operations. Example: `INSUFFICIENT_BENEFICIARY_DETAILS`.

createdAtRequired
string

Creation timestamp. Formatted in ISO 8601.

Formatdate-time

WithdrawalRequest

object
#

A withdrawal from `sourceAccountId` to an address book entry. `sourceAmount` is debited from the source account in its currency. The `destinationId` must be `ACTIVE` and use the same currency. Creating the withdrawal returns `PENDING_CONFIRMATION`; call `POST /withdrawals/{withdrawalId}/confirm` to begin execution.

sourceAccountIdRequired
string

Source account identifier (UUID).

Formatuuid
sourceAmountRequired
Money

Amount to debit from the source account. Its currency must be the source account currency.

destinationIdRequired
string

Identifier of the address book entry to pay. It must be `ACTIVE` and in the source Axiym account's currency.

Formatuuid
reference
string

Text shown to the recipient, typically the invoice number.

Max length140
supportingDocuments
SupportingDocumentInput[]

Documents supporting the payment, such as an invoice. Required where the destination corridor requires evidence.

Max items10
externalReference
ExternalReference

Your reference for correlation, echoed back on related objects.

SupportingDocumentType

string
#

Axiym classification of evidence supplied with a payout.

Allowed values
PASSPORTNATIONAL_IDDRIVER_LICENSERESIDENCE_PERMITPROOF_OF_ADDRESSUTILITY_BILLBANK_STATEMENTTAX_CERTIFICATECERTIFICATE_OF_INCORPORATIONREGISTRY_EXTRACTARTICLES_OF_ASSOCIATIONSHAREHOLDER_REGISTERDIRECTOR_REGISTERUBO_DECLARATIONPOWER_OF_ATTORNEYBOARD_RESOLUTIONREGULATORY_LICENSEBUSINESS_LICENSEFINANCIAL_STATEMENTAUDIT_REPORTSOURCE_OF_FUNDSINVOICECONTRACTPURCHASE_ORDERPAYROLL_FILELOAN_AGREEMENTSHIPPING_DOCUMENTCUSTOMS_DECLARATIONOTHER

SupportingDocumentInput

object
#

A document supporting the payment, such as an invoice or contract. One item is one file of up to 10 MB in PDF, JPEG or PNG format; supply the file content as base64.

documentTypeRequired
SupportingDocumentType
dataRequired
string

Complete file encoded as base64 from its raw bytes. Do not include a data-URL prefix.

nameRequired
string

File name, including the extension.

Min length1Max length255

SupportingDocument

object
#

Metadata of a document accepted with the payment. File content is not returned.

documentTypeRequired
SupportingDocumentType
fileIdRequired
string

Identifier of the stored file.

Formatuuid
nameRequired
string

File name supplied with the document.

contentTypeRequired
string

MIME type detected from the file content.

sizeRequired
integer

File size in bytes.

WithdrawalEventData

object
#

A compact notification for routing and correlation. Retrieve the withdrawal from `GET /withdrawals/{withdrawalId}` when you need its amount, fees, transaction hash, or current state.

withdrawalIdRequired
string

Withdrawal identifier (UUID).

Formatuuid
statusRequired
WithdrawalStatus

Withdrawal status at the time the event was emitted.

externalReference
ExternalReference

Your reference submitted on creation, where present.

reasonCode
string

Present on `withdrawal.canceled` / `withdrawal.rejected` — the reason as reported by the bank, the network, or Axiym operations. Example: `INSUFFICIENT_BENEFICIARY_DETAILS`.

AccountMovementEventData

object
#

A posted account movement. The event includes the movement amount but not the current balance. Retrieve the account when you need its latest balance.

accountIdRequired
string

Account identifier (UUID).

Formatuuid
amountRequired
Decimal

Positive movement amount in the account currency; direction is in the event type.

currencyRequired
Currency

Account currency.

relatedResourceType
string

Type of the linked money movement; absent for movements with no linked API resource.

Allowed values
DEPOSITWITHDRAWALCONVERSIONPAYOUT
relatedResourceId
string

Identifier of the linked resource, where present.

Formatuuid
occurredAtRequired
string

When the movement occurred. Formatted in ISO 8601.

Formatdate-time

AccountStatusEventData

object
#

Account lifecycle notification.

accountIdRequired
string

Account identifier (UUID).

Formatuuid
statusRequired
AccountStatus

Account status at the time the event was emitted.

DestinationEventData

object
#

Address book entry lifecycle notification. The contract retains the `destinationId` field name and the `destination.*` event names.

destinationIdRequired
string

Address book entry identifier (UUID).

Formatuuid
statusRequired
DestinationStatus

Address book entry status when the event was emitted.

Event

object
#

Webhook event envelope delivered to your registered endpoint.

idRequired
string

Event ID. Use this for de-duplication.

Formatuuid
timestampRequired
string

Event timestamp. Formatted in ISO 8601.

Formatdate-time
type
string

Event type.

dataRequired
object

Event data.

Subscription

object
#
subscriptionIdRequired
string

Subscription identifier (UUID).

Formatuuid
endpointRequired
string

URL of the endpoint to subscribe to notifications. Must be publicly accessible, use HTTPS, and respond with a 2XX status to a POST request.

Formaturi

RequestStatus

object
#
statusRequired
string

Request status.

Allowed values
OK

Default OK

PublicKey

object
#
publicKeyIdRequired
string

Public key identifier (UUID).

Formatuuid
activeRequired
boolean

Indicates whether the key is active

algorithmRequired
string

Encryption algorithm

publicKeyRequired
string

Public Key

createdAtRequired
string

Creation timestamp. Formatted in ISO 8601.

Formatdate-time

Money

object
#

Monetary amount and its currency.

amountRequired
Decimal
currencyRequired
Currency

Decimal

string
#

Decimal number serialized as a string to preserve precision. Amounts sent to Axiym are positive and carry at most 8 decimal places.

ExternalReference

string
#

Your optional identifier for correlating the resource with your system. Axiym returns it on reads. It does not make retries safe; use `Idempotency-Key` for that.

Max length255

ValidationFieldErrors

ValidationError[] | object
#

Nested validation errors keyed by field name or array index. Leaf values are arrays of `ValidationError` objects.

One of

Network

string
#

Wallet network.

Allowed values
TRONAVALANCHE

ValidationError

object
#

One field-level validation error.

codeRequired
string

Validation rule code (e.g. 'length', 'email', 'invalid_currency', 'disbursement_account_required').

message
string | null

Human-readable message.

paramsRequired
object

Rule-specific parameters. Always includes `value` (the offending input). Additional keys depend on the rule (e.g. `min`, `max` for length).

value
unknown

The submitted value that failed validation.