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

> Retrieve a paginated list of contacts.

Responses include direct Enginy app URLs when available. Each returned contact includes an `appUrl` field, and associated companies include `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/contacts
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/contacts:
    get:
      tags:
        - Contacts
      summary: Get contacts
      description: >-
        Retrieve a paginated list of contacts.


        Responses include direct Enginy app URLs when available. Each returned
        contact includes an `appUrl` field, and associated companies include
        `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
            default: '1'
            description: Page number for pagination. Minimum value is 1. Defaults to 1.
          required: false
          description: Page number for pagination. Minimum value is 1. Defaults to 1.
          name: page
          in: query
        - schema:
            type: string
            default: '25'
            description: >-
              Number of items per page. Minimum is 1, maximum is 100. Defaults
              to 25.
          required: false
          description: >-
            Number of items per page. Minimum is 1, maximum is 100. Defaults to
            25.
          name: pageSize
          in: query
        - schema:
            type: string
            description: >-
              Search term to filter contacts by first name, last name, or email
              (case-insensitive).
          required: false
          description: >-
            Search term to filter contacts by first name, last name, or email
            (case-insensitive).
          name: search
          in: query
        - schema:
            type: string
            description: Filter contacts by company ID.
          required: false
          description: Filter contacts by company ID.
          name: companyId
          in: query
        - schema:
            type: string
            description: Filter contacts by list ID.
          required: false
          description: Filter contacts by list ID.
          name: listId
          in: query
        - schema:
            type: string
            description: Filter contacts updated on or after this date (ISO 8601 format).
          required: false
          description: Filter contacts updated on or after this date (ISO 8601 format).
          name: updatedAtFrom
          in: query
        - schema:
            type: string
            description: Filter contacts updated on or before this date (ISO 8601 format).
          required: false
          description: Filter contacts updated on or before this date (ISO 8601 format).
          name: updatedAtTo
          in: query
        - schema:
            type: string
            description: >-
              Filter contacts by a specific actions run ID. Returns only
              contacts that were created or processed as part of this actions
              run (e.g., from "Search contacts from company" action).
          required: false
          description: >-
            Filter contacts by a specific actions run ID. Returns only contacts
            that were created or processed as part of this actions run (e.g.,
            from "Search contacts from company" action).
          name: actionsId
          in: query
        - 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 paginated contacts
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      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
                  meta:
                    type: object
                    properties:
                      page:
                        type: number
                      pageSize:
                        type: number
                      total:
                        type: number
                    required:
                      - page
                      - pageSize
                      - total
                required:
                  - data
                  - meta
        '404':
          description: Actions run not found (when filtering by actionsId)
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````