> ## 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.

# Retrieve a location customer



## OpenAPI

````yaml /api-reference/customers-v1.json get /v1/locations/{location_id}/customers/{customer_id}
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/{customer_id}:
    get:
      tags:
        - Customers
      summary: Retrieve a location customer
      operationId: CustomersV1Controller_retrieve
      parameters:
        - name: location_id
          required: true
          in: path
          schema:
            type: string
        - name: customer_id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: The customer with location-scoped activity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDetailResource'
        '401':
          description: Authentication required for this endpoint.
        '403':
          description: The authenticated principal is not allowed to use this endpoint.
        '404':
          description: The requested customer does not exist in this scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - organization-api-key: []
components:
  schemas:
    CustomerDetailResource:
      type: object
      required:
        - id
        - object
        - created_at
        - updated_at
        - first_name
        - last_name
        - email
        - phone
        - language
        - marketing_consent
        - completed_orders_count
        - first_interaction_at
        - last_interaction_at
        - last_order_at
        - total_spent
      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.
        first_interaction_at:
          type: string
          format: date-time
          description: >-
            First customer activity in the location or organization requested by
            the route.
        last_interaction_at:
          type: string
          format: date-time
          description: >-
            Most recent customer activity in the location or organization
            requested by the route.
        last_order_at:
          type: string
          format: date-time
          nullable: true
          description: Most recent order in the route scope, regardless of status.
        total_spent:
          type: array
          description: Completed-order spend in the route scope, grouped by currency.
          items:
            type: object
            required:
              - amount
              - currency
            properties:
              amount:
                type: number
              currency:
                type: string
                example: EUR
    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
  securitySchemes:
    organization-api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: Location/organization API key.

````