> ## Documentation Index
> Fetch the complete documentation index at: https://docs.etherfuse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search customer orders

> Retrieves orders for a specific customer. The request body is optional — omitting it
returns the first page with defaults (pageSize 30, pageNumber 0, no filters).

Returns on/off-ramp orders only — swaps are not included. Track swaps via `swap_updated` webhooks.



## OpenAPI

````yaml /openapi.json post /ramp/customer/{customer_id}/orders
openapi: 3.1.0
info:
  title: Etherfuse FX API
  description: Partner-facing ramp API for onramps, offramps, swaps, and KYC.
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://api.sand.etherfuse.com
    description: Sandbox
security:
  - ApiKeyAuth: []
tags:
  - name: Authentication
    description: >-
      Partner JWT authentication — exchange a JWT for an access token, or launch
      a user into the app.
  - name: Lookup
    description: >-
      Public reference data: exchange rates, stablebonds, bond costs, country
      codes.
  - name: Assets
    description: Rampable stablecoins and stablebonds available per blockchain.
  - name: Bank Accounts
    description: Register and retrieve customer bank accounts.
  - name: Quotes
    description: Price quotes for onramps, offramps, and swaps.
  - name: Orders
    description: Create, track, and manage ramp orders.
  - name: Swaps
    description: Crypto-to-crypto swaps.
  - name: Sponsored
    description: Token approvals for sponsored (gasless) offramps.
  - name: Customers
    description: Customer (child-organization) records.
  - name: Wallets
    description: Register and manage customer wallets.
  - name: KYC
    description: >-
      Submit a customer's verification data, documents and questionnaire
      answers, import a verification they already passed elsewhere, and check
      where their KYC stands.
  - name: Webhooks
    description: Event notification subscriptions.
  - name: Organizations
    description: Organization identity, child orgs, and partner fees.
  - name: Statements
    description: >-
      Monthly revenue share statements for closed months, as a list or as a CSV
      or PDF download.
  - name: Deprecated
    description: >-
      Endpoints kept working until their sunset date and then removed. See the
      deprecations page for replacements and dates.
paths:
  /ramp/customer/{customer_id}/orders:
    post:
      tags:
        - Orders
      summary: Search customer orders
      description: >-
        Retrieves orders for a specific customer. The request body is optional —
        omitting it

        returns the first page with defaults (pageSize 30, pageNumber 0, no
        filters).


        Returns on/off-ramp orders only — swaps are not included. Track swaps
        via `swap_updated` webhooks.
      operationId: get_customer_orders
      parameters:
        - name: customer_id
          in: path
          description: >-
            The customer (child org) ID. Must belong to the caller's
            organization or a direct child.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PagedRequest_DateRangeFilter'
        required: true
      responses:
        '200':
          description: Paginated orders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedOrders'
        '404':
          description: >-
            No organization exists with that `customer_id`, or it is not a
            customer of your organization.
components:
  schemas:
    PagedRequest_DateRangeFilter:
      type: object
      properties:
        filters:
          type: object
          required:
            - fromDate
          properties:
            fromDate:
              type: string
              format: date-time
            toDate:
              type:
                - string
                - 'null'
              format: date-time
          example:
            fromDate: '2026-01-01T00:00:00Z'
            toDate: '2026-06-01T00:00:00Z'
        pageNumber:
          type: integer
          description: which page of results to return (starts at 0)
          minimum: 0
        pageSize:
          type: integer
          description: The number of items to get back in one page
          minimum: 0
      example:
        pageNumber: 0
        pageSize: 30
    PagedOrders:
      type: object
      description: A page of orders.
      required:
        - items
        - totalItems
        - pageSize
        - pageNumber
        - totalPages
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Order'
          description: The items on this page.
        next:
          type:
            - string
            - 'null'
          description: URL to fetch the next page of results, if available.
        pageNumber:
          type: integer
          description: Zero-based index of this page.
          example: 0
          minimum: 0
        pageSize:
          type: integer
          description: Number of items per page.
          example: 30
          minimum: 0
        totalItems:
          type: integer
          description: Total number of items across all pages.
          example: 42
          minimum: 0
        totalPages:
          type: integer
          description: Total number of pages.
          example: 2
          minimum: 0
    Order:
      type: object
      description: Order representation for WebSocket messages
      required:
        - orderId
        - customerId
        - createdAt
        - updatedAt
        - walletId
        - bankAccountId
        - orderType
        - status
        - statusPage
      properties:
        amountInFiat:
          type:
            - string
            - 'null'
          description: Amount in fiat currency (e.g. MXN).
        amountInTokens:
          type:
            - string
            - 'null'
          description: Amount in crypto tokens.
        bankAccountId:
          type: string
          format: uuid
          description: ID of the bank account used for the order.
        blockchain:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/Blockchain'
              description: Blockchain the order settles on.
        burnTransaction:
          type:
            - string
            - 'null'
          description: >-
            Encoded transaction for the user to sign (bring-your-own-wallet
            offramp orders). Embedded wallets omit this and instead surface
            `approval` on the order; sign via POST
            /ramp/order/{order_id}/approvals. See [Embedded
            Wallets](/guides/embedded-wallets).
        completedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Timestamp when the order was completed.
        confirmedTxSignature:
          type:
            - string
            - 'null'
          description: >-
            Blockchain transaction hash, set once the crypto transfer is
            confirmed.
        trackingCode:
          type:
            - string
            - 'null'
          description: >-
            SPEI tracking key (clave de rastreo) for the order's fiat transfer.
            On onramps this is the incoming deposit's clave; on offramps it is
            the outgoing payout's clave. Present once the SPEI transfer settles
            — use it to look up the CEP (Comprobante Electrónico de Pago)
            receipt. Absent until then.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the order was created.
        customerId:
          type: string
          format: uuid
          description: >-
            Organization ID associated with the order. In webhook payloads, this
            is the

            recipient organization's ID.
        deletedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Timestamp when the order was deleted (if applicable).
        depositAccountHolder:
          type:
            - string
            - 'null'
          description: >-
            Account holder name for the deposit CLABE. Hardcoded to Etherfuse MX
            for now.
        depositBankName:
          type:
            - string
            - 'null'
          description: Name of the bank that holds the deposit CLABE.
        depositClabe:
          type:
            - string
            - 'null'
          description: CLABE number for deposit (onramp orders only).
        etherfuseMidMarketRate:
          type:
            - string
            - 'null'
          description: Raw mid-market rate before fees
        exchangeRate:
          type:
            - string
            - 'null'
          description: Fee-inclusive exchange rate between source and target assets
        feeAmountInFiat:
          type:
            - string
            - 'null'
          description: >-
            Quoted fee amount in fiat currency, derived from fee_bps × order
            amount.
        feeBps:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            Fee in basis points (e.g., 20 = 0.20%). Always present when order
            was created with a quote.
          minimum: 0
        isAnchorOrder:
          type:
            - boolean
            - 'null'
          description: Whether this is an anchor order (SEP-24 mode — no pre-signed TX)
        memo:
          type:
            - string
            - 'null'
          description: Optional memo for the order.
        orderId:
          type: string
          format: uuid
          description: Unique identifier for the order.
        orderType:
          $ref: '#/components/schemas/OrderType'
          description: Type of the order (onramp/offramp/swap).
        partnerFeeAmountFiat:
          type:
            - string
            - 'null'
          description: >-
            Partner fee amount collected in fiat currency, derived from the
            total fee using the

            partner fee ratio.
        partnerFeeBps:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            Partner fee in basis points applied to this order (e.g. 100 =
            1.00%). Only present

            when a partner fee was configured at quote time.
        partnerFeeStatus:
          type:
            - string
            - 'null'
          description: >-
            Disbursement status of the partner fee. Only present when
            `partnerFeeBps` > 0:

            `none` — order not yet completed; `pending` — order completed, fee
            awaiting offline

            disbursement; `disbursed` — partner fee has been paid out.
        sourceAsset:
          type:
            - string
            - 'null'
          description: >-
            Source asset identifier. For onramps this is the fiat currency (e.g.
            `MXN`); for

            offramps it is the crypto asset identifier.
        status:
          $ref: '#/components/schemas/OrderStatus'
          description: >-
            Current status of the order. For offramps, `completed` means fiat
            has been sent to

            the customer; `finalized` means the reversal window has passed and
            the funds can no

            longer be returned.
        statusPage:
          type: string
          description: >-
            URL to an Etherfuse-branded page where the customer can view order
            status and sign

            transactions (for offramps). Can be used as an alternative to
            handling transaction

            signing in your own application. The page requires an Etherfuse sign
            in with an account in the

            order's organization or its parent organization.
        approval:
          type:
            - object
            - 'null'
          description: >-
            Pending embedded-wallet approval. Present only when the order is
            awaiting the owner's signature. The owner signs `approvalMessage`
            and submits it to POST /ramp/order/{order_id}/approvals. Re-read the
            order right before signing: `approvalMessage` embeds a timestamp
            that re-mints on each read. Delivered on the order read, the
            `order_updated` webhook, and the WebSocket stream.
          properties:
            approvalMessageId:
              type: string
              format: uuid
              description: >-
                Identifies the proposal being approved. Echoed back on submit so
                a superseded proposal (re-proposed on expiry) is rejected as
                stale.
            approvalMessage:
              type: string
              description: >-
                The exact bytes the owner signs with their key. Built fresh on
                each read so the request is current when signed.
            summary:
              type: string
              description: >-
                Human-readable description of what is being approved (e.g.
                `Claim 99.61 CETES`). Present only when set.
        stellarClaimTransaction:
          type:
            - string
            - 'null'
          description: >-
            Unsigned XDR (base64) for the claim TX (ChangeTrust +
            ClaimClaimableBalance).

            The user signs this and submits to Horizon to receive their tokens.
        stellarClaimableBalanceId:
          type:
            - string
            - 'null'
          description: >-
            Stellar claimable balance ID (hex). Present when tokens were
            delivered via claimable balance.

            The user must sign a claim TX to receive their tokens.
        targetAsset:
          type:
            - string
            - 'null'
          description: >-
            Target asset identifier. For onramps this is the crypto asset
            identifier; for

            offramps it is the fiat currency (e.g. `MXN`).
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the order was last updated.
        walletId:
          type: string
          format: uuid
          description: ID of the wallet used for the order.
        withdrawAnchorAccount:
          type:
            - string
            - 'null'
          description: Anchor destination account for SEP-24 anchor offramps
        withdrawMemo:
          type:
            - string
            - 'null'
          description: Memo to include in the anchor payment (derived from transaction_id)
        withdrawMemoType:
          type:
            - string
            - 'null'
          description: Memo type for the anchor payment (always "hash" for anchor orders)
      example:
        amountInFiat: '1000.00'
        amountInTokens: '58.42'
        bankAccountId: b2c3d4e5-f6a7-8901-bcde-f12345678901
        blockchain: stellar
        completedAt: '2026-05-02T09:16:30Z'
        createdAt: '2026-05-02T09:15:00Z'
        customerId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        depositAccountHolder: Etherfuse MX
        depositBankName: Example Bank
        depositClabe: '646180157000000004'
        etherfuseMidMarketRate: '17.15'
        exchangeRate: '17.12'
        feeAmountInFiat: '2.00'
        feeBps: 20
        orderId: 7b9c1e2d-3f4a-5b6c-7d8e-9f0a1b2c3d4e
        orderType: onramp
        sourceAsset: MXN
        status: completed
        statusPage: >-
          https://app.etherfuse.com/ramp/order/7b9c1e2d-3f4a-5b6c-7d8e-9f0a1b2c3d4e
        stellarClaimTransaction: AAAAAgAAAABk...base64_xdr...
        stellarClaimableBalanceId: 00000000abc1230000000000000000000000000000000000000000000000000000
        targetAsset: USDC:GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5
        updatedAt: '2026-05-02T09:16:30Z'
        walletId: c3d4e5f6-a7b8-9012-cdef-123456789012
    Blockchain:
      type: string
      description: |-
        Canonical blockchain enum for API serialization.
        Use this type for JSON APIs and WebSocket messages.
        For database storage, convert to `BlockchainType`.
      enum:
        - stellar
        - solana
        - base
        - polygon
        - monad
        - avalanche
    OrderType:
      type: string
      description: Order type for JSON serialization in WebSocket messages
      enum:
        - onramp
        - offramp
    OrderStatus:
      type: string
      description: Order status for JSON serialization in WebSocket messages
      enum:
        - created
        - funded
        - completed
        - failed
        - refunded
        - canceled
        - finalized
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key sent in the Authorization header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.