Schemas
Data models used by the Client Trade API.
OnboardingRequest
objectClient onboarding request.
legalEntityNameRequiredstringOfficial name of the company
incorporationDateRequiredstringDate legal entity was established
registrationDateRequiredstringDate when the company registered / joined your network
legalAddressRequiredAddressLegal Address
currencyRequiredCurrencypartnerClientIdstringUnique identifier from the partner side to maintain data mapping and ensure onboarding uniqueness.
disbursementAccountDisbursementAccountPayment Network bank account that receives funding disbursements for this client (the funding destination).
paymentRailsstringPayment Rail Code
OnboardingCase
objectSnapshot of a client onboarding application. Created in the submitted state and reviewed by Axiym compliance; while the review is in progress the status stays ONBOARDING. Once approved, the client appears in `GET /clients`; a rejected application ends in REJECTED.
clientIdRequiredstringClient identifier (UUID).
codeRequiredstringHuman-readable client code.
legalEntityNameRequiredstringOfficial name of the company
legalAddressAddressLegal Address
incorporationDatestringDate legal entity was established
registrationDatestringDate when the company registered / joined your network
statusRequiredstringOnboarding application status.
ONBOARDINGAPPROVEDREJECTEDcurrencyCurrencyCurrency code (ISO 4217 fiat or supported stablecoin).
disbursementAccountDisbursementAccountPayment Network bank account that receives funding disbursements for this client (the funding destination).
partnerClientIdstringYour own identifier for this client.
paymentRailsstringPayment rail — a configured settlement channel Axiym uses to hold and move funds: a banking partner for fiat (e.g. `ZENUS_BANK`, `FREEMARKET`) or a blockchain network for crypto (e.g. `TRON`, `AVALANCHE`). Codes are returned by `GET /settings/payment-rails`.
Client
objectclientIdRequiredstringClient identifier (UUID).
codeRequiredstringHuman-readable client code.
legalEntityNameRequiredstringOfficial name of the company
legalAddressRequiredAddressLegal Address
incorporationDateRequiredstringDate legal entity was established
registrationDateRequiredstringDate when the company registered / joined your network
statusRequiredstringClient status.
ONBOARDINGACTIVEDISABLEDcurrencyRequiredCurrencyCurrency code (ISO 4217 fiat or supported stablecoin).
disbursementAccountDisbursementAccountPayment Network bank account that receives funding disbursements for this client (the funding destination).
partnerClientIdstringYour own identifier for this client.
paymentRailsRequiredstringPayment rail — a configured settlement channel Axiym uses to hold and move funds: a banking partner for fiat (e.g. `ZENUS_BANK`, `FREEMARKET`) or a blockchain network for crypto (e.g. `TRON`, `AVALANCHE`). Codes are returned by `GET /settings/payment-rails`.
Address
objectcitystringCity portion of the address.
countryRequiredstringCountry portion of the address. Formatted as a two-letter country code specified in ISO 3166-1 alpha-2.
addressRequiredstringLine one of the street address.
addressExtendedstringLine two of the street address.
districtstringState / County / Province / Region portion of the address. If the country is US or Canada, then district is required and should use the two-letter code for the subdivision.
postalCodeRequiredstringPostal / ZIP code of the address.
DisbursementAccount
objectBank account at the Payment Network that receives funding disbursements.
accountNumberstringBank account number.
Currency
stringCurrency code — ISO 4217 (e.g. USD, EUR) or a supported digital currency (USDT, USDC).
AccountStatus
stringACTIVESUSPENDEDCLOSEDAccount
objectAn account holding a currency balance. Receiving details for funding it are served by the deposit instructions.
accountIdRequiredstringAccount identifier (UUID).
currencyRequiredCurrencyAccount currency.
paymentRailsRequiredPaymentRailsCodeRail the account settles on.
balanceRequiredDecimalCurrent balance.
statusRequiredAccountStatusAccount status.
AccountRef
objectCompact account reference. Fetch the account via `GET /clients/{clientId}/accounts/{accountId}` for the current balance and status; deposit instructions serve its payment details.
accountIdRequiredstringAccount identifier (UUID).
currencyRequiredCurrencyAccount currency.
paymentRailsRequiredPaymentRailsCodeRail the account settles on.
PaymentRailsCode
stringPayment rail code the account settles on (e.g. `ZENUS_BANK`, `TRON`).
StatementEntryType
stringDirection of movement on the account.
CREDITDEBITStatementEntry
objectA posted ledger movement on an account. Entries are returned in posting order and carry the running balance, so consecutive entries reconcile against each other.
entryIdRequiredstringLedger entry identifier (UUID).
accountIdRequiredstringAccount identifier (UUID).
typeRequiredStatementEntryTypeCredit or debit direction.
amountRequiredDecimalPositive movement amount in the account currency; direction is in `type`.
currencyRequiredCurrencyAccount currency.
balanceBeforeDecimalRunning balance before this movement.
balanceAfterRequiredDecimalRunning balance after this movement.
relatedResourceTypestringType of the linked money movement; absent for ledger adjustments with no linked resource.
DEPOSITWITHDRAWALCONVERSIONPAYOUTrelatedResourceIdstringIdentifier of the linked resource, where present.
occurredAtRequiredstringWhen the movement occurred. Formatted in ISO 8601.
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`.
PENDINGACTIVECOMPLETEDCANCELEDConversionPair
objectAn 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.
pairIdRequiredstringConversion pair identifier (UUID), stable for the pair and direction.
pairRequiredstringPair symbol, `<sellCurrency>-<buyCurrency>`.
sellRequiredConversionPairSideThe side you sell.
buyRequiredConversionPairSideThe side you buy.
minAmountRequiredDecimalMinimum sell amount, in the sell currency.
ConversionPairSide
objectOne side of a conversion pair.
currencyRequiredCurrencySide currency.
paymentRailsRequiredPaymentRailsCodeRail the side settles on.
ConversionRequest
objectA conversion along one of your conversion pairs. `pairId` selects the accounts on both sides; `sellAmount` is in the pair's sell currency.
pairIdRequiredstringConversion pair identifier from `GET /clients/{clientId}/conversion-pairs`.
sellAmountRequiredMoneyAmount to sell. Its currency must be the sell currency of the pair.
externalReferenceExternalReferenceYour reference for correlation, echoed back on related objects.
Conversion
objectconversionIdRequiredstringConversion identifier (UUID).
pairIdRequiredstringThe conversion pair this conversion runs along.
statusRequiredConversionStatusConversion status.
reasonCodestringPresent when `status` is `CANCELED` — the reason as reported by operations or the liquidity venue. Example: `RATE_EXPIRED`.
sellAccountRequiredAccountRefThe sell-side account, embedded as a compact reference.
sellAmountRequiredMoneyAmount sold, in the sell currency.
buyAccountRequiredAccountRefThe buy-side account, embedded as a compact reference.
buyAmountRequiredMoneyAmount bought and credited to the buy-side account.
rateRequiredDecimalUnits of buy currency received for one unit of sell currency.
feeRequiredMoneyFee 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.
externalReferenceExternalReferenceYour reference for correlation, echoed back on related objects.
createdAtRequiredstringCreation timestamp. Formatted in ISO 8601.
completedAtstringCompletion timestamp. Formatted in ISO 8601.
ConversionEventData
objectA compact notification for routing and correlation. Retrieve the conversion from `GET /clients/{clientId}/conversions/{conversionId}` when you need its amounts, rate, or current state.
conversionIdRequiredstringConversion identifier (UUID).
pairIdstringThe conversion pair this conversion runs along.
statusRequiredConversionStatusConversion status at the time the event was emitted.
externalReferenceExternalReferenceYour reference submitted on creation, where present.
reasonCodestringPresent on `conversion.canceled` — the reason as reported by operations or the liquidity venue. Example: `RATE_EXPIRED`.
clientIdRequiredstringAxiym identifier of the client that owns the resource.
DepositStatus
string`PENDING` awaits crediting. `HELD` is temporarily on hold. `COMPLETED` was credited to the account. `CANCELED` or `REJECTED` was not completed; see `reasonCode`.
PENDINGHELDCOMPLETEDCANCELEDREJECTEDDeposit
objectdepositIdRequiredstringDeposit identifier (UUID).
accountRequiredAccountRefThe account the deposit credits, embedded as a compact reference.
amountRequiredMoneyAmount credited to the account.
feeMoneyFee charged, when any.
statusRequiredDepositStatusDeposit status.
remitterNamestringName of the sender, as reported by the sending bank or network.
codestringSystem-assigned payment code, shown on the payment.
transactionHashstringThe transaction hash on the network. Present for wallet deposits.
reasonCodestringPresent when `status` is `CANCELED` or `REJECTED` — the reason as reported by the bank, the network, or Axiym operations. Example: `SENDER_SCREENING_FAILED`.
createdAtRequiredstringCreation timestamp. Formatted in ISO 8601.
DepositInstruction
BankDepositInstruction | WalletDepositInstructionAxiym's receiving details for the account; the shape matches the account type.
BankDepositInstruction
objectbeneficiaryNameRequiredstringName of the receiving party to put on the transfer.
accountNumberRequiredstringReceiving bank account number.
swiftBicRequiredstringSWIFT/BIC code of the receiving bank.
bankNameRequiredstringReceiving bank name.
referencestringISO 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
objectwalletAddressRequiredstringDeposit address of the account; deposits are matched by the address itself.
networkRequiredNetworkNetwork of the wallet address.
DepositEventData
objectA compact notification for routing and correlation. Retrieve the deposit from `GET /clients/{clientId}/deposits/{depositId}` when you need its amount, transaction hash, or current state.
depositIdRequiredstringDeposit identifier (UUID).
statusRequiredDepositStatusDeposit status at the time the event was emitted.
reasonCodestringPresent on `deposit.canceled` / `deposit.rejected` — the reason as reported by the bank, the network, or Axiym operations. Example: `SENDER_SCREENING_FAILED`.
clientIdRequiredstringAxiym identifier of the client that owns the resource.
Bank
objectDestination bank details. Present on bank destinations only. The address country selects the applicable corridor rules.
bankNameRequiredstringBank name.
addressRequiredBankAddressswiftBicstringISO 9362 SWIFT/BIC, when required for the corridor.
clearingCodestringLocal clearing or routing code, when required for the corridor.
clearingSystemCodestringClearing system the code belongs to. Axiym derives it from the bank country; supply it where a country has more than one system.
BankAddress
objectPostal 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.
streetNamestringbuildingNumberstringcitystringregionstringpostalCodestringcountryRequiredCountryCodeCountryCode
stringISO 3166-1 alpha-2 country code.
DestinationStatus
string`PENDING_REVIEW` awaits review. `ACTIVE` may fund deposits and receive withdrawals. `SUSPENDED` is temporarily unavailable. `CLOSED` is permanently retired.
PENDING_REVIEWACTIVESUSPENDEDCLOSEDAddressBookEntry
BankAddressBookEntry | WalletAddressBookEntryAn address book entry — a registered external bank account or wallet owned by the client. 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
objectdestinationIdRequiredstringAddress book entry identifier (UUID).
statusRequiredDestinationStatusAddress book entry status.
currencyRequiredCurrencyCurrency associated with the address book entry.
accountNumberRequiredstringBank account number.
bankRequiredBankDestination bank details.
createdAtstringCreation timestamp. Formatted in ISO 8601.
WalletAddressBookEntry
objectdestinationIdRequiredstringAddress book entry identifier (UUID).
statusRequiredDestinationStatusAddress book entry status.
currencyRequiredCurrencyCurrency associated with the address book entry.
walletAddressRequiredstringWallet address of the entry; static and reusable.
networkRequiredNetworkNetwork of the wallet address.
createdAtstringCreation timestamp. Formatted in ISO 8601.
Destination
BankDestination | WalletDestinationWhere 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
objectWalletDestination
objectBankDestinationRequest
objectAdd an owned external bank account to the address book as a permitted deposit source and withdrawal recipient. The entry starts in `PENDING_REVIEW`.
WalletDestinationRequest
objectAdd an owned external wallet to the address book as a permitted deposit source and withdrawal recipient. The entry starts in `PENDING_REVIEW`.
PageInfo
objecthasNextPageRequiredbooleanWhen paginating forwards, are there more items?
endCursorstringWhen 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`).
PENDING_CONFIRMATIONPENDINGHELDCOMPLETEDCANCELEDREJECTEDWithdrawal
objectwithdrawalIdRequiredstringWithdrawal identifier (UUID).
sourceAccountRequiredAccountRefThe source account, embedded as a compact reference.
sourceAmountRequiredMoneyAmount debited from the source account, in the source account currency.
destinationAmountRequiredMoneyAmount delivered to the destination, in the destination currency. Equals `sourceAmount` less `fee`.
feeRequiredMoneyTotal deducted from `sourceAmount` before delivery, in the source account currency. Zero when no fee applies.
destinationRequiredDestinationSnapshot of the destination selected by `destinationId` at creation time.
statusRequiredWithdrawalStatusWithdrawal status.
codestringSystem-assigned payment code, shown on the payment.
referencestringText shown to the recipient, as submitted.
supportingDocumentsSupportingDocument[]Documents accepted with the payment. File content is not returned.
externalReferenceExternalReferenceYour reference for correlation, echoed back on related objects.
transactionHashstringThe transaction hash on the network. Present for wallet withdrawals once the withdrawal is `COMPLETED`.
reasonCodestringPresent when `status` is `CANCELED` or `REJECTED` — the cancellation/rejection reason as reported by the bank, the network, or Axiym operations. Example: `INSUFFICIENT_BENEFICIARY_DETAILS`.
createdAtRequiredstringCreation timestamp. Formatted in ISO 8601.
WithdrawalRequest
objectA 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 /clients/{clientId}/withdrawals/{withdrawalId}/confirm` to begin execution.
sourceAccountIdRequiredstringSource account identifier (UUID).
sourceAmountRequiredMoneyAmount to debit from the source account. Its currency must be the source account currency.
destinationIdRequiredstringIdentifier of the address book entry to pay. It must be `ACTIVE` and in the source Axiym account's currency.
referencestringText shown to the recipient, typically the invoice number.
supportingDocumentsSupportingDocumentInput[]Documents supporting the payment, such as an invoice. Required where the destination corridor requires evidence.
externalReferenceExternalReferenceYour reference for correlation, echoed back on related objects.
SupportingDocumentType
stringAxiym classification of evidence supplied with a payout.
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_DECLARATIONOTHERSupportingDocumentInput
objectA 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.
documentTypeRequiredSupportingDocumentTypedataRequiredstringComplete file encoded as base64 from its raw bytes. Do not include a data-URL prefix.
nameRequiredstringFile name, including the extension.
SupportingDocument
objectMetadata of a document accepted with the payment. File content is not returned.
documentTypeRequiredSupportingDocumentTypefileIdRequiredstringIdentifier of the stored file.
nameRequiredstringFile name supplied with the document.
contentTypeRequiredstringMIME type detected from the file content.
sizeRequiredintegerFile size in bytes.
WithdrawalEventData
objectA compact notification for routing and correlation. Retrieve the withdrawal from `GET /clients/{clientId}/withdrawals/{withdrawalId}` when you need its amount, fees, transaction hash, or current state.
withdrawalIdRequiredstringWithdrawal identifier (UUID).
statusRequiredWithdrawalStatusWithdrawal status at the time the event was emitted.
externalReferenceExternalReferenceYour reference submitted on creation, where present.
reasonCodestringPresent on `withdrawal.canceled` / `withdrawal.rejected` — the reason as reported by the bank, the network, or Axiym operations. Example: `INSUFFICIENT_BENEFICIARY_DETAILS`.
clientIdRequiredstringAxiym identifier of the client that owns the resource.
AccountMovementEventData
objectA posted account movement. The event includes the movement amount but not the current balance. Retrieve the account when you need its latest balance.
accountIdRequiredstringAccount identifier (UUID).
amountRequiredDecimalPositive movement amount in the account currency; direction is in the event type.
currencyRequiredCurrencyAccount currency.
relatedResourceTypestringType of the linked money movement; absent for movements with no linked API resource.
DEPOSITWITHDRAWALCONVERSIONPAYOUTrelatedResourceIdstringIdentifier of the linked resource, where present.
occurredAtRequiredstringWhen the movement occurred. Formatted in ISO 8601.
clientIdRequiredstringAxiym identifier of the client that owns the resource.
AccountStatusEventData
objectAccount lifecycle notification.
accountIdRequiredstringAccount identifier (UUID).
statusRequiredAccountStatusAccount status at the time the event was emitted.
clientIdRequiredstringAxiym identifier of the client that owns the resource.
DestinationEventData
objectAddress book entry lifecycle notification. The contract retains the `destinationId` field name and the `destination.*` event names.
destinationIdRequiredstringAddress book entry identifier (UUID).
statusRequiredDestinationStatusAddress book entry status when the event was emitted.
clientIdRequiredstringAxiym identifier of the client that owns the resource.
Event
objectWebhook event envelope delivered to your registered endpoint.
idRequiredstringEvent ID. Use this for de-duplication.
timestampRequiredstringEvent timestamp. Formatted in ISO 8601.
typestringEvent type.
dataRequiredobjectEvent data.
Subscription
objectsubscriptionIdRequiredstringSubscription identifier (UUID).
endpointRequiredstringURL of the endpoint to subscribe to notifications. Must be publicly accessible, use HTTPS, and respond with a 2XX status to a POST request.
RequestStatus
objectstatusRequiredstringRequest status.
OKDefault OK
PublicKey
objectpublicKeyIdRequiredstringPublic key identifier (UUID).
activeRequiredbooleanIndicates whether the key is active
algorithmRequiredstringEncryption algorithm
publicKeyRequiredstringPublic Key
createdAtRequiredstringCreation timestamp. Formatted in ISO 8601.
Money
objectMonetary amount and its currency.
Decimal
stringDecimal number serialized as a string to preserve precision. Amounts sent to Axiym are positive and carry at most 8 decimal places.
ExternalReference
stringYour 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.
ValidationFieldErrors
ValidationError[] | objectNested validation errors keyed by field name or array index. Leaf values are arrays of `ValidationError` objects.
ValidationError[]objectNetwork
stringWallet network.
TRONAVALANCHEValidationError
objectOne field-level validation error.
codeRequiredstringValidation rule code (e.g. 'length', 'email', 'invalid_currency', 'disbursement_account_required').
messagestring | nullHuman-readable message.
paramsRequiredobjectRule-specific parameters. Always includes `value` (the offending input). Additional keys depend on the rule (e.g. `min`, `max` for length).
valueunknownThe submitted value that failed validation.