Maton

Keap

Access the Keap API with managed OAuth authentication. Manage contacts, companies, tags, tasks, orders, opportunities, campaigns, and more for CRM and marketing automation.

Reference

Get Current User

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

Response:

{
  "email": "user@example.com",
  "sub": "1",
  "id": "4236128",
  "keap_id": "user@example.com",
  "family_name": "Doe",
  "given_name": "John",
  "is_admin": true
}

List Contacts

GET /keap/crm/rest/v2/contacts

Query parameters:

  • page_size - Number of results per page (default 50, max 1000)
  • page_token - Token for next page
  • filter - Filter expression
  • order_by - Sort order
  • fields - Fields to include in response

Response:

{
  "contacts": [
    {
      "id": "9",
      "family_name": "Park",
      "given_name": "John"
    }
  ],
  "next_page_token": ""
}

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"}
  ],
  "phone_numbers": [
    {"number": "555-1234", "field": "PHONE1"}
  ]
}

Response:

{
  "id": "13",
  "family_name": "Doe",
  "given_name": "John"
}

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}

Returns 204 on success.

Get Contact Notes

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

Create Contact Note

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

{
  "body": "Note content here",
  "title": "Note Title"
}

List Companies

GET /keap/crm/rest/v2/companies

Get Company

GET /keap/crm/rest/v2/companies/{company_id}

Create Company

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

{
  "company_name": "Acme Corp",
  "phone_number": {"number": "555-1234", "type": "MAIN"},
  "website": "https://acme.com"
}

Update Company

PATCH /keap/crm/rest/v2/companies/{company_id}
Content-Type: application/json

{
  "company_name": "Acme Corporation"
}

Delete Company

DELETE /keap/crm/rest/v2/companies/{company_id}

List Tags

GET /keap/crm/rest/v2/tags

Response:

{
  "tags": [
    {
      "id": "91",
      "name": "Nurture Subscriber",
      "description": "",
      "category": {"id": "10"},
      "create_time": "2017-04-24T17:26:26Z",
      "update_time": "2017-04-24T17:26:26Z"
    }
  ],
  "next_page_token": ""
}

Get Tag

GET /keap/crm/rest/v2/tags/{tag_id}

Create Tag

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

{
  "name": "VIP Customer",
  "description": "High value customers"
}

Update Tag

PATCH /keap/crm/rest/v2/tags/{tag_id}
Content-Type: application/json

{
  "name": "Premium Customer"
}

Delete Tag

DELETE /keap/crm/rest/v2/tags/{tag_id}

List Contacts with Tag

GET /keap/crm/rest/v2/tags/{tag_id}/contacts

Apply Tags to Contacts

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

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

Remove Tags from Contacts

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

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

List Tag Categories

GET /keap/crm/rest/v2/tags/categories

Create Tag Category

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

{
  "name": "Customer Segments"
}

List Tasks

GET /keap/crm/rest/v2/tasks

Get Task

GET /keap/crm/rest/v2/tasks/{task_id}

Create Task

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

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

Update Task

PATCH /keap/crm/rest/v2/tasks/{task_id}
Content-Type: application/json

{
  "completed": true
}

Delete Task

DELETE /keap/crm/rest/v2/tasks/{task_id}

List Opportunities

GET /keap/crm/rest/v2/opportunities

Get Opportunity

GET /keap/crm/rest/v2/opportunities/{opportunity_id}

Create Opportunity

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

{
  "opportunity_title": "New Deal",
  "contact": {"id": "9"},
  "stage": {"id": "1"},
  "estimated_close_date": "2026-03-01"
}

Update Opportunity

PATCH /keap/crm/rest/v2/opportunities/{opportunity_id}
Content-Type: application/json

{
  "stage": {"id": "2"}
}

Delete Opportunity

DELETE /keap/crm/rest/v2/opportunities/{opportunity_id}

List Opportunity Stages

GET /keap/crm/rest/v2/opportunities/stages

List Orders

GET /keap/crm/rest/v2/orders

Get Order

GET /keap/crm/rest/v2/orders/{order_id}

Create Order

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

{
  "contact": {"id": "9"},
  "order_date": "2026-02-08",
  "order_title": "Product Order"
}

Add Order Item

POST /keap/crm/rest/v2/orders/{order_id}/items
Content-Type: application/json

{
  "product": {"id": "1"},
  "quantity": 2
}

List Products

GET /keap/crm/rest/v2/products

Get Product

GET /keap/crm/rest/v2/products/{product_id}

Create Product

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

{
  "product_name": "Consulting Package",
  "product_price": 500.00,
  "product_short_description": "1 hour consulting"
}

List Campaigns

GET /keap/crm/rest/v2/campaigns

Get Campaign

GET /keap/crm/rest/v2/campaigns/{campaign_id}

List Campaign Sequences

GET /keap/crm/rest/v2/campaigns/{campaign_id}/sequences

Add Contacts to Sequence

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

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

Remove Contacts from Sequence

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

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

List Emails

GET /keap/crm/rest/v2/emails

Get Email

GET /keap/crm/rest/v2/emails/{email_id}

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 Users

GET /keap/crm/rest/v2/users

Get User

GET /keap/crm/rest/v2/users/{user_id}

List Subscriptions

GET /keap/crm/rest/v2/subscriptions

Get Subscription

GET /keap/crm/rest/v2/subscriptions/{subscription_id}

List Affiliates

GET /keap/crm/rest/v2/affiliates

Get Affiliate

GET /keap/crm/rest/v2/affiliates/{affiliate_id}

List Automations

GET /keap/crm/rest/v2/automations

Get Automation

GET /keap/crm/rest/v2/automations/{automation_id}

Resources

On this page