Drift Conversations and Messages API
[https://devdocs.drift.com/docs/conversation-model](https://devdocs.drift.com/docs/conversation-model)
[https://devdocs.drift.com/docs/conversation-model](https://devdocs.drift.com/docs/conversation-model)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/drift-com:drift-com-conversations-and-messages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Drift Conversations and Messages 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: Conversations and Messages
description: https://devdocs.drift.com/docs/conversation-model
paths:
/conversations/{id}/messages:
post:
tags:
- Conversations and Messages
summary: Drift Create a message
requestBody:
content:
application/json:
schema:
type: object
example:
type: string
body: string
buttons:
- value: string
label: string
type: string
userId: 0
parameters:
- name: id
in: path
schema:
type: string
required: true
description: The Drift conversationId
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: postConversationsByIdMessages
x-operation-id-source: derived
get:
tags:
- Conversations and Messages
summary: Drift Fetch a conversation's messages
parameters:
- name: next
in: query
schema:
type: string
description: Page number where page sizes are always 50
- name: id
in: path
schema:
type: string
required: true
description: The Drift conversationId
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getConversationsByIdMessages
x-operation-id-source: derived
/conversations/{id}:
get:
tags:
- Conversations and Messages
summary: Drift Fetch a conversation
parameters:
- name: id
in: path
schema:
type: string
required: true
description: The Drift conversationId
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getConversationsById
x-operation-id-source: derived
/conversations/{id}/transcript:
get:
tags:
- Conversations and Messages
summary: Drift Fetch a conversation's transcript as a string
parameters:
- name: id
in: path
schema:
type: string
required: true
description: The Drift conversationId
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getConversationsByIdTranscript
x-operation-id-source: derived
/conversations/{id}/json_transcript:
get:
tags:
- Conversations and Messages
summary: Drift Fetch a conversation's transcript as a JSON object
parameters:
- name: id
in: path
schema:
type: string
required: true
description: The Drift conversationId
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getConversationsByIdJsonTranscript
x-operation-id-source: derived
/attachments/{id}/data:
get:
tags:
- Conversations and Messages
summary: Drift Fetch a conversation's attachments
parameters:
- name: id
in: path
schema:
type: string
required: true
description: The Drift documentId
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getAttachmentsByIdData
x-operation-id-source: derived
/conversations/new:
post:
tags:
- Conversations and Messages
summary: Drift Create a conversation
requestBody:
content:
application/json:
schema:
type: object
example:
email: string
message:
body: string
attributes: {}
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: postConversationsNew
x-operation-id-source: derived
/conversations/stats:
get:
tags:
- Conversations and Messages
summary: Drift List conversation statuses
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getConversationsStats
x-operation-id-source: derived
/conversations/list:
get:
tags:
- Conversations and Messages
summary: Drift List conversations
parameters:
- name: limit
in: query
schema:
type: string
description: Max number of conversations to retrieve (max 100, default 25).
- name: statusId
in: query
schema:
type: string
description: 'Return only conversations that match the provided status code. Uses the following values: OPEN, CLOSED, PENDING'
- name: page_token
in: query
schema:
type: string
description: Allows you to move to the next page
responses:
'200':
description: Successful response
content:
application/json: {}
operationId: getConversationsList
x-operation-id-source: derived
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer