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

# List Orders

> Retrieve a paginated list of onramp orders for your project to track purchases through quote, payment, KYC, and delivery.



## OpenAPI

````yaml api-reference/_open-api/OnrampAPIs.json GET /2022-06-09/orders
openapi: 3.0.1
info:
  description: |
    N/A
  version: 1.0.0
  title: Onramp
  contact:
    name: Crossmint Onramp APIs
    url: https://www.crossmint.com
    email: support@crossmint.com
servers:
  - url: https://staging.crossmint.com/api
    description: Staging environment (testnets)
  - url: https://www.crossmint.com/api
    description: Production environment (mainnets)
security: []
tags:
  - name: Onramp
    description: APIs to buy tokens with a card (onramp)
paths:
  /2022-06-09/orders:
    get:
      tags:
        - Onramp
      summary: List Orders
      description: >-
        Returns a paginated list of onramp orders for your project, newest first
        by default. Use `nextCursor` or `previousCursor` from the response to
        page through results.


        Use this endpoint to track purchases through the onramp lifecycle:
        quote, payment (including KYC and recipient verification for external
        wallets), delivery, and completed. Filter by `paymentStatus` and
        `deliveryStatus` to surface orders at each stage.


        Optional filters accept comma-separated values (maximum 20 terms per
        filter). Keep the same filter params when following cursors.


        **API scope required**: `orders.read`
      operationId: list-onramp-orders
      parameters:
        - name: cursor
          in: query
          required: false
          description: >-
            Opaque cursor from a previous response's `nextCursor` or
            `previousCursor`. Omit on the first request.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Maximum number of orders to return. Minimum 1, maximum 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 30
          example: 30
        - name: sort
          in: query
          required: false
          description: Sort direction applied to `createdAt`.
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
        - name: paymentStatus
          in: query
          required: false
          description: >-
            Filter by display payment status. These values are coarse buckets
            mapped from the raw `payment.status` field in the response.
            `quote-phase` corresponds to `requires-quote`,
            `requires-crypto-payer-address`, `crypto-payer-insufficient-funds`,
            and `crypto-payer-insufficient-funds-for-gas`. `in-progress`
            corresponds to `awaiting-payment`, `in-progress`, `requires-email`,
            `requires-recipient-verification`, `requires-kyc`, `manual-kyc`, and
            `pending-kyc-review`. `succeeded` corresponds to `completed`,
            `declined` to `failed-kyc` and other declines, `expired` to a quote
            that has expired, and `refunded` to a refunded payment. Orders
            matching any value are returned. Maximum 20 terms per parameter.
            Keep filter params stable when paginating with cursors.
          schema:
            type: array
            items:
              type: string
              enum:
                - quote-phase
                - in-progress
                - succeeded
                - declined
                - expired
                - refunded
            maxItems: 20
          style: form
          explode: false
        - name: deliveryStatus
          in: query
          required: false
          description: >-
            Filter by display delivery status. These values are coarse buckets
            mapped from `lineItems.delivery.status` and the fulfillment
            transaction state. `not-started` corresponds to `awaiting-payment`,
            `in-progress` to `in-progress`, `delivered` to `completed`, `failed`
            to `failed`, and `partial-delivery` means some line items were
            delivered while others were refunded. Orders matching any value are
            returned. Maximum 20 terms per parameter. Keep filter params stable
            when paginating with cursors.
          schema:
            type: array
            items:
              type: string
              enum:
                - not-started
                - in-progress
                - partial-delivery
                - delivered
                - failed
            maxItems: 20
          style: form
          explode: false
        - name: paymentMethod
          in: query
          required: false
          description: >-
            Comma-separated list of currencies matched against
            `payment.totalPaid.currency`. The `fiat` value matches all fiat
            payment methods. Maximum 20 terms per parameter.
          schema:
            type: array
            items:
              type: string
            maxItems: 20
          style: form
          explode: false
          example: usd,fiat
        - name: recipientAddress
          in: query
          required: false
          description: >-
            Exact match on buyer wallet address (`buyer.mintTo`). Supports EVM
            and Solana addresses. Maximum 20 terms per parameter.
          schema:
            type: array
            items:
              type: string
            maxItems: 20
          style: form
          explode: false
        - name: orderId
          in: query
          required: false
          description: >-
            Exact match on order ID (`orderIdentifier`). Maximum 20 terms per
            parameter.
          schema:
            type: array
            items:
              type: string
              format: uuid
            maxItems: 20
          style: form
          explode: false
      responses:
        '200':
          description: Orders retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrdersResponse'
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Response'
        '403':
          description: Forbidden. Ensure your API key has the `orders.read` scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403Response'
      security:
        - apiKey: []
components:
  schemas:
    ListOrdersResponse:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          description: Page of onramp orders in the requested sort order.
          items:
            $ref: '#/components/schemas/OrderObject'
        nextCursor:
          type: string
          nullable: true
          description: >-
            Cursor to fetch the next page. Absent when there are no more
            results.
        previousCursor:
          type: string
          nullable: true
          description: Cursor to fetch the previous page. Absent on the first page.
    400Response:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          description: Human-readable error message describing what went wrong
        code:
          type: string
          description: Machine-readable error code for programmatic handling
    403Response:
      type: object
      properties:
        error:
          type: boolean
          example: true
        message:
          type: string
          example: Malformed API key. / API key provided doesn't have required scopes.
    OrderObject:
      type: object
      properties:
        orderId:
          type: string
          example: b2959ca5-65e4-466a-bd26-1bd05cb4f837
        phase:
          type: string
          enum:
            - quote
            - payment
            - delivery
            - completed
          description: The current phase of the order lifecycle.
          example: payment
        lineItems:
          type: array
          items:
            type: object
            properties:
              chain:
                type: string
                example: solana
              metadata:
                type: object
                properties:
                  name:
                    type: string
                    example: USDC
                  description:
                    type: string
                    example: USDC Token
                  imageUrl:
                    type: string
                    example: https://cryptologos.cc/logos/usd-coin-usdc-logo.svg
              quote:
                type: object
                properties:
                  status:
                    type: string
                    example: valid
                  charges:
                    type: object
                    properties:
                      unit:
                        type: object
                        properties:
                          amount:
                            type: string
                            example: '1.47'
                          currency:
                            type: string
                            example: usd
                  totalPrice:
                    type: object
                    properties:
                      amount:
                        type: string
                        example: '5'
                      currency:
                        type: string
                        example: usd
              executionMode:
                type: string
                example: exact-in
              executionParams:
                type: object
                properties:
                  mode:
                    type: string
                    example: exact-in
                  amount:
                    type: string
                    example: '5'
              delivery:
                type: object
                description: The token delivery leg of the order.
                properties:
                  status:
                    type: string
                    enum:
                      - awaiting-payment
                      - in-progress
                      - completed
                      - failed
                    description: >-
                      Status of token delivery. `awaiting-payment` until payment
                      is received, then `in-progress`, then `completed`.
                      `failed` indicates delivery could not be completed;
                      contact Crossmint support if the order reaches this state.
                    example: awaiting-payment
                  recipient:
                    type: object
                    properties:
                      locator:
                        type: string
                        example: >-
                          base-sepolia:0xBe1AA0f787456153724f710Fc20e7dCBe371DD04
                      walletAddress:
                        type: string
                        example: '0xBe1AA0f787456153724f710Fc20e7dCBe371DD04'
        quote:
          type: object
          properties:
            status:
              type: string
              enum:
                - valid
                - expired
                - requires-recipient
                - all-line-items-unavailable
              example: valid
            quotedAt:
              type: string
              example: '2025-03-07T23:04:11.996Z'
            expiresAt:
              type: string
              example: '2025-03-07T23:14:11.996Z'
            totalPrice:
              type: object
              properties:
                amount:
                  type: string
                  example: '5'
                currency:
                  type: string
                  example: usd
        payment:
          type: object
          properties:
            status:
              type: string
              enum:
                - requires-quote
                - requires-email
                - requires-crypto-payer-address
                - requires-recipient-verification
                - requires-kyc
                - manual-kyc
                - failed-kyc
                - pending-kyc-review
                - crypto-payer-insufficient-funds
                - crypto-payer-insufficient-funds-for-gas
                - awaiting-payment
                - in-progress
                - completed
              description: >-
                Status of the payment, used to determine the next action in the
                onramp flow. `requires-crypto-payer-address` means a crypto
                payer wallet is still needed. `requires-email` means the
                recipient email is missing. `requires-recipient-verification`
                applies to external wallet recipients that must prove ownership.
                `requires-kyc`, `manual-kyc`, `failed-kyc`, and
                `pending-kyc-review` cover identity verification.
                `awaiting-payment` means the buyer can complete the card
                payment. `in-progress` means the order is being fulfilled and
                `completed` means the tokens have been delivered.
              example: requires-kyc
            method:
              type: string
              example: card
            currency:
              type: string
              example: usd
            preparation:
              type: object
              properties:
                kyc:
                  type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - persona
                      example: persona
                    inquiryId:
                      type: string
                      description: >-
                        The identity verification inquiry identifier used to
                        resume or complete KYC with the provider.
                      example: inq_example-inquiry-id
                    sessionToken:
                      type: string
                      description: >-
                        Optional session token used to continue the identity
                        verification inquiry.
                    environmentId:
                      type: string
                      nullable: true
                      description: The provider environment identifier for the inquiry.
            received:
              type: object
              description: Payment receipt details. Populated once the payment is received.
              properties:
                chain:
                  type: string
                  example: base-sepolia
                txId:
                  type: string
                  example: >-
                    0x33be4e2d636a22b56cb28b858f682dd428c7f468367072e2711c09cdd42cf826
                amount:
                  type: string
                  example: '10'
                currency:
                  type: string
                  example: usd
            receiptEmail:
              type: string
              example: alice@example.com
  securitySchemes:
    apiKey:
      type: apiKey
      name: X-API-KEY
      in: header

````