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

# List Customers

> Retrieve a paginated list of all customers

Retrieve a paginated list of all customers for your account. Deleted customers are not included.

<Note>
  Remember to include the `X-API-Version: 2026-03-01` header in your request to use this API version.
</Note>

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token authentication.
</ParamField>

<ParamField header="X-API-Version" type="string" required>
  Must be `2026-03-01`.
</ParamField>

## Query Parameters

<ParamField query="cursor" type="string">
  Pagination cursor from a previous response. Use the `last_customer_id` from the previous response.
</ParamField>

## Response

<ResponseField name="customers" type="array">
  Array of customer objects.
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether there are more customers to fetch.
</ResponseField>

<ResponseField name="last_customer_id" type="string">
  The ID of the last customer in this response. Use as `cursor` for the next page.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.numeralhq.com/tax/customers" \
    -H "Authorization: Bearer sk_test_xxx" \
    -H "X-API-Version: 2026-03-01"
  ```

  ```bash cURL (with pagination) theme={null}
  curl "https://api.numeralhq.com/tax/customers?cursor=cust_6126acaf-7379-411a-8ada-00005bac0715" \
    -H "Authorization: Bearer sk_test_xxx" \
    -H "X-API-Version: 2026-03-01"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - Success theme={null}
  {
    "customers": [
      {
        "id": "cust_6126acaf-7379-411a-8ada-00005bac0715",
        "object": "tax.customer",
        "reference_customer_id": "20506",
        "name": "Customer Name",
        "email": "customer@example.com",
        "is_tax_exempt": false
      },
      {
        "id": "cust_9876543210abcdef",
        "object": "tax.customer",
        "reference_customer_id": "20507",
        "name": "Tax Exempt Customer",
        "email": "exempt@example.com",
        "is_tax_exempt": true
      }
    ],
    "has_more": true,
    "last_customer_id": "cust_9876543210abcdef"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml GET /tax/customers
openapi: 3.0.1
info:
  title: Numeral API
  description: >-
    API for sales tax calculations - Version 2026-03-01. This version adds
    IP-based tax resolution for calculations and platform calculations, in
    addition to Merchant management and Platform Calculations.
  license:
    name: MIT
  version: '2026-03-01'
servers:
  - url: https://api.numeralhq.com/
security:
  - bearerAuth: []
paths:
  /tax/customers:
    get:
      summary: List Customers
      description: >-
        Retrieve a paginated list of all customers. Deleted customers are not
        included.
      operationId: listCustomers_v20260301
      parameters:
        - name: X-API-Version
          in: header
          required: true
          schema:
            type: string
            enum:
              - '2026-03-01'
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >-
            Pagination cursor from previous response. Use the `last_customer_id`
            from the previous response.
      responses:
        '200':
          description: List of customers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerListResponse'
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CustomerListResponse:
      type: object
      properties:
        customers:
          type: array
          items:
            $ref: '#/components/schemas/CustomerResponse'
        has_more:
          type: boolean
          description: Whether there are more customers to fetch
        last_customer_id:
          type: string
          description: Use as cursor for next page
    Error:
      type: object
      description: Standard error response format for API version 2026-01-01
      properties:
        code:
          type: integer
          description: HTTP status code
          example: 400
        type:
          type: string
          description: Machine-readable error type
          example: MISSING_FIELD
        message:
          type: string
          description: Human-readable error message
          example: Required field 'address_country' is missing
      required:
        - code
        - type
        - message
    CustomerResponse:
      type: object
      properties:
        id:
          type: string
          description: The ID of the customer
          example: cust_123456789
        object:
          type: string
          description: 'The type of object: `tax.customer`'
          example: tax.customer
        reference_customer_id:
          type: string
          description: The ID of the customer in your system
          example: '20506'
        name:
          type: string
          description: The name of the created customer
          example: Customer Name
        email:
          type: string
          description: The email of the created customer
          example: customer@example.com
        is_tax_exempt:
          type: boolean
          description: >-
            If true, all `POST /tax/calculations` sold to this customer will
            return $0 in tax owed. The default value is `false`.
          example: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````