31 KiB
GHL API — Complete Endpoint Index
Generated from 22 OpenAPI JSON specification files Total endpoints: 282
Table of Contents
- Associations (10 endpoints)
- Businesses (5 endpoints)
- Calendars (41 endpoints)
- Campaigns (1 endpoints)
- Companies (1 endpoints)
- Contacts (32 endpoints)
- Conversations (29 endpoints)
- Courses (1 endpoints)
- Custom Fields (8 endpoints)
- Emails (5 endpoints)
- Forms (3 endpoints)
- Funnels (7 endpoints)
- Invoices (42 endpoints)
- Links (6 endpoints)
- Locations (29 endpoints)
- Media (7 endpoints)
- OAuth (3 endpoints)
- Objects (9 endpoints)
- Opportunities (12 endpoints)
- Payments (23 endpoints)
- Users (7 endpoints)
- Workflows (1 endpoints)
Version Header Summary
| Category | Version Header |
|---|---|
| Associations | 2021-07-28 |
| Businesses | 2021-07-28 |
| Calendars | 2021-04-15 |
| Campaigns | 2021-07-28 |
| Companies | 2021-07-28 |
| Contacts | 2021-07-28 |
| Conversations | 2021-04-15 |
| Courses | 2021-07-28 |
| Custom Fields | 2021-07-28 |
| Emails | 2021-07-28 |
| Forms | 2021-07-28 |
| Funnels | 2021-07-28 |
| Invoices | 2021-07-28 |
| Links | 2021-04-15, 2021-07-28 |
| Locations | 2021-07-28 |
| Media | 2021-07-28 |
| OAuth | 2021-07-28 |
| Objects | 2021-07-28 |
| Opportunities | 2021-07-28 |
| Payments | 2021-07-28 |
| Users | 2021-07-28 |
| Workflows | 2021-07-28 |
Common API Quirks & Patterns
User-Agent
All requests to GHL API require a User-Agent header. Without it, you may get 403 errors.
POST as GET
Some endpoints use POST with a search body instead of GET (e.g., /contacts/search, /opportunities/search). This is because search parameters can be complex JSON.
fieldValueString vs value
When updating custom fields, use fieldValueString for text-based fields and value for numeric fields. Check the field type first via schema discovery.
DELETE with body
Some DELETE endpoints accept a request body (non-standard but supported by GHL).
Pagination
Pagination varies by endpoint. Some use offset/limit, others use cursor-based pagination with startAfter.
Associations
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/associations/ |
Get all associations for a sub-account / location | 2021-07-28 |
— |
POST |
/associations/ |
Create Association | 2021-07-28 |
— |
GET |
/associations/key/{key_name} |
Get association key by key name | 2021-07-28 |
— |
GET |
/associations/objectKey/{objectKey} |
Get association by object keys | 2021-07-28 |
— |
POST |
/associations/relations |
Create Relation for you associated entities. | 2021-07-28 |
— |
GET |
/associations/relations/{recordId} |
Get all relations By record Id | 2021-07-28 |
— |
DELETE |
/associations/relations/{relationId} |
Delete Relation | 2021-07-28 |
— |
DELETE |
/associations/{associationId} |
Delete Association | 2021-07-28 |
— |
GET |
/associations/{associationId} |
Get association by ID | 2021-07-28 |
— |
PUT |
/associations/{associationId} |
Update Association By Id | 2021-07-28 |
— |
Businesses
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/businesses/ |
Get Businesses by Location | 2021-07-28 |
— |
POST |
/businesses/ |
Create Business | 2021-07-28 |
— |
DELETE |
/businesses/{businessId} |
Delete Business | 2021-07-28 |
— |
GET |
/businesses/{businessId} |
Get Business | 2021-07-28 |
— |
PUT |
/businesses/{businessId} |
Update Business | 2021-07-28 |
— |
Calendars
⚠️ Version Header: All Calendars endpoints use
Version: 2021-04-15(different from most other APIs which use2021-07-28).
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/calendars/ |
Get Calendars | 2021-04-15 |
— |
POST |
/calendars/ |
Create Calendar | 2021-04-15 |
— |
GET |
/calendars/appointments/{appointmentId}/notes |
Get Notes | 2021-04-15 |
— |
POST |
/calendars/appointments/{appointmentId}/notes |
Create Note | 2021-04-15 |
— |
DELETE |
/calendars/appointments/{appointmentId}/notes/{noteId} |
Delete Note | 2021-04-15 |
— |
PUT |
/calendars/appointments/{appointmentId}/notes/{noteId} |
Update Note | 2021-04-15 |
— |
GET |
/calendars/blocked-slots |
Get Blocked Slots | 2021-04-15 |
— |
GET |
/calendars/events |
Get Calendar Events | 2021-04-15 |
— |
POST |
/calendars/events/appointments |
Create appointment | 2021-04-15 |
— |
GET |
/calendars/events/appointments/{eventId} |
Get Appointment | 2021-04-15 |
— |
PUT |
/calendars/events/appointments/{eventId} |
Update Appointment | 2021-04-15 |
— |
POST |
/calendars/events/block-slots |
Create Block Slot | 2021-04-15 |
— |
PUT |
/calendars/events/block-slots/{eventId} |
Update Block Slot | 2021-04-15 |
— |
DELETE |
/calendars/events/{eventId} |
Delete Event | 2021-04-15 |
— |
GET |
/calendars/groups |
Get Groups | 2021-04-15 |
— |
POST |
/calendars/groups |
Create Calendar Group | 2021-04-15 |
— |
POST |
/calendars/groups/validate-slug |
Validate group slug | 2021-04-15 |
— |
DELETE |
/calendars/groups/{groupId} |
Delete Group | 2021-04-15 |
— |
PUT |
/calendars/groups/{groupId} |
Update Group | 2021-04-15 |
— |
PUT |
/calendars/groups/{groupId}/status |
Disable Group | 2021-04-15 |
— |
GET |
/calendars/resources/{resourceType} |
List Calendar Resources | 2021-04-15 |
— |
POST |
/calendars/resources/{resourceType} |
Create Calendar Resource | 2021-04-15 |
— |
DELETE |
/calendars/resources/{resourceType}/{id} |
Delete Calendar Resource | 2021-04-15 |
— |
GET |
/calendars/resources/{resourceType}/{id} |
Get Calendar Resource | 2021-04-15 |
— |
PUT |
/calendars/resources/{resourceType}/{id} |
Update Calendar Resource | 2021-04-15 |
— |
POST |
/calendars/schedules |
Create user availability schedule | 2021-04-15 |
— |
GET |
/calendars/schedules/search |
List user availability schedule | 2021-04-15 |
— |
DELETE |
/calendars/schedules/{id} |
Delete user availability schedule | 2021-04-15 |
— |
GET |
/calendars/schedules/{id} |
Get user availability schedule | 2021-04-15 |
— |
PUT |
/calendars/schedules/{id} |
Update user availability schedule | 2021-04-15 |
— |
DELETE |
/calendars/schedules/{id}/associations/{calendarId} |
Remove user availability schedule from a calendar | 2021-04-15 |
— |
PUT |
/calendars/schedules/{id}/associations/{calendarId} |
Apply user availability schedule to a calendar | 2021-04-15 |
— |
DELETE |
/calendars/{calendarId} |
Delete Calendar | 2021-04-15 |
— |
GET |
/calendars/{calendarId} |
Get Calendar | 2021-04-15 |
— |
PUT |
/calendars/{calendarId} |
Update Calendar | 2021-04-15 |
— |
GET |
/calendars/{calendarId}/free-slots |
Get Free Slots | 2021-04-15 |
— |
GET |
/calendars/{calendarId}/notifications |
Get notifications | 2021-04-15 |
— |
POST |
/calendars/{calendarId}/notifications |
Create notification | 2021-04-15 |
— |
DELETE |
/calendars/{calendarId}/notifications/{notificationId} |
Delete Notification | 2021-04-15 |
— |
GET |
/calendars/{calendarId}/notifications/{notificationId} |
Get notification | 2021-04-15 |
— |
PUT |
/calendars/{calendarId}/notifications/{notificationId} |
Update notification | 2021-04-15 |
— |
Campaigns
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/campaigns/ |
Get Campaigns | 2021-07-28 |
— |
Companies
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/companies/{companyId} |
Get Company | 2021-07-28 |
— |
Contacts
⚠️ Deprecation:
GET /contacts/is deprecated. UsePOST /contacts/searchinstead.
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/contacts/ |
Get Contacts | 2021-07-28 |
⚠️ YES |
POST |
/contacts/ |
Create Contact | 2021-07-28 |
— |
POST |
/contacts/bulk/business |
Add/Remove Contacts From Business | 2021-07-28 |
— |
POST |
/contacts/bulk/tags/update/{type} |
Update Contacts Tags | 2021-07-28 |
— |
GET |
/contacts/business/{businessId} |
Get Contacts By BusinessId | 2021-07-28 |
— |
POST |
/contacts/search |
Search Contacts | 2021-07-28 |
— |
GET |
/contacts/search/duplicate |
Get Duplicate Contact | 2021-07-28 |
— |
POST |
/contacts/upsert |
Upsert Contact | 2021-07-28 |
— |
DELETE |
/contacts/{contactId} |
Delete Contact | 2021-07-28 |
— |
GET |
/contacts/{contactId} |
Get Contact | 2021-07-28 |
— |
PUT |
/contacts/{contactId} |
Update Contact | 2021-07-28 |
— |
GET |
/contacts/{contactId}/appointments |
Get Appointments for Contact | 2021-07-28 |
— |
DELETE |
/contacts/{contactId}/campaigns/removeAll |
Remove Contact From Every Campaign | 2021-07-28 |
— |
DELETE |
/contacts/{contactId}/campaigns/{campaignId} |
Remove Contact From Campaign | 2021-07-28 |
— |
POST |
/contacts/{contactId}/campaigns/{campaignId} |
Add Contact to Campaign | 2021-07-28 |
— |
DELETE |
/contacts/{contactId}/followers |
Remove Followers | 2021-07-28 |
— |
POST |
/contacts/{contactId}/followers |
Add Followers | 2021-07-28 |
— |
GET |
/contacts/{contactId}/notes |
Get All Notes | 2021-07-28 |
— |
POST |
/contacts/{contactId}/notes |
Create Note | 2021-07-28 |
— |
DELETE |
/contacts/{contactId}/notes/{id} |
Delete Note | 2021-07-28 |
— |
GET |
/contacts/{contactId}/notes/{id} |
Get Note | 2021-07-28 |
— |
PUT |
/contacts/{contactId}/notes/{id} |
Update Note | 2021-07-28 |
— |
DELETE |
/contacts/{contactId}/tags |
Remove Tags | 2021-07-28 |
— |
POST |
/contacts/{contactId}/tags |
Add Tags | 2021-07-28 |
— |
GET |
/contacts/{contactId}/tasks |
Get all Tasks | 2021-07-28 |
— |
POST |
/contacts/{contactId}/tasks |
Create Task | 2021-07-28 |
— |
DELETE |
/contacts/{contactId}/tasks/{taskId} |
Delete Task | 2021-07-28 |
— |
GET |
/contacts/{contactId}/tasks/{taskId} |
Get Task | 2021-07-28 |
— |
PUT |
/contacts/{contactId}/tasks/{taskId} |
Update Task | 2021-07-28 |
— |
PUT |
/contacts/{contactId}/tasks/{taskId}/completed |
Update Task Completed | 2021-07-28 |
— |
DELETE |
/contacts/{contactId}/workflow/{workflowId} |
Delete Contact from Workflow | 2021-07-28 |
— |
POST |
/contacts/{contactId}/workflow/{workflowId} |
Add Contact to Workflow | 2021-07-28 |
— |
Conversations
⚠️ Version Header: All Conversations endpoints use
Version: 2021-04-15(different from most other APIs which use2021-07-28).
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
POST |
/conversations/ |
Create Conversation | 2021-04-15 |
— |
GET |
/conversations/locations/{locationId}/messages/{messageId}/transcription |
Get transcription by Message ID | 2021-04-15 |
— |
GET |
/conversations/locations/{locationId}/messages/{messageId}/transcription/download |
Download transcription by Message ID | 2021-04-15 |
— |
POST |
/conversations/messages |
Send a new message | 2021-04-15 |
— |
DELETE |
/conversations/messages/email/{emailMessageId}/schedule |
Cancel a scheduled email message. | — |
— |
GET |
/conversations/messages/email/{id} |
Get email by Id | — |
— |
GET |
/conversations/messages/export |
Export messages by location ID | 2021-04-15 |
— |
POST |
/conversations/messages/inbound |
Add an inbound message | 2021-04-15 |
— |
POST |
/conversations/messages/outbound |
Add an external outbound call | 2021-04-15 |
— |
POST |
/conversations/messages/review-reply |
Send a review reply to Google My Business | 2021-04-15 |
— |
POST |
/conversations/messages/upload |
Upload file attachments | 2021-04-15 |
— |
POST |
/conversations/messages/upload/complete |
Complete file upload | 2021-04-15 |
— |
POST |
/conversations/messages/upload/initiate |
Initiate file upload to GCS | 2021-04-15 |
— |
GET |
/conversations/messages/{id} |
Get message by message id | 2021-04-15 |
— |
PUT |
/conversations/messages/{messageId}/attachments |
Add message attachments | 2021-04-15 |
— |
GET |
/conversations/messages/{messageId}/locations/{locationId}/recording |
Get Recording by Message ID | 2021-04-15 |
— |
DELETE |
/conversations/messages/{messageId}/schedule |
Cancel a scheduled message. | 2021-04-15 |
— |
PUT |
/conversations/messages/{messageId}/status |
Update message status | 2021-04-15 |
— |
GET |
/conversations/preferences/custom-subtypes |
Get All Custom Subtypes | 2021-04-15 |
— |
POST |
/conversations/preferences/custom-subtypes |
Create Custom Subtype | 2021-04-15 |
— |
PUT |
/conversations/preferences/custom-subtypes/{id} |
Update Custom Subtype | 2021-04-15 |
— |
GET |
/conversations/preferences/unsubscriptions/status |
Get Contact Unsubscription Status | 2021-04-15 |
— |
POST |
/conversations/preferences/unsubscriptions/user-change |
User Subscription Change | 2021-04-15 |
— |
POST |
/conversations/providers/live-chat/typing |
Agent/Ai-Bot is typing a message indicator for live chat | 2021-04-15 |
— |
GET |
/conversations/search |
Search Conversations | 2021-04-15 |
— |
DELETE |
/conversations/{conversationId} |
Delete Conversation | 2021-04-15 |
— |
GET |
/conversations/{conversationId} |
Get Conversation | 2021-04-15 |
— |
PUT |
/conversations/{conversationId} |
Update Conversation | 2021-04-15 |
— |
GET |
/conversations/{conversationId}/messages |
Get messages by conversation id | 2021-04-15 |
— |
Courses
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
POST |
/courses/courses-exporter/public/import |
Import Courses | 2021-07-28 |
— |
Custom Fields
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
POST |
/custom-fields/ |
Create Custom Field | 2021-07-28 |
— |
POST |
/custom-fields/folder |
Create Custom Field Folder | 2021-07-28 |
— |
DELETE |
/custom-fields/folder/{id} |
Delete Custom Field Folder | 2021-07-28 |
— |
PUT |
/custom-fields/folder/{id} |
Update Custom Field Folder Name | 2021-07-28 |
— |
GET |
/custom-fields/object-key/{objectKey} |
Get Custom Fields By Object Key | 2021-07-28 |
— |
DELETE |
/custom-fields/{id} |
Delete Custom Field By Id | 2021-07-28 |
— |
GET |
/custom-fields/{id} |
Get Custom Field / Folder By Id | 2021-07-28 |
— |
PUT |
/custom-fields/{id} |
Update Custom Field By Id | 2021-07-28 |
— |
Emails
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/emails/builder |
Fetch email templates | 2021-07-28 |
— |
POST |
/emails/builder |
Create a new template | 2021-07-28 |
— |
POST |
/emails/builder/data |
Update a template | 2021-07-28 |
— |
DELETE |
/emails/builder/{locationId}/{templateId} |
Delete a template | 2021-07-28 |
— |
GET |
/emails/schedule |
Get Campaigns | 2021-07-28 |
— |
Forms
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/forms/ |
Get Forms | 2021-07-28 |
— |
GET |
/forms/submissions |
Get Forms Submissions | 2021-07-28 |
— |
POST |
/forms/upload-custom-files |
Upload files to custom fields | 2021-07-28 |
— |
Funnels
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/funnels/funnel/list |
Fetch List of Funnels | — |
— |
POST |
/funnels/lookup/redirect |
Create Redirect | 2021-07-28 |
— |
GET |
/funnels/lookup/redirect/list |
Fetch List of Redirects | 2021-07-28 |
— |
DELETE |
/funnels/lookup/redirect/{id} |
Delete Redirect By Id | 2021-07-28 |
— |
PATCH |
/funnels/lookup/redirect/{id} |
Update Redirect By Id | 2021-07-28 |
— |
GET |
/funnels/page |
Fetch list of funnel pages | — |
— |
GET |
/funnels/page/count |
Fetch count of funnel pages | — |
— |
Invoices
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/invoices/ |
List invoices | 2021-07-28 |
— |
POST |
/invoices/ |
Create Invoice | 2021-07-28 |
— |
POST |
/invoices/estimate |
Create New Estimate | 2021-07-28 |
— |
GET |
/invoices/estimate/list |
List Estimates | 2021-07-28 |
— |
GET |
/invoices/estimate/number/generate |
Generate Estimate Number | 2021-07-28 |
— |
PATCH |
/invoices/estimate/stats/last-visited-at |
Update estimate last visited at | 2021-07-28 |
— |
GET |
/invoices/estimate/template |
List Estimate Templates | 2021-07-28 |
— |
POST |
/invoices/estimate/template |
Create Estimate Template | 2021-07-28 |
— |
GET |
/invoices/estimate/template/preview |
Preview Estimate Template | 2021-07-28 |
— |
DELETE |
/invoices/estimate/template/{templateId} |
Delete Estimate Template | 2021-07-28 |
— |
PUT |
/invoices/estimate/template/{templateId} |
Update Estimate Template | 2021-07-28 |
— |
DELETE |
/invoices/estimate/{estimateId} |
Delete Estimate | 2021-07-28 |
— |
PUT |
/invoices/estimate/{estimateId} |
Update Estimate | 2021-07-28 |
— |
POST |
/invoices/estimate/{estimateId}/invoice |
Create Invoice from Estimate | 2021-07-28 |
— |
POST |
/invoices/estimate/{estimateId}/send |
Send Estimate | 2021-07-28 |
— |
GET |
/invoices/generate-invoice-number |
Generate Invoice Number | 2021-07-28 |
— |
GET |
/invoices/schedule |
List schedules | 2021-07-28 |
— |
POST |
/invoices/schedule |
Create Invoice Schedule | 2021-07-28 |
— |
DELETE |
/invoices/schedule/{scheduleId} |
Delete schedule | 2021-07-28 |
— |
GET |
/invoices/schedule/{scheduleId} |
Get an schedule | 2021-07-28 |
— |
PUT |
/invoices/schedule/{scheduleId} |
Update schedule | 2021-07-28 |
— |
POST |
/invoices/schedule/{scheduleId}/auto-payment |
Manage Auto payment for an schedule invoice | 2021-07-28 |
— |
POST |
/invoices/schedule/{scheduleId}/cancel |
Cancel an scheduled invoice | 2021-07-28 |
— |
POST |
/invoices/schedule/{scheduleId}/schedule |
Schedule an schedule invoice | 2021-07-28 |
— |
POST |
/invoices/schedule/{scheduleId}/updateAndSchedule |
Update scheduled recurring invoice | 2021-07-28 |
— |
GET |
/invoices/settings |
Get Invoice Settings | 2021-07-28 |
— |
PATCH |
/invoices/stats/last-visited-at |
Update invoice last visited at | 2021-07-28 |
— |
GET |
/invoices/template |
List templates | 2021-07-28 |
— |
POST |
/invoices/template |
Create template | 2021-07-28 |
— |
DELETE |
/invoices/template/{templateId} |
Delete template | 2021-07-28 |
— |
GET |
/invoices/template/{templateId} |
Get an template | 2021-07-28 |
— |
PUT |
/invoices/template/{templateId} |
Update template | 2021-07-28 |
— |
PATCH |
/invoices/template/{templateId}/late-fees-configuration |
Update template late fees configuration | 2021-07-28 |
— |
PATCH |
/invoices/template/{templateId}/payment-methods-configuration |
Update template late fees configuration | 2021-07-28 |
— |
POST |
/invoices/text2pay |
Create & Send | 2021-07-28 |
— |
DELETE |
/invoices/{invoiceId} |
Delete invoice | 2021-07-28 |
— |
GET |
/invoices/{invoiceId} |
Get invoice | 2021-07-28 |
— |
PUT |
/invoices/{invoiceId} |
Update invoice | 2021-07-28 |
— |
PATCH |
/invoices/{invoiceId}/late-fees-configuration |
Update invoice late fees configuration | 2021-07-28 |
— |
POST |
/invoices/{invoiceId}/record-payment |
Record a manual payment for an invoice | 2021-07-28 |
— |
POST |
/invoices/{invoiceId}/send |
Send invoice | 2021-07-28 |
— |
POST |
/invoices/{invoiceId}/void |
Void invoice | 2021-07-28 |
— |
Links
⚠️ Mixed Versions: Most Links endpoints use
2021-07-28, butGET /links/searchusesVersion: 2021-04-15.
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/links/ |
Get Links | 2021-07-28 |
— |
POST |
/links/ |
Create Link | 2021-07-28 |
— |
GET |
/links/id/{linkId} |
Get Link by ID | 2021-07-28 |
— |
GET |
/links/search |
Search Trigger Links | 2021-04-15 |
— |
DELETE |
/links/{linkId} |
Delete Link | 2021-07-28 |
— |
PUT |
/links/{linkId} |
Update Link | 2021-07-28 |
— |
Locations
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
POST |
/locations/ |
Create Sub-Account (Formerly Location) | 2021-07-28 |
— |
GET |
/locations/search |
Search | 2021-07-28 |
— |
DELETE |
/locations/{locationId} |
Delete Sub-Account (Formerly Location) | 2021-07-28 |
— |
GET |
/locations/{locationId} |
Get Sub-Account (Formerly Location) | 2021-07-28 |
— |
PUT |
/locations/{locationId} |
Put Sub-Account (Formerly Location) | 2021-07-28 |
— |
GET |
/locations/{locationId}/customFields |
Get Custom Fields | 2021-07-28 |
— |
POST |
/locations/{locationId}/customFields |
Create Custom Field | 2021-07-28 |
— |
POST |
/locations/{locationId}/customFields/upload |
Uploads File to customFields | 2021-07-28 |
— |
DELETE |
/locations/{locationId}/customFields/{id} |
Delete Custom Field | 2021-07-28 |
— |
GET |
/locations/{locationId}/customFields/{id} |
Get Custom Field | 2021-07-28 |
— |
PUT |
/locations/{locationId}/customFields/{id} |
Update Custom Field | 2021-07-28 |
— |
GET |
/locations/{locationId}/customValues |
Get Custom Values | 2021-07-28 |
— |
POST |
/locations/{locationId}/customValues |
Create Custom Value | 2021-07-28 |
— |
DELETE |
/locations/{locationId}/customValues/{id} |
Delete Custom Value | 2021-07-28 |
— |
GET |
/locations/{locationId}/customValues/{id} |
Get Custom Value | 2021-07-28 |
— |
PUT |
/locations/{locationId}/customValues/{id} |
Update Custom Value | 2021-07-28 |
— |
POST |
/locations/{locationId}/recurring-tasks |
Create Recurring Task | 2021-07-28 |
— |
DELETE |
/locations/{locationId}/recurring-tasks/{id} |
Delete Recurring Task | 2021-07-28 |
— |
GET |
/locations/{locationId}/recurring-tasks/{id} |
Get Recurring Task By Id | 2021-07-28 |
— |
PUT |
/locations/{locationId}/recurring-tasks/{id} |
Update Recurring Task | 2021-07-28 |
— |
GET |
/locations/{locationId}/tags |
Get Tags | 2021-07-28 |
— |
POST |
/locations/{locationId}/tags |
Create Tag | 2021-07-28 |
— |
DELETE |
/locations/{locationId}/tags/{tagId} |
Delete tag | 2021-07-28 |
— |
GET |
/locations/{locationId}/tags/{tagId} |
Get tag by id | 2021-07-28 |
— |
PUT |
/locations/{locationId}/tags/{tagId} |
Update tag | 2021-07-28 |
— |
POST |
/locations/{locationId}/tasks/search |
Task Search Filter | 2021-07-28 |
— |
GET |
/locations/{locationId}/templates |
GET all or email/sms templates | 2021-07-28 |
— |
DELETE |
/locations/{locationId}/templates/{id} |
DELETE an email/sms template | 2021-07-28 |
— |
GET |
/locations/{locationId}/timezones |
Fetch Timezones | 2021-07-28 |
— |
Media
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
PUT |
/medias/delete-files |
Bulk Delete / Trash Files or Folders | 2021-07-28 |
— |
GET |
/medias/files |
Get List of Files/ Folders | 2021-07-28 |
— |
POST |
/medias/folder |
Create Folder | 2021-07-28 |
— |
PUT |
/medias/update-files |
Bulk Update Files/ Folders | 2021-07-28 |
— |
POST |
/medias/upload-file |
Upload File into Media Storage | 2021-07-28 |
— |
DELETE |
/medias/{id} |
Delete File or Folder | 2021-07-28 |
— |
POST |
/medias/{id} |
Update File/ Folder | 2021-07-28 |
— |
OAuth
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/oauth/installedLocations |
Get Location where app is installed | 2021-07-28 |
— |
POST |
/oauth/locationToken |
Get Location Access Token from Agency Token | 2021-07-28 |
— |
POST |
/oauth/token |
Get Access Token | — |
— |
Objects
⚠️ Schema Discovery: Use
GET /objects/{key}?locationId=LOC_IDwithVersion: 2021-07-28for schema discovery. Object key for custom objects must includecustom_objects.prefix.
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/objects/ |
Get all objects for a location | 2021-07-28 |
— |
POST |
/objects/ |
Create Custom Object | 2021-07-28 |
— |
GET |
/objects/{key} |
Get Object Schema by key / id | 2021-07-28 |
— |
PUT |
/objects/{key} |
Update Object Schema By Key / Id | 2021-07-28 |
— |
POST |
/objects/{schemaKey}/records |
Create Record | 2021-07-28 |
— |
POST |
/objects/{schemaKey}/records/search |
Search Object Records | 2021-07-28 |
— |
DELETE |
/objects/{schemaKey}/records/{id} |
Delete Record | 2021-07-28 |
— |
GET |
/objects/{schemaKey}/records/{id} |
Get Record By Id | 2021-07-28 |
— |
PUT |
/objects/{schemaKey}/records/{id} |
Update Record | 2021-07-28 |
— |
Opportunities
⚠️ Search Quirk: The
POST /opportunities/searchendpoint sometimes has issues filtering bycontactIddirectly. Use the newer search endpoint or work around with custom filters.
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
POST |
/opportunities/ |
Create Opportunity | 2021-07-28 |
— |
GET |
/opportunities/lost-reason |
Get lost reason | 2021-07-28 |
— |
GET |
/opportunities/pipelines |
Get Pipelines | 2021-07-28 |
— |
GET |
/opportunities/search |
Search Opportunity | 2021-07-28 |
— |
POST |
/opportunities/search |
Search Opportunities | 2021-07-28 |
— |
POST |
/opportunities/upsert |
Upsert Opportunity | 2021-07-28 |
— |
DELETE |
/opportunities/{id} |
Delete Opportunity | 2021-07-28 |
— |
GET |
/opportunities/{id} |
Get Opportunity | 2021-07-28 |
— |
PUT |
/opportunities/{id} |
Update Opportunity | 2021-07-28 |
— |
DELETE |
/opportunities/{id}/followers |
Remove Followers | 2021-07-28 |
— |
POST |
/opportunities/{id}/followers |
Add Followers | 2021-07-28 |
— |
PUT |
/opportunities/{id}/status |
Update Opportunity Status | 2021-07-28 |
— |
Payments
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
DELETE |
/payments/coupon |
Delete Coupon | 2021-07-28 |
— |
GET |
/payments/coupon |
Fetch Coupon | 2021-07-28 |
— |
POST |
/payments/coupon |
Create Coupon | 2021-07-28 |
— |
PUT |
/payments/coupon |
Update Coupon | 2021-07-28 |
— |
GET |
/payments/coupon/list |
List Coupons | 2021-07-28 |
— |
PUT |
/payments/custom-provider/capabilities |
Custom-provider marketplace app update capabilities | 2021-07-28 |
— |
GET |
/payments/custom-provider/connect |
Fetch given provider config | 2021-07-28 |
— |
POST |
/payments/custom-provider/connect |
Create new provider config | 2021-07-28 |
— |
POST |
/payments/custom-provider/disconnect |
Disconnect existing provider config | 2021-07-28 |
— |
DELETE |
/payments/custom-provider/provider |
Deleting an existing integration | 2021-07-28 |
— |
POST |
/payments/custom-provider/provider |
Create new integration | 2021-07-28 |
— |
GET |
/payments/integrations/provider/whitelabel |
List White-label Integration Providers | 2021-07-28 |
— |
POST |
/payments/integrations/provider/whitelabel |
Create White-label Integration Provider | 2021-07-28 |
— |
GET |
/payments/orders |
List Orders | 2021-07-28 |
— |
GET |
/payments/orders/{orderId} |
Get Order by ID | 2021-07-28 |
— |
GET |
/payments/orders/{orderId}/fulfillments |
List fulfillment | 2021-07-28 |
— |
POST |
/payments/orders/{orderId}/fulfillments |
Create order fulfillment | 2021-07-28 |
— |
GET |
/payments/orders/{orderId}/notes |
List Order Notes | 2021-07-28 |
— |
POST |
/payments/orders/{orderId}/record-payment |
Record Order Payment | 2021-07-28 |
— |
GET |
/payments/subscriptions |
List Subscriptions | 2021-07-28 |
— |
GET |
/payments/subscriptions/{subscriptionId} |
Get Subscription by ID | 2021-07-28 |
— |
GET |
/payments/transactions |
List Transactions | 2021-07-28 |
— |
GET |
/payments/transactions/{transactionId} |
Get Transaction by ID | 2021-07-28 |
— |
Users
⚠️ Deprecations: Email update is deprecated. User deletion is asynchronous (returns 202 Accepted).
GET /users/is deprecated — useGET /users/searchinstead.
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/users/ |
Get User by Location | 2021-07-28 |
⚠️ YES |
POST |
/users/ |
Create User | 2021-07-28 |
— |
GET |
/users/search |
Search Users | 2021-07-28 |
— |
POST |
/users/search/filter-by-email |
Filter Users by Email | 2021-07-28 |
— |
DELETE |
/users/{userId} |
Delete User | 2021-07-28 |
— |
GET |
/users/{userId} |
Get User | 2021-07-28 |
— |
PUT |
/users/{userId} |
Update User | 2021-07-28 |
— |
Workflows
| Method | Path | Summary | Version | Deprecated |
|---|---|---|---|---|
GET |
/workflows/ |
Get Workflow | 2021-07-28 |
— |
Documentation generated from GHL OpenAPI specifications. Always verify against the official GHL API documentation for the latest changes.