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

# List location customers



## OpenAPI

````yaml /api-reference/customers-v1.json get /v1/locations/{location_id}/customers
openapi: 3.0.0
info:
  title: Chataigne Customer Management API
  description: >-
    List customers and retrieve scoped customer activity for locations and
    organizations.
  version: '2026-05-01'
  contact: {}
servers:
  - url: https://server.chataigne.ai
security: []
tags: []
paths:
  /v1/locations/{location_id}/customers:
    get:
      tags:
        - Customers
      summary: List location customers
      operationId: CustomersV1Controller_list
      parameters:
        - name: location_id
          required: true
          in: path
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: Page size (1–100).
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
        - name: starting_after
          required: false
          in: query
          description: Return customers after this customer id.
          schema:
            type: string
        - name: ending_before
          required: false
          in: query
          description: Return customers before this customer id.
          schema:
            type: string
        - name: created_after
          required: false
          in: query
          description: Return customer profiles created after this ISO 8601 timestamp.
          schema:
            type: string
            format: date-time
        - name: created_before
          required: false
          in: query
          description: Return customer profiles created before this ISO 8601 timestamp.
          schema:
            type: string
            format: date-time
        - name: updated_after
          required: false
          in: query
          description: Return customer profiles updated after this ISO 8601 timestamp.
          schema:
            type: string
            format: date-time
        - name: updated_before
          required: false
          in: query
          description: Return customer profiles updated before this ISO 8601 timestamp.
          schema:
            type: string
            format: date-time
        - name: marketing_consent_status
          required: false
          in: query
          description: >-
            Return customers with this marketing consent status. Missing consent
            records match unknown.
          schema:
            enum:
              - opted_in
              - opted_out
              - unknown
            type: string
        - name: min_completed_orders
          required: false
          in: query
          schema:
            type: integer
            minimum: 0
          description: >-
            Return customers with at least this many completed orders in the
            route scope.
      responses:
        '200':
          description: A paginated list of location customers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerList'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required for this endpoint.
        '403':
          description: The authenticated principal is not allowed to use this endpoint.
      security:
        - organization-api-key: []
components:
  schemas:
    CustomerList:
      type: object
      required:
        - object
        - data
        - has_more
        - url
      properties:
        object:
          type: string
          enum:
            - list
        data:
          type: array
          items:
            $ref: '#/components/schemas/CustomerSummaryResource'
        has_more:
          type: boolean
        url:
          type: string
    Error:
      type: object
      properties:
        error:
          type: object
          required:
            - type
            - code
            - message
            - request_id
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - authorization_error
                - not_found_error
                - conflict_error
                - rate_limit_error
                - idempotency_error
                - api_error
            code:
              type: string
              example: resource_missing
            message:
              type: string
            param:
              type: string
            request_id:
              type: string
              example: req_8f2c…
            details:
              type: object
              additionalProperties: true
    CustomerSummaryResource:
      type: object
      required:
        - id
        - object
        - created_at
        - updated_at
        - first_name
        - last_name
        - email
        - phone
        - language
        - marketing_consent
        - completed_orders_count
      properties:
        id:
          type: string
          description: Stable, owner-scoped Chataigne customer identifier.
        object:
          type: string
          enum:
            - customer
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        first_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        language:
          type: string
          nullable: true
          enum:
            - fr
            - en
            - de
            - it
            - es
            - pt
            - null
        marketing_consent:
          type: object
          required:
            - status
            - changed_at
          properties:
            status:
              type: string
              enum:
                - opted_in
                - opted_out
                - unknown
              description: >-
                The customer marketing consent status in the customer owner
                scope.
            changed_at:
              type: string
              format: date-time
              nullable: true
              description: >-
                When the explicit consent status last changed; null while status
                is unknown.
        completed_orders_count:
          type: integer
          minimum: 0
          description: Completed orders in the route scope only.
  securitySchemes:
    organization-api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: Location/organization API key.

````