---
title: "Get an order"
method: GET
path: "/v0/customers/orders/{id}"
tags: ["Orders"]
---

# Get an order

`GET /v0/customers/orders/{id}`

## Request

- Base URL: `https://orchestration.seismic.systems/api`
- URL: `https://orchestration.seismic.systems/api/v0/customers/orders/{id}`
- Auth: API key in header `Api-Key`

## Path parameters

- `id` string, uuid, required

## Query parameters

- `funding_instructions` FundingInstructionsVersion (unresolved $ref)

## Response `200`

The order.

- ApiOrder: An accepted order: the resolved economic legs, lifecycle status, and funding instructions when the chosen rail requires pre-funding. Returned inline from `POST /v0/quotes/:id/accept`.
  - `comment` string, nullable
  - `created_at` string, date-time, required
  - `destination` ApiOrderLeg, required: One resolved leg of an accepted order, used for both `source` and `destination`.
    - `account_id` string, uuid, nullable: The registered account on this leg. Always present on the destination leg, since a destination is always a registered account. On the source leg, present when the quote's source was an attached account and absent when it was an inline descriptor (the payment is funded via `funding_instructions` or an external wallet).
    - `amount` string, required
    - `chain` string, nullable: Chain the source funds arrived on, reported alongside `from_address`.
    - `currency` string, required
    - `from_address` string, nullable: Sending wallet address, present on the source leg of a payment funded from an external crypto wallet once Seismic has observed the settlement. Absent on fiat legs and destination legs.
    - `rail` string, required
  - `fees` QuoteFees: Fee breakdown attached to a quote. `total` is the sum across `items`, denominated in `currency` (typically the source leg's currency — what the caller pays in). When no per-item breakdown is available, `items` is empty and the fee is implicit in the quote's `rate`.
    - `currency` string, required
    - `items` QuoteFeeItem[], required
      - union: Single fee line item on a quote. The `type` field discriminates the variants.
        - object
          - `amount` string, required
          - `currency` string, required
          - `description` string, nullable
          - `type` 'flat', required
        - object
          - `amount` string, required
          - `bps` integer, required
          - `currency` string, required
          - `description` string, nullable
          - `type` 'percentage', required
        - object
          - `amount` string, required
          - `currency` string, required
          - `description` string, nullable
          - `type` 'network', required
        - object
          - `amount` string, required
          - `currency` string, required
          - `description` string, required
          - `type` 'other', required
    - `total` string, required
  - `funding_instructions` union: `funding_instructions` on the wire: the stored object by default, the [`FundingInstructions`] shape when the read asks for `v2`.
    - union: How to fund an order that waits for the payer's money. `type` says whether it is a `fiat` or a `crypto` payment, and `rail` decides exactly which details come with it.
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` UsBankAccount, required: `ach`, `wire`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
          - `routing_number` string, required: ABA routing number.
        - `rail` 'ach', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` UsBankAccount, required: `ach`, `wire`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
          - `routing_number` string, required: ABA routing number.
        - `rail` 'wire', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` SwiftAccount, required: `swift`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
          - `bic` string, required: BIC / SWIFT code of the receiving bank.
          - `routing_number` string, nullable: ABA routing number, for a US receiving bank.
        - `rail` 'swift', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` IbanAccount, required: `sepa`, `npss`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `bic` string, nullable: BIC / SWIFT code of the receiving bank.
          - `iban` string, required
        - `rail` 'sepa', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` IbanAccount, required: `sepa`, `npss`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `bic` string, nullable: BIC / SWIFT code of the receiving bank.
          - `iban` string, required
        - `rail` 'npss', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` UkBankAccount, required: `bacs`, `fps`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
          - `sort_code` string, required
        - `rail` 'bacs', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` UkBankAccount, required: `bacs`, `fps`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
          - `sort_code` string, required
        - `rail` 'fps', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` PixCode, required: `pix`.
          - `pix_code` string, required: Copy-and-paste code (BR Code) for the payer's banking app.
        - `rail` 'pix', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` BrazilianBankAccount, required: `ted`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
          - `account_subtype` 'cc' | 'pp': TED account subtype on the `br_bank` shape. Transfers with the wrong account type are rejected by the receiving bank, so the destination's type must be supplied at registration.
          - `bank_code` string, required: COMPE code of the receiving bank.
          - `branch_code` string, required: Branch (agência).
          - `tax_number` string, nullable: Account holder's CNPJ or CPF.
        - `rail` 'ted', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` MexicanBankAccount, required: `spei`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `clabe` string, required
        - `rail` 'spei', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` union, required
          - object: `coelsa`, `t3.0`: a `cbu` or an `alias`, never both.
            - `account_holder_address` string, nullable
            - `account_holder_name` string, nullable
            - `bank_address` string, nullable
            - `bank_name` string, nullable
            - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
            - `cbu` string, required
          - object: `coelsa`, `t3.0`: a `cbu` or an `alias`, never both.
            - `account_holder_address` string, nullable
            - `account_holder_name` string, nullable
            - `bank_address` string, nullable
            - `bank_name` string, nullable
            - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
            - `alias` string, required
        - `rail` 'coelsa', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` union, required
          - object: `coelsa`, `t3.0`: a `cbu` or an `alias`, never both.
            - `account_holder_address` string, nullable
            - `account_holder_name` string, nullable
            - `bank_address` string, nullable
            - `bank_name` string, nullable
            - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
            - `cbu` string, required
          - object: `coelsa`, `t3.0`: a `cbu` or an `alias`, never both.
            - `account_holder_address` string, nullable
            - `account_holder_name` string, nullable
            - `bank_address` string, nullable
            - `bank_name` string, nullable
            - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
            - `alias` string, required
        - `rail` 't3.0', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` PhilippineBankAccount, required: `instapay`, `pesonet`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
        - `rail` 'instapay', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` PhilippineBankAccount, required: `instapay`, `pesonet`.
          - `account_holder_address` string, nullable
          - `account_holder_name` string, nullable
          - `bank_address` string, nullable
          - `bank_name` string, nullable
          - `deposit_reference` string, nullable: Reference the payer must include on the transfer (memo, reference or remittance field) so it is matched to the order. If the bank limits its length, send as much as fits, from the left.
          - `account_number` string, required
        - `rail` 'pesonet', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` NoDetails, required: `nip`: the rail is paid with nothing beyond the amount.
        - `rail` 'nip', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A fiat payment: send `amount` of `currency` over `rail`, to the details in `fiat`, whose shape `rail` decides.
        - `fiat` PaymentLink, required: `pse`.
          - `payment_link` string, required: Page the payer completes the payment on.
        - `rail` 'pse', required
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the rail can carry.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `type` 'fiat', required
      - object: A crypto payment: send `amount` of `currency` to `crypto.deposit_address` on the chain `rail` names. Every chain carries the same details.
        - `amount` string, required: Exact amount to send, as a decimal string. It can differ from `source.amount` by rounding to what the chain can carry.
        - `crypto` CryptoDeposit, required
          - `deposit_address` string, required: Address to send `amount` of `currency` to, on the chain `rail` names.
          - `from_address` string, nullable: The wallet the payment is expected from, when one was given.
        - `currency` string, required: Currency to send, as on the order's `source.currency`.
        - `rail` 'arbitrum' | 'base' | 'ethereum' | 'polygon' | 'seismic' | 'solana' | 'tron', required: The chain to send on, as on the order's `source.rail`.
        - `type` 'crypto', required
    - object: The details as received; keys vary by rail and by order. Retired once every reader has moved to `v2`.
  - `id` string, uuid, required
  - `idempotency_key` string, required
  - `payment_reason` 'charitable_contributions' | 'education_fees' | 'employee_salaries_or_wages' | 'gifts' | 'investments' | 'dividend' | 'purchase_of_goods' | 'purchase_of_services' | 'personal_transfers' | 'rent' | 'loans' | 'utility_bills' | 'family_support' | 'friends_support' | 'real_estate' | 'insurance' | 'intercompany_transfer' | 'taxes' | 'travel': Why a payment is being made. Banks key compliance decisions off this, so downstream settlement networks require one of these fixed categories on every payment. Partner-facing: supplied on the accept request, persisted on the order, and mapped to the settlement network's enum at dispatch. Distinct from [`SourceOfFunds`] — that answers *where the money came from*; this answers *why it's being sent*. The two are carried as separate fields end to end.
  - `reference` string, nullable
  - `source` ApiOrderLeg, required: One resolved leg of an accepted order, used for both `source` and `destination`.
    - `account_id` string, uuid, nullable: The registered account on this leg. Always present on the destination leg, since a destination is always a registered account. On the source leg, present when the quote's source was an attached account and absent when it was an inline descriptor (the payment is funded via `funding_instructions` or an external wallet).
    - `amount` string, required
    - `chain` string, nullable: Chain the source funds arrived on, reported alongside `from_address`.
    - `currency` string, required
    - `from_address` string, nullable: Sending wallet address, present on the source leg of a payment funded from an external crypto wallet once Seismic has observed the settlement. Absent on fiat legs and destination legs.
    - `rail` string, required
  - `status` 'awaiting_funds' | 'pending' | 'under_review' | 'processing' | 'sent' | 'completed' | 'expired' | 'failed' | 'canceled' | 'refunded' | 'unknown', required
  - `status_reason` string, nullable: Why the payment is in its current `status`. A payment that ended in a terminal failure — a refunded or failed order — carries the settlement network's reason code (e.g. `COMPLIANCE_BLOCKED`, `INVALID_EXTERNAL_ACCOUNT_DETAILS`). A `processing` order held for a supporting document reads `documents_required` or `documents_rejected` (submit one with `POST /customers/orders/{id}/documents`), then `documents_under_review`, then `documents_approved` once it continues. Omitted for healthy orders and when no reason was reported.
  - `transaction_hash` string, nullable: On-chain settlement hash for the order's crypto leg, present once the order settles over a blockchain rail and Seismic has observed the settlement. Absent for fiat-only orders.
  - `uetr` string, nullable: SWIFT Unique End-to-end Transaction Reference (UETR) of the order's fiat leg, present once the settlement network reports it for a wire payout. Give it to the beneficiary's bank to trace the payment. Absent for other rails and until the network reports it.

## Other responses

- `401`: Missing or invalid API key.
- `404`: Order not found.

---

[API](https://skmtc.dev/seismic/apis/seismic-orchestration-api.md) - [All operations](https://skmtc.dev/seismic/apis/seismic-orchestration-api/llms.txt) - [OpenAPI document](https://skmtc.dev/seismic/apis/seismic-orchestration-api/revisions/08ada1f159fa?raw)
