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

# Retrieve customer detail

> Retrieve customer detail



## OpenAPI

````yaml https://openapi.commercengine.io/ce-admin.json get /customers/{id}
openapi: 3.1.0
info:
  title: CE Admin APIs
  version: '1.0'
  summary: Comprehensive admin interface for managing your e-commerce platform
  description: >-
    Complete administrative API suite for Commerce Engine, providing powerful
    tools to manage products, orders, customers, inventory, analytics, and
    system configuration. Designed for administrators and backend integrations
    requiring full platform control.
  license:
    name: All Rights Reserved
    url: https://www.commercengine.io/contact-us
  contact:
    email: support@commercengine.io
    url: https://www.commercengine.io/contact-us
    name: Support
servers:
  - url: https://staging.api.commercengine.io/api/v1/{store_id}/admin
    description: Staging Server
    variables:
      store_id:
        default: store_id
        description: Store ID
  - url: https://prod.api.commercengine.io/api/v1/{store_id}/admin
    description: Prod Server
    variables:
      store_id:
        default: store_id
        description: Store ID
security:
  - Authorization: []
tags:
  - name: Analytics
    description: Analytics
  - name: Catalog
    description: Catalog
  - name: Coupons & promotions
    description: Coupons & promotions
  - name: Customers
    description: Customers
  - name: Filter Options
    description: Filter Options
  - name: Inventories
    description: Inventories
  - name: Marketplace
    description: Marketplace
  - name: Marketplace Catalog
    description: Marketplace Catalog
  - name: Media Gallery
    description: Media Gallery
  - name: Metrics
    description: Metrics
  - name: Orders
    description: Orders
  - name: Payments
    description: Payments
  - name: Payouts
    description: Payouts
  - name: POS
    description: POS
  - name: POSAdmin
    description: Admin endpoints to be used as proxy in pos
  - name: Segments
    description: Segments
  - name: Shipping
    description: Shipping
  - name: SSE
    description: SSE
  - name: Store
    description: Store
  - name: Webhooks
    description: Webhooks
paths:
  /customers/{id}:
    parameters:
      - name: id
        in: path
        description: Customer Id
        required: true
        schema:
          type: string
    get:
      tags:
        - Customers
      summary: Retrieve customer detail
      description: Retrieve customer detail
      operationId: get-customer-detail
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  success:
                    type: boolean
                  content:
                    properties:
                      customer:
                        $ref: '#/components/schemas/CustomerDetail'
                    type: object
components:
  schemas:
    CustomerDetail:
      title: CustomerDetail
      allOf:
        - $ref: '#/components/schemas/Customer'
        - type: object
          properties:
            loyalty:
              $ref: '#/components/schemas/CustomerLoyalty'
            notification_preferences:
              $ref: '#/components/schemas/NotificationPreferences'
      x-tags:
        - Customers
    Customer:
      title: Customer
      allOf:
        - $ref: '#/components/schemas/CustomerInfo'
        - type: object
          properties:
            business:
              $ref: '#/components/schemas/BusinessInfo'
            segments:
              type: array
              items:
                $ref: '#/components/schemas/CustomerSegment'
            address:
              $ref: '#/components/schemas/CustomerAddress'
      x-tags:
        - Customers
    CustomerLoyalty:
      title: CustomerLoyalty
      type: object
      properties:
        membership_number:
          type: string
        points_earned:
          description: total points earned within the current loyalty program.
          type: integer
        points_redeemed:
          description: total points redeemed within the current loyalty program.
          type: integer
        points_balance:
          description: total points available.
          type: integer
        total_spent:
          description: >-
            The total amount a customer has spent within the current loyalty
            program, excluding taxes, promotional discounts, and redeemed
            loyalty points. This value is used to determine tier eligibility and
            earning points calculation.
          type: integer
        total_orders:
          description: >-
            The total number of completed orders counted in the current loyalty
            program.
          type: integer
        lifetime_spent:
          description: ' The total amount a customer has spent across all time, regardless of loyalty program participation. This includes all completed orders and excludes taxes, promotional discounts, and redeemed points.'
          type: integer
        lifetime_orders:
          description: >-
            The total number of completed orders across all time, regardless of
            loyalty program.
          type: integer
        date_of_join:
          description: ' The date and time when the customer first enrolled in the loyalty program.'
          type: string
          format: date-time
        date_of_assign:
          description: >-
            The date and time when the customer's current loyalty tier or
            program instance was assigned. This may change when tiers are
            upgraded, downgraded, or reassigned.
          type:
            - string
            - 'null'
          format: date-time
        date_of_reset:
          description: ' The date and time when the customer’s current loyalty program cycle will reset, at which points earned, points redeemed, balance points, total spent, total orders will be cleared.'
          type:
            - string
            - 'null'
          format: date-time
        current_tier:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
        next_tier:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            total_spent_threshold:
              type:
                - integer
                - 'null'
              minimum: 0
            total_orders_threshold:
              type:
                - integer
                - 'null'
              minimum: 0
        name:
          type: string
        renewal_type:
          type: string
          enum:
            - yearly
            - never
            - custom
        tier_upgrade_criteria:
          type: string
          enum:
            - total-spent
            - total-orders
            - custom
      x-tags:
        - Customers
    NotificationPreferences:
      title: NotificationPreferences
      description: 'Set channel preferences for each type of '
      type: object
      properties:
        transactional:
          $ref: '#/components/schemas/NotificationChannelPreferences'
          description: >-
            These notifications are typically critical for user engagement,
            providing updates, confirmations, or alerts related to their account
            activities.
        promotional:
          $ref: '#/components/schemas/NotificationChannelPreferences'
          description: >-
            These notifications aim to engage users with promotional content and
            enhance their overall experience with the platform.
        newsletter:
          $ref: '#/components/schemas/NotificationChannelPreferences'
          description: >
            These notifications are often sent periodically as part of a
            subscription service.
    CustomerInfo:
      title: CustomerInfo
      type: object
      properties:
        id:
          description: user id
          type: string
          readOnly: true
        first_name:
          type: string
        last_name:
          type: string
        full_name:
          type: string
          readOnly: true
        profile_image_url:
          type: string
          readOnly: true
        country_code:
          type: string
        phone:
          type: string
        email:
          type: string
        is_phone_verified:
          type: boolean
          readOnly: true
        is_email_verified:
          type: boolean
          readOnly: true
        is_whatsapp_verified:
          type: boolean
          readOnly: true
        status:
          $ref: '#/components/schemas/CustomerStatus'
        created_at:
          type: string
          format: date-time
          readOnly: true
        modified_at:
          type: string
          format: date-time
          readOnly: true
        last_seen:
          type: string
          format: date-time
          readOnly: true
        kyc_status:
          $ref: '#/components/schemas/KycStatus'
        is_verified:
          type: boolean
          readOnly: true
        customer_group_id:
          type: string
          readOnly: true
        tags:
          type: array
          items:
            type: string
      x-tags:
        - Customers
    BusinessInfo:
      title: BusinessInfo
      type: object
      properties:
        name:
          type: string
        business_type:
          type: string
        pan_number:
          type: string
        gstin:
          type: string
        is_registered_under_gst:
          type: boolean
      x-tags:
        - Customers
    CustomerSegment:
      title: CustomerSegment
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      x-tags:
        - Customers
    CustomerAddress:
      title: CustomerAddress
      type: object
      required:
        - first_name
        - phone
        - email
        - address_line1
        - pincode
        - city
        - state
        - country
      properties:
        id:
          type: string
          readOnly: true
        first_name:
          type: string
        last_name:
          type:
            - string
            - 'null'
        country_code:
          description: "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.\r\n"
          type: string
        phone:
          description: 10 digit phone number without country code.
          type: string
        email:
          type:
            - string
            - 'null'
        address_line1:
          type: string
        address_line2:
          type:
            - string
            - 'null'
        landmark:
          type:
            - string
            - 'null'
        pincode:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          enum:
            - India
        gstin:
          description: Use in shipping details only for third party.
          type:
            - string
            - 'null'
        business_name:
          description: Use in shipping details only for third party.
          type:
            - string
            - 'null'
        is_phone_verified:
          type: boolean
          readOnly: true
        is_email_verified:
          type: boolean
          readOnly: true
        is_default_shipping:
          type: boolean
        is_default_billing:
          type: boolean
      examples: []
      x-tags:
        - Customers
    NotificationChannelPreferences:
      title: NotificationChannelPreferences
      description: Set specific channel preferences
      type: object
      properties:
        email:
          description: >-
            Indicates whether the user has opted to receive notifications via
            email.
          type: boolean
          default: true
        sms:
          description: >-
            Indicates whether the user has opted to receive notifications via
            SMS.
          type: boolean
          default: true
        whatsapp:
          description: >-
            Indicates whether the user has opted to receive notifications via
            WhatsApp.
          type: boolean
          default: true
    CustomerStatus:
      enum:
        - active
        - inactive
    KycStatus:
      enum:
        - pending
        - approved
        - rejected
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````