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

# Show Customer

> Returns full customer details including relationships, real estate types, and lead status change history.

**Permission required:** `customer:read`



## OpenAPI

````yaml GET /customers/{id}
openapi: 3.1.0
info:
  title: Homele CRM
  description: Read-only REST API for external CRM integrations
  version: 2.0.0
servers:
  - url: https://crm.homele.com/api/v2/crm
security:
  - bearerAuth: []
paths:
  /customers/{id}:
    get:
      tags:
        - Customers
      summary: Show Customer
      description: >-
        Returns full customer details including relationships, real estate
        types, and lead status change history.


        **Permission required:** `customer:read`
      operationId: showCustomer
      parameters:
        - name: id
          in: path
          required: true
          description: Customer ID
          schema:
            type: integer
            example: 1
      responses:
        '200':
          description: Customer details with lead status history
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/CustomerDetail'
        '401':
          $ref: '#/components/responses/Unauthenticated'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    CustomerDetail:
      allOf:
        - $ref: '#/components/schemas/CustomerListItem'
        - type: object
          properties:
            occupation:
              $ref: '#/components/schemas/RelatedObject'
            nationality:
              $ref: '#/components/schemas/RelatedObject'
            real_estate_types:
              type: array
              items:
                $ref: '#/components/schemas/RelatedObject'
              example:
                - id: 1
                  name: Apartment
                - id: 3
                  name: Villa
            lead_status_history:
              type: array
              description: Status change history (newest first)
              items:
                type: object
                properties:
                  status:
                    type: string
                    example: Qualified
                  changed_at:
                    type: string
                    format: date-time
                    example: '2026-01-10T11:30:00+00:00'
    CustomerListItem:
      type: object
      properties:
        id:
          type: integer
          example: 42
        sequential_number:
          type: integer
          example: 1025
        name:
          type: string
          example: Ahmed Ali
        first_name:
          type: string
          example: Ahmed
        last_name:
          type: string
          nullable: true
          example: Ali
        phone1:
          type: string
          example: '+9647501234567'
        phone2:
          type: string
          nullable: true
        phone3:
          type: string
          nullable: true
        email1:
          type: string
          nullable: true
          example: ahmed@example.com
        address:
          type: string
          nullable: true
          example: Erbil, 60m Street
        budget:
          type: string
          nullable: true
          example: '150000.00'
        budget_currency:
          type: string
          nullable: true
          example: USD
        expected_sale_date:
          type: string
          nullable: true
          format: date
          example: '2026-06-15'
        lead_status:
          $ref: '#/components/schemas/RelatedObject'
        lead_source:
          $ref: '#/components/schemas/RelatedObject'
        owner:
          $ref: '#/components/schemas/RelatedObject'
        priority:
          $ref: '#/components/schemas/RelatedObject'
        country:
          $ref: '#/components/schemas/RelatedObject'
        city:
          $ref: '#/components/schemas/RelatedObject'
        created_at:
          type: string
          format: date-time
          example: '2025-11-20T14:30:00+00:00'
        updated_at:
          type: string
          format: date-time
          example: '2026-02-15T09:45:00+00:00'
        last_activity_at:
          type: string
          nullable: true
          format: date-time
          example: '2026-02-14T16:20:00+00:00'
    RelatedObject:
      type: object
      nullable: true
      properties:
        id:
          type: integer
          example: 1
        name:
          type: string
          example: New
  responses:
    Unauthenticated:
      description: Missing or invalid token
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                example: false
              message:
                type: string
                example: Unauthenticated.
    Forbidden:
      description: Token lacks required permission
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                example: false
              message:
                type: string
                example: Insufficient permissions.
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                example: false
              message:
                type: string
                example: Not found.
    RateLimited:
      description: Rate limit exceeded (60 requests/minute)
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                example: false
              message:
                type: string
                example: Too Many Attempts.
              retry_after:
                type: integer
                example: 42
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API token generated from Settings > API Integration. Format: Bearer
        <token>

````