Files
2026-04-11 09:45:12 -05:00

3.1 KiB

Keap Routing Reference

App name: keap Base URL proxied: api.infusionsoft.com/crm/rest

API Path Pattern

/keap/crm/rest/v2/{resource}

Note: The /crm/rest prefix is required in the path.

Common Endpoints

Get Current User

GET /keap/crm/rest/v2/oauth/connect/userinfo

List Contacts

GET /keap/crm/rest/v2/contacts

Query parameters: page_size, page_token, filter, order_by, fields

Get Contact

GET /keap/crm/rest/v2/contacts/{contact_id}

Create Contact

POST /keap/crm/rest/v2/contacts
Content-Type: application/json

{
  "given_name": "John",
  "family_name": "Doe",
  "email_addresses": [{"email": "john@example.com", "field": "EMAIL1"}]
}

Update Contact

PATCH /keap/crm/rest/v2/contacts/{contact_id}
Content-Type: application/json

{
  "given_name": "Jane"
}

Delete Contact

DELETE /keap/crm/rest/v2/contacts/{contact_id}

List Companies

GET /keap/crm/rest/v2/companies

List Tags

GET /keap/crm/rest/v2/tags

Apply Tags to Contacts

POST /keap/crm/rest/v2/tags/{tag_id}/contacts:applyTags
Content-Type: application/json

{
  "contact_ids": ["1", "2", "3"]
}

List Tasks

GET /keap/crm/rest/v2/tasks

Create Task

POST /keap/crm/rest/v2/tasks
Content-Type: application/json

{
  "title": "Follow up call",
  "due_date": "2026-02-15T10:00:00Z",
  "contact": {"id": "9"}
}

List Opportunities

GET /keap/crm/rest/v2/opportunities

List Orders

GET /keap/crm/rest/v2/orders

List Products

GET /keap/crm/rest/v2/products

List Campaigns

GET /keap/crm/rest/v2/campaigns

Add Contacts to Campaign Sequence

POST /keap/crm/rest/v2/campaigns/{campaign_id}/sequences/{sequence_id}:addContacts
Content-Type: application/json

{
  "contact_ids": ["1", "2"]
}

List Emails

GET /keap/crm/rest/v2/emails

Send Email

POST /keap/crm/rest/v2/emails:send
Content-Type: application/json

{
  "contacts": [{"id": "9"}],
  "subject": "Hello",
  "html_content": "<p>Email body</p>"
}

List Automations

GET /keap/crm/rest/v2/automations

List Affiliates

GET /keap/crm/rest/v2/affiliates

List Subscriptions

GET /keap/crm/rest/v2/subscriptions

Pagination

Uses token-based pagination:

GET /keap/crm/rest/v2/contacts?page_size=50
GET /keap/crm/rest/v2/contacts?page_size=50&page_token=NEXT_TOKEN

Response includes next_page_token (empty when no more pages).

Filtering

Use the filter parameter:

GET /keap/crm/rest/v2/contacts?filter=given_name==John
GET /keap/crm/rest/v2/tasks?filter=completed==false

Notes

  • API version is v2 (v1 is deprecated)
  • Path must include /crm/rest prefix
  • IDs are returned as strings
  • Maximum page_size is 1000
  • Timestamps use ISO 8601 format

Resources