Drift API

By Abhishek Kumar
5 min read
Drift transforms website traffic into qualified leads with live chat and AI-driven bots. Use the Drift API for seamless integration and real-time customer engagement

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

Conversations

Method: get

Description: Returns the conversation with the given ID..

Endpoint: v2/conversations/{conversationId}

Parameters: conversationId

Conversations

Method: post

Description: Create a new conversation..

Endpoint: v2/conversations

Parameters: background_mode, labels, tags, users

Messages

Method: get

Description: Returns a message with the given ID..

Endpoint: v2/conversations/{conversationId}/messages/{messageId}

Parameters: messageId

Messages

Method: post

Description: Create a new message..

Endpoint: v2/conversations/{conversationId}/messages

Parameters: body, client_message_id, conversation_id, labels, use_custom_avatar

Contacts

Method: get

Description: Returns the contact with the given ID..

Endpoint: v2/contacts/{contactId}

Parameters: contactId

Contacts

Method: post

Description: Create a new contact..

Endpoint: v2/contacts

Parameters: background_mode, labels, tags, users

Notes

Method: get

Description: Returns the note with the given ID..

Endpoint: v2/conversations/{conversationId}/timeline/notes/{noteId}

Parameters: noteId

Notes

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

Tags

Method: get

Description: Returns the tag with the given ID..

Endpoint: v2/tags/{tagId}

Parameters: tagId

Tags

Method: post

Description: Create a new tag..

Endpoint: v2/tags

Parameters: background_mode, color, description, enabled, name

Tags

Method: patch

Description: Update a tag..

Endpoint: v2/tags/{tagId}

Parameters: background_mode, color, description, enabled, name

Tags

Method: delete

Description: Delete a tag..

Endpoint: v2/tags/{tagId}

Parameters: tagId

Conversations

Method: patch

Description: Update a conversation..

Endpoint: v2/conversations/{conversationId}

Parameters: assigned_user_id, custom_attributes, labels, tags, workflow_id

Conversations

Method: delete

Description: Delete a conversation..

Endpoint: v2/conversations/{conversationId}

Parameters: conversationId

Conversations

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

Contacts

Method: patch

Description: Update a contact..

Endpoint: v2/contacts/{contactId}

Parameters: assigned_user_id, background_mode, custom_attributes, email, labels, tags

Contacts

Method: delete

Description: Delete a contact..

Endpoint: v2/contacts/{contactId}

Parameters: contactId

Conversations

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

Messages

Method: patch

Description: Update a message..

Endpoint: v2/conversations/{conversationId}/messages/{messageId}

Parameters: body, labels, reply, type

Contacts

Method: get

Description: Returns a list of company contacts..

Endpoint: v2/companies/{companyId}/people

Parameters: scope, search

Teams

Method: get

Description: Returns a list of company teams..

Endpoint: v2/companies/{companyId}/teams

Parameters: scope, search

Meetings

Method: get

Description: Returns the meeting with the given ID..

Endpoint: v2/meetings/{meetingId}

Parameters: meetingId

Meetings

Method: post

Description: Create a new meeting..

Endpoint: v2/meetings

Parameters: conversation_id, created_by, duration, start_at, updated_by

Meetings

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

Meetings

Method: delete

Description: Deletes the meeting with the given ID..

Endpoint: v2/meetings/{meetingId}

Parameters: meetingId

Meetings

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

Contacts

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

Contacts

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

Notes

Method: patch

Description: Update a note..

Endpoint: v2/conversations/{conversationId}/timeline/notes/{noteId}

Parameters: body, closed, created_at, labels, tags, type

Contacts

Method: get

Description: Returns a list of contacts..

Endpoint: v2/contacts

Parameters: background_mode, custom_attributes, email, labels, search, tags, workflow_id

Meetings

Method: post

Description: Create a new meeting participant..

Endpoint: v2/meetings/{meetingId}/participants

Parameters: email, first_name, last_name

Conversations

Method: get

Description: Return a list of conversations by status..

Endpoint: v2/conversations/status/{status}

Parameters: archived, status

Driftbot

Method: patch

Description: Updates Driftbot's message..

Endpoint: v2/conversations/{conversationId}/driftbot

Parameters: body, labels

Driftbot

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.

Last Update: September 05, 2024