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

# Get a single contact

> Retrieve a single contact by ID.

Responses include direct Enginy app URLs when available. The returned contact includes an `appUrl` field, and the associated company includes `appUrl` when present. MCP agents should return those URLs to users whenever they are present in the response.

    > **Required scope:** `CONTACTS_READ`
    >
    > **Rate limit:** 100 requests per minute



## OpenAPI

````yaml https://openapi.enginy.ai/definitions.json get /v1/contact/{contactId}
openapi: 3.1.0
info:
  title: Enginy API
  version: 1.0.0
  description: Public API for Enginy platform
servers:
  - url: https://openapi.enginy.ai
    description: Configured server
security: []
tags:
  - name: AI Variables
    description: >-
      Manage AI variables and discover the entity fields you can reference in
      prompts and entity requests.
  - name: Inbox
    description: >-
      Inbox endpoints for listing contact threads, reading thread messages,
      managing tags, and sending manual replies.
  - name: Workflows
    description: >-
      Build, validate, publish, run, and inspect advanced (graph) workflows,
      plus the block/condition catalog needed to author a workflow plan.
paths:
  /v1/contact/{contactId}:
    get:
      tags:
        - Contacts
      summary: Get a single contact
      description: >-
        Retrieve a single contact by ID.


        Responses include direct Enginy app URLs when available. The returned
        contact includes an `appUrl` field, and the associated company includes
        `appUrl` when present. MCP agents should return those URLs to users
        whenever they are present in the response.

            > **Required scope:** `CONTACTS_READ`
            >
            > **Rate limit:** 100 requests per minute
      parameters:
        - schema:
            type: string
            description: The contact ID
          required: true
          description: The contact ID
          name: contactId
          in: path
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
            description: >-
              Specific contact fields to include in the response
              (comma-separated or array). Use `GET /v1/contacts/fields` (MCP
              tool `get_contact_field_metadata`) to discover valid contact field
              names.
          required: false
          description: >-
            Specific contact fields to include in the response (comma-separated
            or array). Use `GET /v1/contacts/fields` (MCP tool
            `get_contact_field_metadata`) to discover valid contact field names.
          name: fields
          in: query
      responses:
        '200':
          description: Successful response with contact details
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                        description: Unique identifier for the contact
                      appUrl:
                        type: string
                        format: uri
                        description: Direct Enginy app URL for opening this contact.
                      firstName:
                        type:
                          - string
                          - 'null'
                        description: First name of the contact
                      lastName:
                        type:
                          - string
                          - 'null'
                        description: Last name of the contact
                      jobTitle:
                        type:
                          - string
                          - 'null'
                        description: Job title of the contact
                      jobFunction:
                        type:
                          - string
                          - 'null'
                        description: >-
                          Job function of the contact (e.g. "Sales",
                          "Engineering"). Null when unknown.
                      jobLevel:
                        type:
                          - string
                          - 'null'
                        description: >-
                          Seniority level of the contact (e.g. "VP",
                          "Director"). Null when unknown.
                      linkedInProfileUrl:
                        type:
                          - string
                          - 'null'
                        description: LinkedIn profile URL of the contact
                      professionalEmail:
                        type:
                          - string
                          - 'null'
                        description: Professional email address of the contact
                      personalEmails:
                        type:
                          - string
                          - 'null'
                        description: Personal email addresses (comma-separated)
                      mobilePhone:
                        type:
                          - string
                          - 'null'
                        description: Mobile phone number of the contact
                      phones:
                        type:
                          - string
                          - 'null'
                        description: Other phone numbers (comma-separated)
                      imageUrl:
                        type:
                          - string
                          - 'null'
                        description: Profile image URL
                      companyId:
                        type:
                          - number
                          - 'null'
                        description: ID of the company associated with the contact
                      company:
                        type:
                          - object
                          - 'null'
                        properties:
                          id:
                            type: number
                            description: Company ID
                          appUrl:
                            type: string
                            format: uri
                            description: >-
                              Direct Enginy app URL for opening the associated
                              company.
                          name:
                            type:
                              - string
                              - 'null'
                            description: Company name
                          domain:
                            type:
                              - string
                              - 'null'
                            description: Company website domain
                          companyLinkedInUrl:
                            type:
                              - string
                              - 'null'
                            description: Company LinkedIn URL
                        required:
                          - id
                          - appUrl
                          - name
                          - domain
                          - companyLinkedInUrl
                        description: Company details
                      emailVerificationStatus:
                        type: string
                        description: Email verification status
                      contactCountry:
                        type:
                          - string
                          - 'null'
                        description: Country of the contact
                      linkedInHeadline:
                        type:
                          - string
                          - 'null'
                        description: LinkedIn headline
                      numberOfConnections:
                        type:
                          - number
                          - 'null'
                        description: Number of LinkedIn connections
                      contactCRMId:
                        type:
                          - string
                          - 'null'
                        description: CRM contact ID
                      leadCRMId:
                        type:
                          - string
                          - 'null'
                        description: CRM lead ID
                      isInCRM:
                        type: boolean
                        description: Whether the contact is synced with CRM
                      lastContactedAt:
                        type:
                          - string
                          - 'null'
                        format: date-time
                        description: >-
                          Date and time of the most recent outbound message sent
                          to this contact across all campaigns. Null when the
                          contact has never been messaged.
                      smartFieldExplanations:
                        type: object
                        additionalProperties:
                          type: string
                        description: >-
                          Map of smart field names to their explanation
                          (returned when smart fields are requested).
                      createdAt:
                        type: string
                        format: date-time
                        description: Date and time when the contact was created
                      updatedAt:
                        type: string
                        format: date-time
                        description: Date and time when the contact was last updated
                    required:
                      - id
                      - appUrl
                      - firstName
                      - lastName
                      - jobTitle
                      - jobFunction
                      - jobLevel
                      - linkedInProfileUrl
                      - professionalEmail
                      - personalEmails
                      - mobilePhone
                      - phones
                      - imageUrl
                      - companyId
                      - company
                      - emailVerificationStatus
                      - contactCountry
                      - linkedInHeadline
                      - numberOfConnections
                      - contactCRMId
                      - leadCRMId
                      - isInCRM
                      - lastContactedAt
                      - createdAt
                      - updatedAt
                required:
                  - status
                  - message
                  - data
        '400':
          description: Bad request - invalid contact ID
        '404':
          description: Contact not found
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````