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

# List orders

> Paginated list of payment orders for the authenticated tenant, newest first.

<ParamField header="x-api-key" type="string" required placeholder="your-api-key">
  Your StarkFi API key. You can find it in your [dashboard](https://app.starkfi.io).
</ParamField>

<ParamField query="page" type="number">
  Page number (default `1`, must be ≥ 1).
</ParamField>

<ParamField query="limit" type="number">
  Page size (default `20`, maximum `100`).
</ParamField>

<ParamField query="gateway_method" type="enum<string>">
  Filter by `direct` or `subs`.
</ParamField>

<ParamField query="on_ramp" type="boolean">
  Filter by on-ramp flag (`true` / `false`).
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.starkfi.io/order/list?page=1&limit=20' \
    --header 'x-api-key: <api_key>'
  ```

  ```javascript Node.js theme={null}
  const params = new URLSearchParams({ page: "1", limit: "20" });
  const response = await fetch(
    `https://api.starkfi.io/order/list?${params}`,
    { headers: { "x-api-key": "<api_key>" } }
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.starkfi.io/order/list",
      params={"page": 1, "limit": 20},
      headers={"x-api-key": "<api_key>"},
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - Success theme={null}
  {
    "statusCode": 200,
    "success": true,
    "status": "orders_listed",
    "message": "Orders listed successfully.",
    "data": {
      "orders": [],
      "pagination": {
        "total": 0,
        "page": 1,
        "limit": 20,
        "total_pages": 0
      }
    }
  }
  ```

  ```json 400 - Bad Request theme={null}
  {
    "statusCode": 400,
    "success": false,
    "status": "invalid_parameters",
    "message": "Number must be greater than 0"
  }
  ```

  ```json 401 - Unauthorized theme={null}
  {
    "statusCode": 401,
    "success": false,
    "status": "customer_not_logged",
    "message": "Customer not logged in."
  }
  ```
</ResponseExample>

### Response

<ResponseField name="data.orders" type="array" required>
  Array of full `payment_orders` rows for the tenant.
</ResponseField>

<ResponseField name="data.pagination" type="object" required>
  <Expandable title="pagination">
    <ResponseField name="total" type="number" required>
      Total rows matching filters.
    </ResponseField>

    <ResponseField name="page" type="number" required>
      Current page.
    </ResponseField>

    <ResponseField name="limit" type="number" required>
      Page size.
    </ResponseField>

    <ResponseField name="total_pages" type="number" required>
      `ceil(total / limit)`.
    </ResponseField>
  </Expandable>
</ResponseField>
