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

Keap Pipelines API

The Keap Pipelines (deals) API - 28 paths and 45 operations for deals, deal notes, deal custom fields, date expressions and bulk deal operations. Keap's own developer portal loads this as the Pipelines reference, and its servers block names api.infusionsoft.com, but the document is served from Thryv's API host because Thryv Holdings owns Keap. Its info.title is the internal service name SLAAPI (Service Level Aggregation API) and its contact address is gryffindor@keap.com. It declares no error responses at all - only 200, 201 and 204.

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

Tagged areas include CRM, Deals, Pipelines, and Sales Automation. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 45 operations across 28 paths, organized into 6 resource areas, and defines 94 schemas. It is described by OpenAPI 3.0.1, at version v1.

Requests are made against a single base URL, https://api.infusionsoft.com.

45 operations 28 paths 94 schemas 6 DELETE21 GET8 PATCH10 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
v1
Base URL
https://api.infusionsoft.com
Authentication
HTTP Bearer, OAuth 2.0
Contact
Resource Areas
6

Authentication & Security 2

Keap Pipelines API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (jwt) (BearerAuth). It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 1 scope.

Paths & Operations 45

Across 28 paths, the API surfaces 45 operations — 6 DELETE, 21 GET, 8 PATCH, 10 POST. They span 6 resource areas: Custom Fields, DateExpression, Deals, Pipelines, Display Forms, Stages. Each is listed below with its method, path, parameters, and response codes.

Custom Fields 4
GET
/v2/customFields
Retrieves a list of custom fields in a tenant.
getPipelineCustomFields 4 params → 200
POST
/v2/customFields
Creates a new custom field.
createPipelineCustomField body → 201
DELETE
/v2/customFields/{id}
Deletes a custom field
deletePipelineCustomField 1 param → 204
PATCH
/v2/customFields/{id}
Updates a custom field
updatePipelineCustomFields 1 param body → 200
DateExpression 1
GET
/v2/dateExpressions
queryDateExpressions 2 params → 200
Deals 19
GET
/v2/deals
Lists entities based on the provided ListCommand.
listDeal 4 params → 200
POST
/v2/deals
Creates a new entity.
createDeal body → 201
GET
/v2/deals/-/bulk
Retrieves a list of deals by their IDs.
listDealsByIds 1 param → 200
DELETE
/v2/deals/-/bulk
Deletes a list of deals by their IDs.
deleteDealsInBulk 1 param → 204
GET
/v2/deals/-/contacts/{contact_id}
Lists all deals associated with a specific contact.
listDealsForContact 5 params → 200
POST
/v2/deals/-/notes
Creates new notes in bulk.
createBulkNotesForDeals body → 201
GET
/v2/deals/-/notes/{note_id}
Retrieves a specific deal note by its ID.
getDealNote 1 param → 200
DELETE
/v2/deals/-/notes/{note_id}
Deletes a specific deal note by its ID.
deleteDealNote 1 param → 204
PATCH
/v2/deals/-/notes/{note_id}
Updates a specific deal note by its ID.
updateDealNote 1 param body → 200
POST
/v2/deals/bulk
Creates multiple deals in bulk.
createDealsInBulk body → 201
POST
/v2/deals/moveByContactIds
Moves the active deals of specified contacts from one stage to another, in bulk.
moveDealsForContacts body → 200
GET
/v2/deals/{id}
Retrieves an entity by its identifier.
getDeal 1 param → 200
DELETE
/v2/deals/{id}
Deletes an entity by its identifier.
deleteDeal 1 param → 204
PATCH
/v2/deals/{id}
Updates an existing entity.
updateDeal 2 params body → 200
POST
/v2/deals/{id}/customFields:validate
Validates the custom fields in a Deal.
validateCustomFields 1 param body → 200
GET
/v2/deals/{id}/notes
Lists all notes associated with a specific deal.
listNotesForDeal 5 params → 200
POST
/v2/deals/{id}/notes
Creates a new note for a specific deal.
createNoteForDeal 1 param body → 201
GET
/v2/deals/{id}:count
Retrieves the count of deals based on the specified filter criteria.
countDealsFiltered 5 params → 200
POST
/v2/deals/{id}:move
Moves the specified deal to a specified stage.
moveDeal 1 param body → 200
Pipelines 12
GET
/v2/pipelines
Lists entities based on the provided ListCommand.
listPipeline 4 params → 200
POST
/v2/pipelines
Creates a new entity.
createPipeline body → 201
GET
/v2/pipelines/summaries
Retrieves a list of pipeline summaries.
listPipelineSummaries 4 params → 200
GET
/v2/pipelines/{id}
Retrieves an entity by its identifier.
getPipeline 1 param → 200
DELETE
/v2/pipelines/{id}
Deletes a pipeline.
deletePipeline 3 params → 204
PATCH
/v2/pipelines/{id}
Updates an existing entity.
updatePipeline 2 params body → 200
PATCH
/v2/pipelines/{id}/bulk
Updates a pipeline's deals in bulk.
updatePipelinesInBulk 1 param body → 200
GET
/v2/pipelines/{id}/deals
Retrieves the list of deals for a specific pipeline.
getPipelineDeals 5 params → 200
GET
/v2/pipelines/{id}/outcomes
Gets the outcome labels for a pipeline.
getPipelineOutcomeLabels 5 params → 200
PATCH
/v2/pipelines/{id}/outcomes
Sets the outcome labels for a pipeline.
setPipelineOutcomeLabels 1 param body → 200
GET
/v2/pipelines/{id}/stages
Retrieves a list of stages for a specific pipeline.
listPipelineStages 5 params → 200
GET
/v2/pipelines/{id}:dealsCount
Retrieves the count of deals for a specific pipeline.
getDealCountForPipeline 5 params → 200
Display Forms 2
GET
/v2/pipelines/{id}/form
Retrieves a specific display form by a pipeline ID.
getPipelineDisplayForm 1 param → 200
PATCH
/v2/pipelines/{id}/form
Updates a display form
updatePipelineDisplayForm 1 param body → 200
Stages 7
GET
/v2/stages
Lists entities based on the provided ListCommand.
listStages 4 params → 200
POST
/v2/stages
Creates a new entity.
createStages body → 201
GET
/v2/stages/{id}
Retrieves an entity by its identifier.
getStages 1 param → 200
DELETE
/v2/stages/{id}
Deletes a stage by its identifier for a given tenant.
deleteStage 2 params → 204
PATCH
/v2/stages/{id}
Updates an existing entity.
updateStages 2 params body → 200
GET
/v2/stages/{id}/dealCount
Counts the number of deals in a specific stage.
countDealsInStage 1 param → 200
GET
/v2/stages/{id}/deals
Retrieves a list of deals for a specific stage.
listStageDeals 5 params → 200

Schemas 94

The contract defines 94 schemas that model the data the API accepts and returns. The most detailed are UpdateDealRequest (14 properties), PipelineDealWithStageName (13 properties), Deal (13 properties), CreateDealInBulkRequest (11 properties). Each schema is shown below with its type and property counts.

BaseListResponse_DealNote_
object
The list responses.
1 property
BaseListResponse_Deal_
object
The list responses.
1 property
BaseListResponse_PipelineCustomField_
object
The list responses.
1 property
BaseListResponse_PipelineDealWithStageName_
object
The list responses.
1 property
BaseListResponse_PipelineSummary_
object
The list responses.
1 property
BaseListResponse_Pipeline_
object
The list responses.
1 property
BaseListResponse_Stage_
object
The list responses.
1 property
BulkCreateDealNoteRequest
object
Request model for creating a deal note as part of a bulk operation.
3 properties 3 required
BulkCreateDealNoteResponse
object
Response model for creating a deal note as part of a bulk operation.
8 properties
BulkCreateDealNotesRequest
object
Request model for creating multiple deal notes in bulk.
1 property 1 required
BulkCreateDealNotesResponse
object
Response model for creating multiple deal notes in bulk.
1 property
CreateDealInBulkRequest
object
Request model for creating one deal as part of a bulk creation.
11 properties 8 required
CreateDealInBulkResponse
object
Response model for creating multiple deals in bulk.
3 properties
CreateDealNoteRequest
object
Request model for creating a deal note.
2 properties 2 required
CreateDealRequest
object
Request model for creating a deal.
10 properties 7 required
CreateDealsInBulkRequest
object
Request model for creating multiple deals in bulk.
1 property 1 required
CreateDealsInBulkResponse
object
Response model for creating multiple deals in bulk.
1 property
CreatePipelineCustomFieldRequest
object
Class representing a request to create a custom field.
10 properties 1 required
CreatePipelineRequest
object
Request for creating a pipeline.
2 properties 2 required
CreateStageRequest
object
Request for creating a stage.
2 properties 2 required
DateExpression
object
9 properties 8 required
DateExpressionResponse
object
1 property
Deal
object
Represents a deal.
13 properties
DealContact
object
Represents a contact entity in the system.
2 properties 1 required
DealCustomFieldsPropertyValidationResult
object
Response model for validating a single custom field in a deal.
5 properties
DealCustomFieldsValidationRequest
object
Request model for validating custom fields in deals.
1 property 1 required
DealCustomFieldsValidationResponse
object
Response model for validating custom fields in deals.
2 properties 2 required
DealListResponse
object
Response model for a list of deals.
DealNote
object
A model representing a note associated with a deal.
6 properties
DealNoteListResponse
object
Response model for a list of deal notes.
DealStatus
string
Enum representing the status of a deal.
DisplayForm
object
A display form for a sales pipeline
1 property
DisplayGroup
object
A group of properties on a display form
5 properties
DisplayProperty
object
A property for a group inside a display form
10 properties
DisplayPropertySource
string
Enum representing the source of a display property.
FilterEntry
object
Represents an entry in a filter.
3 properties 3 required
FilterOperator
string
Enum representing filter operators.
LogicalDate
object
2 properties
Money
object
Represents a monetary value with an amount and currency.
2 properties 2 required
MoveDealsForContactsRequest
object
Request model for moving specific deals.
3 properties 3 required
MoveDealsForContactsResponse
object
Response model for moving deals of contacts in bulk.
1 property
Owner
object
Represents an owner entity in the system.
1 property
Pipeline
object
A pipeline
2 properties
PipelineCustomField
object
Represents a custom field in the system. This class extends the BaseModel and includes various properties related to custom fields.
10 properties 2 required
PipelineCustomFieldArrayDisplayOptions
object
Class representing display options for an array custom field.
2 properties 2 required
PipelineCustomFieldArrayPropertyType
object
Class representing the type of an array property in a custom field.
1 property 1 required
PipelineCustomFieldBooleanDisplayOptions
object
Class representing display options for a boolean custom field.
1 property 1 required
PipelineCustomFieldBooleanDisplayType
string
Enum representing the display types for a boolean custom field.
PipelineCustomFieldCardDisplayOptions
object
Class representing display options for a card custom field.
1 property
PipelineCustomFieldCardProperty
object
Class representing a property of a card custom field.
2 properties
PipelineCustomFieldDateTimeOptions
object
Class representing options for date and time custom fields.
2 properties
PipelineCustomFieldDisplayOptions
object
Class representing display options for a custom field.
7 properties 2 required
PipelineCustomFieldDisplayOptionsType
string
Enum representing the types of display options for custom fields.
PipelineCustomFieldDisplayStyle
string
Enum representing the display styles for custom fields.
PipelineCustomFieldDurationDisplayOptions
object
Class representing display options for a custom field with duration type.
1 property
PipelineCustomFieldDurationOptionsDurationUnit
string
Enum representing the duration units for custom fields.
PipelineCustomFieldEmptyStateContent
object
Class representing the content for an empty state in custom fields.
2 properties 2 required
PipelineCustomFieldModelPropertyTypeDiscriminator
string
Enum representing the types of model property type discriminators.
PipelineCustomFieldOption
object
Class representing an option for a custom field.
4 properties 4 required
PipelineCustomFieldOptionDisplayType
string
Enum representing the display types for custom field options.
PipelineCustomFieldOptionGroup
object
Class representing a group of custom field options.
3 properties 2 required
PipelineCustomFieldOptions
object
Class representing the options for a custom field.
4 properties 2 required
PipelineCustomFieldPrimitiveType
string
Enum representing various primitive types for custom fields.
PipelineCustomFieldPropertyValidator
object
Class representing a validator for custom field properties.
2 properties 2 required
PipelineCustomFieldRefDisplayOptions
object
Class representing the display options for a reference custom field.
7 properties
PipelineCustomFieldRefDisplayType
string
Enum representing the display types for a reference custom field.
PipelineCustomFieldRefPropertyType
object
Class representing the property type for a reference custom field.
2 properties 1 required
PipelineCustomFieldRefType
object
Class representing a reference type for custom fields.
2 properties
PipelineCustomFieldSizeValidationType
string
Enum representing the types of size validation for custom fields.
PipelineCustomFieldSizeValidator
object
Class representing a size validator for custom fields.
2 properties 2 required
PipelineCustomFieldType
object
Class representing a custom field type.
4 properties 2 required
PipelineCustomFields
object
Represents a list of custom fields in the system.
1 required
PipelineDealWithStageName
object
A deal, including its stage name.
13 properties 1 required
PipelineDealsListResponse
object
Request for a list of a given deal's pipelines.
PipelineListResponse
object
Response for a list of pipelines.
PipelineOutcomeLabel
object
Represents a label for a pipeline outcome.
2 properties 1 required
PipelineOutcomeLabelListResponse
object
Represents a response containing a list of pipeline outcome labels.
2 properties
PipelineStageListResponse
object
Response for a list of stages.
PipelineSummariesListResponse
object
Response for a list of pipeline summaries.
PipelineSummary
object
Represents a summary of a pipeline.
4 properties 1 required
Stage
object
Represents a stage in a pipeline.
3 properties
StageDealListResponse
object
Response for a list of deals in a stage.
StageListResponse
object
Response for a list of stages.
UpdateCustomFieldRequest
object
Represents a request to update a custom field.
9 properties
UpdateDealNoteRequest
object
Request model for updating a deal note.
1 property 1 required
UpdateDealRequest
object
Request model for updating a deal.
14 properties 2 required
UpdateDealsInBulkRequest
object
Request for updating the deals of a pipeline.
5 properties 4 required
UpdateDealsInBulkResponse
object
Response for a bulk update for the reals in a pipeline.
2 properties 1 required
UpdateDisplayFormRequest
object
1 property 1 required
UpdateDisplayGroupRequest
object
4 properties 2 required
UpdateDisplayPropertyRequest
object
10 properties 1 required
UpdateOutcomeLabelsRequest
object
Represents a request to update outcome labels for a pipeline.
1 property 1 required
UpdatePipelineRequest
object
Request for updating a pipeline.
1 property 1 required
UpdateStageRequest
object
Request for updating a stage.
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

infusionsoft-pipelines-openapi.yml Raw ↑

Other APIs Infusionsoft (Keap) publishes across the network.

Keap REST API v2
Keap REST API v1
Infusionsoft XML-RPC API
Where this information came from

This is an independent, third-party profile of Keap Pipelines 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.