How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Infusionsoft (Keap) Contact API

Contact-Tag-Endpoint

Infusionsoft (Keap) Contact API is one of 59 APIs that Infusionsoft (Keap) publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Contact. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and authentication docs.

This API exposes 72 operations across 43 paths, and defines 100 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against 3 base URLs: https://api.keap.com/crm, https://api.infusionsoft.com/crm/rest, https://api.infusionsoft.com/crm.

72 operations 43 paths 100 schemas 12 DELETE27 GET7 PATCH24 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.infusionsoft.com/crm/rest/v2
Authentication
OAuth 2.0
License
Resource Areas
1

Authentication & Security 1

Infusionsoft (Keap) Contact API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow.

Paths & Operations 72

Across 43 paths, the API surfaces 72 operations — 12 DELETE, 27 GET, 7 PATCH, 24 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

Contact 72
GET
/rest/v2/contacts
List Contacts
listContacts 5 params → 200400401403404405409500
POST
/rest/v2/contacts
Create a Contact
createContact 2 params body → 200201400401403404405409
POST
/rest/v2/contacts:unlink
Delete Link between two Contacts
unlinkContacts body → 204400401403404405409500
POST
/rest/v2/contacts:merge
Merge two Contacts
mergeContacts 1 param body → 200400401403404405409500
POST
/rest/v2/contacts:link
Link Contacts
linkContacts body → 201400401403404405409500
POST
/rest/v2/contacts/model/customFields
Create a Contact Custom Field
createContactCustomField body → 201400401403404405409500
GET
/rest/v2/contacts/model/customFields/tabs
List Contact Custom Field Tabs
listContactCustomFieldTabs → 200400401403404405409500
POST
/rest/v2/contacts/model/customFields/tabs
Create a Contact Custom Field Tab
createContactCustomFieldTab body → 201400401403404405409500
GET
/rest/v2/contacts/model/customFields/groups
List Contact Custom Field Groups
listContactCustomFieldGroups 1 param → 200400401403404405409500
POST
/rest/v2/contacts/model/customFields/groups
Create a Contact Custom Field Group
createContactCustomFieldGroup body → 201400401403404405409500
GET
/rest/v2/contacts/links/types
List Contact Link types
listContactLinkTypes 4 params → 200400401403404405409500
POST
/rest/v2/contacts/links/types
Create a Contact Link type
createContactLinkType body → 201400401403404405409500
GET
/rest/v2/contacts/{contact_id}
Retrieve a Contact
getContact 2 params → 200400401403404405409500
DELETE
/rest/v2/contacts/{contact_id}
Delete a Contact
deleteContact 1 param → 204400401403404405409500
PATCH
/rest/v2/contacts/{contact_id}
Update a Contact
updateContact 3 params body → 200400401403404405409500
GET
/rest/v2/contacts/model/customFields/tabs/{tab_id}
Retrieve a Contact Custom Field Tab
getContactCustomFieldTab 1 param → 200400401403404405409500
DELETE
/rest/v2/contacts/model/customFields/tabs/{tab_id}
Delete a Contact Custom Field Tab
deleteContactCustomFieldTab 1 param → 204400401403404405409500
PATCH
/rest/v2/contacts/model/customFields/tabs/{tab_id}
Update a Contact Custom Field Tab
updateContactCustomFieldTab 2 params body → 200400401403404405409500
GET
/rest/v2/contacts/model/customFields/groups/{group_id}
Retrieve a Contact Custom Field Group
getContactCustomFieldGroup 1 param → 200400401403404405409500
DELETE
/rest/v2/contacts/model/customFields/groups/{group_id}
Delete a Contact Custom Field Group
deleteContactCustomFieldGroup 1 param → 204400401403404405409500
PATCH
/rest/v2/contacts/model/customFields/groups/{group_id}
Update a Contact Custom Field Group
updateContactCustomFieldGroup 2 params body → 200400401403404405409500
DELETE
/rest/v2/contacts/links/types/{link_type_id}
Delete a Contact Link type
deleteContactLinkType 1 param → 204400401403404405409500
PATCH
/rest/v2/contacts/links/types/{link_type_id}
Update a Contact Link type
updateContactLinkType 2 params body → 200400401403404405409500
GET
/rest/v2/contacts/{contact_id}/tags
List Applied Tags
listTagsForContact 5 params → 200400401403404405409500
GET
/rest/v2/contacts/{contact_id}/links
List Linked Contacts
listContactLinks 1 param → 200400401403404405409500
GET
/rest/v2/contacts/model
Retrieve Contact Model
retrieveContactModel → 200400401403404405409500
DELETE
/rest/v2/contacts/model/customFields/{custom_field_id}
Delete a Contact Custom Field
deleteContactCustomField 1 param → 204400401403404405409500
GET
/v1/contacts
List Contacts
listContactsUsingGET 10 params → 200401403404500
PUT
/v1/contacts
Create or Update a Contact
createOrUpdateContactUsingPUT body → 200401403404500
POST
/v1/contacts
Create a Contact
createContactUsingPOST body → 201401403500
GET
/v1/contacts/model
Retrieve Contact Model
retrieveContactModelUsingGET → 200401403404500
POST
/v1/contacts/model/customFields
Create a Custom Field
createCustomFieldUsingPOST body → 201401403500
DELETE
/v1/contacts/{contactId}
Delete a Contact
deleteContactUsingDELETE 1 param → 204401403404500
PATCH
/v1/contacts/{contactId}
Update a Contact
updatePropertiesOnContactUsingPATCH 2 params body → 200401403404500
GET
/v1/contacts/{contactId}/creditCards
Retrieve Credit Cards
listCreditCardsUsingGET 1 param → 200401403404500
POST
/v1/contacts/{contactId}/creditCards
Create a Credit Card
createCreditCardUsingPOST 1 param body → 201401403500
GET
/v1/contacts/{contactId}/emails
List Emails
listEmailsForContactUsingGET 4 params → 200401403404500
POST
/v1/contacts/{contactId}/emails
Create an Email Record
createEmailForContactUsingPOST 1 param body → 201401403500
GET
/v1/contacts/{contactId}/tags
List Applied Tags
listAppliedTagsUsingGET 3 params → 200401403404500
POST
/v1/contacts/{contactId}/tags
Apply Tags
applyTagsToContactIdUsingPOST 1 param body → 200401403500
DELETE
/v1/contacts/{contactId}/tags
Remove Applied Tags
removeTagsFromContactUsingDELETE 2 params → 204401403404500
DELETE
/v1/contacts/{contactId}/tags/{tagId}
Remove Applied Tag
removeTagsFromContactUsingDELETE_1 2 params → 204401403404500
POST
/v1/contacts/{contactId}/utm
Insert UTMs for a Contact
insertUTMsUsingPOST 1 param body → 201401403500
GET
/v1/contacts/{id}
Retrieve a Contact
getContactUsingGET 2 params → 200401403404500
GET
/rest/v1/contacts
List Contacts
listContacts 2 params → 400401500403409404501405
PUT
/rest/v1/contacts
Create or Update a Contact
createOrUpdateContact body → 400401500403409404501405
POST
/rest/v1/contacts
Create a Contact
createContact body → 400401500403409404501405
POST
/rest/v1/contacts/{contactId}/utm
Insert UTMs for a Contact
insertUTMs 1 param body → 400401500403409404501405
GET
/rest/v1/contacts/{contactId}/tags
List Applied Tags
listAppliedTags 2 params → 400401500403409404501405
POST
/rest/v1/contacts/{contactId}/tags
Apply Tags
applyTagsToContactId 1 param body → 400401500403409404501405
DELETE
/rest/v1/contacts/{contactId}/tags
Remove Applied Tags
removeTagsFromContact 2 params → 400401500403409404501405
GET
/rest/v1/contacts/{contactId}/emails
List Emails
listEmailsForContact 2 params → 400401500403409404501405
POST
/rest/v1/contacts/{contactId}/emails
Create an Email Record
createEmailForContact 1 param body → 400401500403409404501405
GET
/rest/v1/contacts/{contactId}/creditCards
Retrieve Credit Cards
listCreditCards 1 param → 400401500403409404501405
POST
/rest/v1/contacts/{contactId}/creditCards
Create a Credit Card
createCreditCard 1 param body → 400401500403409404501405
POST
/rest/v1/contacts/model/customFields
Create a Custom Field
createCustomField body → 400401500403409404501405
DELETE
/rest/v1/contacts/{contactId}
Delete a Contact
deleteContact 1 param → 400401500403409404501405
PATCH
/rest/v1/contacts/{contactId}
Update a Contact
updatePropertiesOnContact 2 params body → 400401500403409404501405
GET
/rest/v1/contacts/{id}
Retrieve a Contact
getContact 2 params → 400401500403409404501405
GET
/rest/v1/contacts/model
Retrieve Contact Model
retrieveContactModel → 400401500403409404501405
DELETE
/rest/v1/contacts/{contactId}/tags/{tagId}
Remove Applied Tag
removeTagsFromContact_1 2 params → 400401500403409404501405
GET
/v2/contacts
List Contacts
listContactsUsingGET_1 5 params → 200401403404500
POST
/v2/contacts
Create a Contact
createContactUsingPOST_1 body → 201401403500
GET
/v2/contacts/links/types
List Contact Link types
listContactLinkTypesUsingGET 4 params → 200401403404500
POST
/v2/contacts/links/types
Create a Contact Link type
createContactLinkTypeUsingPOST body → 201401403500
GET
/v2/contacts/model
Retrieve Contact Model
retrieveContactModelUsingGET_1 → 200401403404500
GET
/v2/contacts/{contact_id}
Retrieve a Contact
getContactUsingGET_1 2 params → 200401403404500
DELETE
/v2/contacts/{contact_id}
Delete a Contact
deleteContactUsingDELETE_1 1 param → 204401403404500
PATCH
/v2/contacts/{contact_id}
Update a Contact
updateContactUsingPATCH 2 params body → 200401403404500
GET
/v2/contacts/{contact_id}/links
List Linked Contacts
listContactLinksUsingGET 1 param → 200401403404500
POST
/v2/contacts:link
Link Contacts
linkContactsUsingPOST body → 201401403500
POST
/v2/contacts:unlink
Delete Link between two Contacts
unlinkContactsUsingPOST body → 204401403500

Schemas 100

The contract defines 100 schemas that model the data the API accepts and returns. The most detailed are Contact (40 properties), CreateUpdateContactRequest (30 properties), RestContactBase_2 (23 properties), RestContactBase (23 properties). Each schema is shown below with its type and property counts.

Address
object
11 properties
ContactUtmResponse
object
10 properties
UpdateCustomFieldTabRequest
object
2 properties
CreateCustomFieldGroupRequest
object
2 properties
CustomFieldGroup
object
5 properties
CreateContactUtmPropertiesRequest
object
6 properties 1 required
CustomFieldOption
object
2 properties
ListCustomFieldTabsResponse
object
1 property
EmailAddress
object
5 properties
Origin
object
2 properties
UpdateCustomFieldGroupRequest
object
3 properties
CustomFieldTab
object
4 properties
ListContactLinksResponse
object
2 properties
Link
object
4 properties
Error
object
4 properties
CustomFieldMetaData
object
Metadata describing a custom field, including its type and options
9 properties
CreateCustomFieldOptionRequest
object
1 property
UpdateContactLinkTypeRequest
object
2 properties
LinkContactsRequest
object
3 properties
FaxNumber
object
3 properties
CreateCustomFieldTabRequest
object
1 property
CategoryReference
object
1 property 1 required
Contact
object
40 properties
ObjectModel
object
2 properties
CreateContactLinkTypeRequest
object
2 properties
ErrorDetails
object
2 properties
ListContactLinkTypesResponse
object
2 properties
ListContactsResponse
object
2 properties
PhoneNumber
object
5 properties
CreateUpdateContactRequest
object
contact
30 properties
ContactLinkType
object
4 properties
CreateCustomFieldRequest
object
5 properties 2 required
ContactLink
object
4 properties
EmailAddressRequest
object
3 properties
Tag
object
6 properties
SocialAccount
object
2 properties 1 required
AppliedTag
object
Tag with application timestamp
2 properties
OriginRequest
object
1 property
BasicCompany
object
2 properties
ListContactTagsResponse
object
List of tags applied to a contact
2 properties
ListCustomFieldGroupsResponse
object
1 property
MergeContactRequest
object
2 properties 2 required
CustomFieldValue
object
2 properties
CustomFieldOption_2
object
3 properties
CreateRestCustomFieldOption
object
2 properties
Throwable
object
5 properties
RestContactBase
object
23 properties
EmailAddress_2
object
2 properties 1 required
FullContact
CreateRestCustomFieldOption_2
object
1 property
View
object
1 property
RestPartialContact
ContactQueryEmailCommand
object
3 properties
ContactOrigin
object
2 properties 2 required
CompanyReference
object
2 properties
EmailSentCreate
object
Email records to persist, with content.
18 properties 1 required
RequestCompanyReference
object
1 property
CustomFieldMetaData_2
object
7 properties
CreateOrPatchContact
contact
DefaultHttpStatusCode
ModelAndView
object
7 properties
HttpStatus
FaxNumber_2
object
3 properties 1 required
UpsertContact
RestContact
CreateUtmContact
object
UTM parameters to insert
6 properties 1 required
ContactTag
object
2 properties
CreateContactOrigin
object
1 property 1 required
ObjectModel_2
object
2 properties
ContactQueryCommand
object
11 properties
CreditCardAdded
object
13 properties
RestQueryCommand
object
2 properties
TagId
object
1 property
PhoneNumber_2
object
5 properties 1 required
ContactCreditCard
object
5 properties
Relationship
object
3 properties
SimpleTag
object
3 properties
EmailSentQueryResultList
object
4 properties
ContactAddress
object
9 properties 1 required
EmailSentQueryResult
object
15 properties
ContactTagList
object
4 properties
HttpStatusCode
object
6 properties
ContactList
object
4 properties
SocialAccount_2
object
2 properties
CreateRestCustomField
object
5 properties 2 required
FullUtm
object
7 properties 2 required
CreditCard
object
12 properties
CustomFieldValue_2
object
2 properties
RestContactBase_2
object
23 properties
EmailAddress_3
object
2 properties 1 required
CreateRestCustomFieldOption_3
object
1 property
RestPartialContact_2
CustomFieldMetaData_3
object
7 properties
FaxNumber_3
object
3 properties 1 required
ObjectModel_3
object
2 properties
PhoneNumber_3
object
5 properties 1 required
SocialAccount_3
object
2 properties
CreateRestCustomField_2
object
5 properties 2 required
CustomFieldValue_3
object
2 properties
CustomFieldOption_3
object
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

infusionsoft-contact-api-openapi.yml Raw ↑

Other APIs Infusionsoft (Keap) publishes across the network.

Infusionsoft XML-RPC API
Infusionsoft (Keap) Account Info API
Infusionsoft (Keap) Affiliate API
Infusionsoft (Keap) Appointment API
Infusionsoft (Keap) Automation API
Infusionsoft (Keap) Automation Category API
Infusionsoft (Keap) Business Profile API
Infusionsoft (Keap) Campaign API
Infusionsoft (Keap) Category Discounts API
Infusionsoft (Keap) Company API
Infusionsoft (Keap) Custom Fields API
Infusionsoft (Keap) Date Expression API
Where this information came from

This is an independent, third-party profile of Infusionsoft (Keap) Contact API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.