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

# Get contact by ID with custom attributes



## OpenAPI

````yaml /openapi.json get /api/contact/{id}
openapi: 3.0.0
info:
  title: GoMobile Backend API
  description: >-
    API documentation for GoMobile telephony platform - automated calling
    campaigns, interactive voice flows, and call management
  version: '1.0'
  contact: {}
servers:
  - url: http://localhost:3000
    description: Local Development
security: []
tags:
  - name: Organizations
    description: Multi-tenant organization management
  - name: Teams
    description: Team structure and hierarchy
  - name: Contacts
    description: Customer contact management (CRM)
  - name: Entities
    description: Business entities management
  - name: Audiences
    description: Contact segmentation and groups
  - name: Programs
    description: Call campaign configuration
  - name: Call Flows
    description: Interactive call flow builder
paths:
  /api/contact/{id}:
    get:
      tags:
        - Contacts
      summary: Get contact by ID with custom attributes
      operationId: ContactController_getById
      parameters:
        - name: id
          required: true
          in: path
          description: Contact UUID
          schema: {}
      responses:
        '200':
          description: Contact found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactWithAttributesResponseDto'
        '404':
          description: Contact not found
components:
  schemas:
    ContactWithAttributesResponseDto:
      type: object
      properties:
        id:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
        organizationId:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
        firstName:
          type: string
          example: John
          nullable: true
        lastName:
          type: string
          example: Doe
          nullable: true
        fullName:
          type: string
          example: John Doe
          nullable: true
        primaryEmail:
          type: string
          example: john@example.com
          nullable: true
        primaryPhone:
          type: string
          example: '+212612345678'
        address:
          type: string
          example: 123 Main St
          nullable: true
        city:
          type: string
          example: Casablanca
          nullable: true
        state:
          type: string
          example: Casablanca-Settat
          nullable: true
        zip:
          type: string
          example: '20000'
          nullable: true
        occupation:
          type: string
          example: Engineer
          nullable: true
        preferredChannel:
          type: string
          example: phone
          nullable: true
        gender:
          type: string
          enum:
            - male
            - female
        channels:
          type: array
          example: []
          items:
            type: string
          nullable: true
        createdAt:
          format: date-time
          type: string
          example: '2024-01-01T00:00:00.000Z'
        updatedAt:
          format: date-time
          type: string
          example: '2024-01-01T00:00:00.000Z'
        customAttributes:
          type: array
          items:
            $ref: '#/components/schemas/ContactCustomAttributeDto'
      required:
        - id
        - organizationId
        - primaryPhone
        - channels
        - createdAt
        - updatedAt
        - customAttributes
    ContactCustomAttributeDto:
      type: object
      properties:
        name:
          type: string
          example: company_size
        displayName:
          type: string
          example: Company Size
        description:
          type: string
          example: Number of employees
          nullable: true
        type:
          type: string
          example: number
        value:
          example: 100
          nullable: true
          oneOf:
            - type: string
            - type: number
            - type: boolean
            - type: object
        isLocked:
          type: boolean
          example: false
      required:
        - name
        - displayName
        - type
        - value
        - isLocked

````