Axiym

Events

Trade API webhooks cover client onboarding and availability, withdrawals, deposits, conversions, registered external accounts, and posted Axiym account balance movements. Each event is delivered as a webhook envelope with a type and a compact data payload.

Webhooks are notifications, not state transfer: the payload carries just enough to route the event and correlate it with your records. Fetch the corresponding resource from the Trade API when you need its complete or latest state.

Event envelope

FieldDescription
idUnique webhook event identifier. Use this for de-duplication.
timestampTime when Axiym created the event.
typeEvent name.
dataCompact event payload.

The exact data schema and a full payload example for every event are in the Events reference — it is the source of truth for webhook payloads.

Client events

EventMeaning
client.createdAxiym created a client record for the partnership.
client.updatedAxiym updated a client record. A disabled or archived update also emits client.disabled.
client.onboarding-finishedDeprecated. Legacy activation event, emitted alongside client.activated during migration.
client.activatedA client became available for Trade API operations, initially or after being disabled.
client.disabledA client is no longer available for new Trade API operations.

Use client.activated as the asynchronous signal to move an API-onboarded client forward. Use its clientId to fetch the onboarding case, then use /clients/{clientId}/... paths only when the final status is ACTIVE.

Withdrawal events

EventMeaning
withdrawal.createdA withdrawal was created and is awaiting execution.
withdrawal.heldA withdrawal was stopped by a review, compliance, or operational gate.
withdrawal.completedA withdrawal completed successfully.
withdrawal.canceledA withdrawal was canceled before completion. Carries reasonCode.
withdrawal.rejectedA withdrawal was rejected and will not complete. Carries reasonCode.

Axiym account events

EventMeaning
account.creditedA posted movement credited the Axiym account. Carries the movement amount.
account.debitedA posted movement debited the Axiym account. Carries the movement amount.
account.activatedThe Axiym account became active, initially or after a suspension.
account.suspendedThe Axiym account was suspended.
account.closedThe Axiym account was closed.

account.credited / account.debited describe immutable posted movements, so the amount is part of the event; the current balance is not — fetch it via GET /clients/{clientId}/accounts/{accountId}. Movements linked to an API resource carry relatedResourceType / relatedResourceId so you can correlate them with the deposit, conversion, or withdrawal you already track.

Deposit events

EventMeaning
deposit.createdAn incoming payment was detected and is awaiting crediting.
deposit.heldA deposit was stopped by a review, compliance, or operational gate.
deposit.completedA deposit completed and credited the receiving Axiym account.
deposit.canceledA deposit was canceled before the Axiym account was credited. Carries reasonCode.
deposit.rejectedA deposit was rejected and will not credit the Axiym account. Carries reasonCode.

Conversion events

EventMeaning
conversion.createdA conversion was created with a locked rate and awaits confirmation.
conversion.completedA conversion completed; the sell-side Axiym account was debited and the buy-side Axiym account was credited.
conversion.canceledA conversion was canceled, expired, or could not complete. Carries reasonCode.

Registered external-account events

The API contract retains the destination.* event names for registered external accounts. These events describe the lifecycle of the owned bank account or wallet used as a deposit source and withdrawal recipient; they do not represent a separate destination-only resource.

EventMeaning
destination.createdA registered external account was created and is awaiting review.
destination.activatedThe registered external account became available as a permitted deposit source and withdrawal recipient.
destination.suspendedThe registered external account became temporarily unavailable for deposits and withdrawals.
destination.closedThe registered external account was permanently retired.

See Registered External Accounts for the ownership model and account lifecycle.

Processing guidance

  • Verify the webhook signature before processing the payload.
  • De-duplicate deliveries by the event id.
  • Use the resource identifier and externalReference where present to correlate the event with your records.
  • Use clientId when present. Otherwise, route the event using the resource ownership mapping stored by your integration.
  • Treat webhooks as at-least-once delivery. Duplicate events can occur.
  • Fetch the corresponding resource from the API if ordering matters or if you need the latest state before continuing.