Drift Contacts API

[https://devdocs.drift.com/docs/contact-model](https://devdocs.drift.com/docs/contact-model)

Operations 10

POST /contacts Drift Create a contact
GET /contacts Drift List contacts by externalId
PATCH /contacts/{id} Update a contact - Drift Id
GET /contacts/{id} Fetch a contact by Drift Id
POST /contacts/{id} Drift Delete a contact
PATCH /contacts/normalize Drift Update a contact - ExternalId
GET /contacts/ Drift List contacts by email
POST /emails/unsubscribe Drift Unsubscribe contacts from emails
POST /contacts/timeline Drift Post a timeline event to a contact - externalId
GET /contacts/attributes Drift List custom contact attributes

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/drift-com-contacts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

drift-com-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Drift Accounts Contacts API
  description: Drift is a cloud-based solution designed to help businesses automate sales processes by adding live chat windows to websites for increased customer experience and loyalty. Key features include chatbots, geo-targeting, offline access, proactive chating and transfers/routing.
  version: 1.0.0
servers:
- url: http://{{base_url}}
- url: https://driftapi.com
security:
- bearerAuth: []
tags:
- name: Contacts
  description: '[https://devdocs.drift.com/docs/contact-model](https://devdocs.drift.com/docs/contact-model)'
paths:
  /contacts:
    post:
      tags:
      - Contacts
      summary: Drift Create a contact
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                attributes:
                  email: string
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    get:
      tags:
      - Contacts
      summary: Drift List contacts by externalId
      parameters:
      - name: idType
        in: query
        schema:
          type: string
        example: external
      - name: id
        in: query
        schema:
          type: string
        description: Your unique externalId
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /contacts/{id}:
    patch:
      tags:
      - Contacts
      summary: Update a contact - Drift Id
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                attributes:
                  attribute_name: value
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: Drift contactId
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    get:
      tags:
      - Contacts
      summary: Fetch a contact by Drift Id
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: Drift contactId
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    post:
      tags:
      - Contacts
      summary: Drift Delete a contact
      requestBody:
        content: {}
      parameters:
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /contacts/normalize:
    patch:
      tags:
      - Contacts
      summary: Drift Update a contact - ExternalId
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                attributes:
                  attribute_name: value
      parameters:
      - name: idType
        in: query
        schema:
          type: string
        description: One of drift, external, internal
      - name: id
        in: query
        schema:
          type: string
        description: Your unique externalId
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /contacts/:
    get:
      tags:
      - Contacts
      summary: Drift List contacts by email
      parameters:
      - name: email
        in: query
        schema:
          type: string
        description: The email address of the requested contact
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /emails/unsubscribe:
    post:
      tags:
      - Contacts
      summary: Drift Unsubscribe contacts from emails
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
              - email@mail.com
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /contacts/timeline:
    post:
      tags:
      - Contacts
      summary: Drift Post a timeline event to a contact - externalId
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                externalId: 0
                createdAt: 0
                event: string
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /contacts/attributes:
    get:
      tags:
      - Contacts
      summary: Drift List custom contact attributes
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer