Table of Contents
Drift is the leading conversational marketing platform. With Drift on your website, you can turn your traffic into qualified meetings using our bots 24 hours a day, 7 days a week.
API Overview
Drift is a conversational marketing and sales platform that helps businesses connect with their customers in real-time. It offers a suite of tools that enable companies to engage with website visitors, qualify leads, and close deals. Drift's live chat feature allows businesses to chat with website visitors in real-time, answer questions, and provide support. The platform also includes a chatbot that can be used to automate conversations and qualify leads. Drift's lead scoring and routing capabilities help businesses prioritize and route leads to the right sales reps. Additionally, Drift offers integrations with popular CRM and marketing automation platforms, making it easy to manage customer data and track marketing campaigns.
Drift API provides a comprehensive set of REST APIs, webhooks, and documentation to enable developers to integrate Drift with their own applications and systems. The API documentation provides detailed information on all available endpoints, request and response formats, and code samples. The REST APIs allow developers to perform various actions, such as creating and managing conversations, sending messages, and retrieving lead information. Webhooks can be used to receive real-time notifications when certain events occur, such as when a new conversation is created or a message is received. Drift also imposes rate limits to ensure the stability and performance of the platform. Developers are encouraged to familiarize themselves with the API documentation and rate limits to ensure optimal integration.
API Request Limits
Starter
10,000 API calls per month
Professional
25,000 API calls per month
Enterprise
50,000 API calls per month
APIs
Method: get
Description: Returns the conversation with the given ID..
Endpoint: v2/conversations/{conversationId}
Parameters: conversationId
Method: post
Description: Create a new conversation..
Endpoint: v2/conversations
Parameters: background_mode, labels, tags, users
Method: get
Description: Returns a message with the given ID..
Endpoint: v2/conversations/{conversationId}/messages/{messageId}
Parameters: messageId
Method: post
Description: Create a new message..
Endpoint: v2/conversations/{conversationId}/messages
Parameters: body, client_message_id, conversation_id, labels, use_custom_avatar
Method: get
Description: Returns the contact with the given ID..
Endpoint: v2/contacts/{contactId}
Parameters: contactId
Method: post
Description: Create a new contact..
Endpoint: v2/contacts
Parameters: background_mode, labels, tags, users
Method: get
Description: Returns the note with the given ID..
Endpoint: v2/conversations/{conversationId}/timeline/notes/{noteId}
Parameters: noteId
Method: post
Description: Create a new note..
Endpoint: v2/conversations/{conversationId}/timeline/notes
Parameters: body, client_created_at, client_id, created_at, tags, type, user
Method: get
Description: Returns the tag with the given ID..
Endpoint: v2/tags/{tagId}
Parameters: tagId
Method: post
Description: Create a new tag..
Endpoint: v2/tags
Parameters: background_mode, color, description, enabled, name
Method: patch
Description: Update a tag..
Endpoint: v2/tags/{tagId}
Parameters: background_mode, color, description, enabled, name
Method: delete
Description: Delete a tag..
Endpoint: v2/tags/{tagId}
Parameters: tagId
Method: patch
Description: Update a conversation..
Endpoint: v2/conversations/{conversationId}
Parameters: assigned_user_id, custom_attributes, labels, tags, workflow_id
Method: delete
Description: Delete a conversation..
Endpoint: v2/conversations/{conversationId}
Parameters: conversationId
Method: get
Description: Return a list of conversations..
Endpoint: v2/conversations
Parameters: archived, assigned_user_id, created_at, custom_attributes, deleted, direction, email, id, integration, last_activity_at, last_message_sent_at, labels, member_count, participants, reply_subject, resolved_at, tags, title, updated_at, workflow_id
Method: patch
Description: Update a contact..
Endpoint: v2/contacts/{contactId}
Parameters: assigned_user_id, background_mode, custom_attributes, email, labels, tags
Method: delete
Description: Delete a contact..
Endpoint: v2/contacts/{contactId}
Parameters: contactId
Method: post
Description: Create a new conversation from scratch..
Endpoint: v2/conversations/create
Parameters: assigned_user_id, background_mode, custom_attributes, email, labels, tags, title
Method: patch
Description: Update a message..
Endpoint: v2/conversations/{conversationId}/messages/{messageId}
Parameters: body, labels, reply, type
Method: get
Description: Returns a list of company contacts..
Endpoint: v2/companies/{companyId}/people
Parameters: scope, search
Method: get
Description: Returns a list of company teams..
Endpoint: v2/companies/{companyId}/teams
Parameters: scope, search
Method: get
Description: Returns the meeting with the given ID..
Endpoint: v2/meetings/{meetingId}
Parameters: meetingId
Method: post
Description: Create a new meeting..
Endpoint: v2/meetings
Parameters: conversation_id, created_by, duration, start_at, updated_by
Method: patch
Description: Updates the meeting with the given ID..
Endpoint: v2/meetings/{meetingId}
Parameters: conversation_id, duration, ended_at, location, notes, participant_ids, start_at, subject, updated_by
Method: delete
Description: Deletes the meeting with the given ID..
Endpoint: v2/meetings/{meetingId}
Parameters: meetingId
Method: get
Description: Returns a list of meetings..
Endpoint: v2/meetings
Parameters: created_after, created_before, created_by, direction, duration, ended_at, event_type, id, in_progress, location, notes, participant_ids, participants, start_after, start_before, start_at, subject, updated_by, updated_since, use_precise_filters
Method: get
Description: Returns the contact with the email. If the contact does not exist.
Endpoint: a new contact will not be created. Do not use this method to update email addresses.
Parameters: v2/contacts/match-email
Method: post
Description: Create a new contact from a raw email address. If the contact already exists.
Endpoint: it will be updated.
Parameters: v2/contacts/raw
Method: patch
Description: Update a note..
Endpoint: v2/conversations/{conversationId}/timeline/notes/{noteId}
Parameters: body, closed, created_at, labels, tags, type
Method: get
Description: Returns a list of contacts..
Endpoint: v2/contacts
Parameters: background_mode, custom_attributes, email, labels, search, tags, workflow_id
Method: post
Description: Create a new meeting participant..
Endpoint: v2/meetings/{meetingId}/participants
Parameters: email, first_name, last_name
Method: get
Description: Return a list of conversations by status..
Endpoint: v2/conversations/status/{status}
Parameters: archived, status
Method: patch
Description: Updates Driftbot's message..
Endpoint: v2/conversations/{conversationId}/driftbot
Parameters: body, labels
Method: post
Description: Creates interaction with Driftbot..
Endpoint: v2/conversations/{conversationId}/driftbot/trigger
Parameters: action_id, conversation_id, payload
FAQ
What is the rate limit for the Drift API?
The rate limit is 100 requests per minute per user.
Do you have a sandbox account for testing purposes?
Yes, we do. You can create a sandbox account by signing up for a free trial.
How do I authenticate to the Drift API?
You can authenticate to the Drift API using OAuth 2.0.
How do I create a developer account?
You can create a developer account by signing up for a free trial and then following the instructions in our documentation.
What is the difference between a developer account and a regular account?
A developer account gives you access to additional features and tools, such as the ability to create and manage apps.