Intercom Contacts API

Manage users and leads in your Intercom workspace.

OpenAPI Specification

intercom-contacts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Intercom Admins Contacts API
  description: The Intercom API provides programmatic access to the Intercom AI-powered customer service platform. It enables developers to manage contacts, companies, conversations, articles, segments, messages, and data events, and to build seamless integrations with the Intercom Help Desk and Messenger.
  version: '2.15'
  contact:
    name: Intercom Developer Support
    url: https://developers.intercom.com/
servers:
- url: https://api.intercom.io
  description: Production (US)
- url: https://api.eu.intercom.io
  description: Europe
- url: https://api.au.intercom.io
  description: Australia
security:
- bearerAuth: []
tags:
- name: Contacts
  description: Manage users and leads in your Intercom workspace.
paths:
  /contacts:
    get:
      operationId: listContacts
      summary: List contacts
      description: Retrieves a paginated list of contacts.
      tags:
      - Contacts
      parameters:
      - name: per_page
        in: query
        schema:
          type: integer
      - name: starting_after
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Contacts list returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactList'
    post:
      operationId: createContact
      summary: Create a contact
      description: Creates a new contact (user or lead) in your Intercom workspace.
      tags:
      - Contacts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Contact'
      responses:
        '200':
          description: Contact created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
  /contacts/{contact_id}:
    get:
      operationId: getContact
      summary: Retrieve a contact
      description: Retrieves a single contact by ID.
      tags:
      - Contacts
      parameters:
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Contact returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
components:
  schemas:
    ContactList:
      type: object
      properties:
        type:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
        total_count:
          type: integer
    Contact:
      type: object
      properties:
        type:
          type: string
        id:
          type: string
        external_id:
          type: string
        role:
          type: string
        email:
          type: string
        name:
          type: string
        phone:
          type: string
        created_at:
          type: integer
        updated_at:
          type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Intercom Developer Documentation
  url: https://developers.intercom.com/docs/