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) Opportunity API

Opportunities-Endpoint

Infusionsoft (Keap) Opportunity 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 Opportunity. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and authentication docs.

This API exposes 52 operations across 27 paths, and defines 63 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.

52 operations 27 paths 63 schemas 7 DELETE23 GET10 PATCH10 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) Opportunity API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow.

Paths & Operations 52

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

Opportunity 52
GET
/rest/v2/opportunities
List Opportunities
listOpportunities 5 params → 200400401403404405409500
POST
/rest/v2/opportunities
Create an Opportunity
createOpportunity 1 param body → 201400401403404405409500
GET
/rest/v2/opportunities/stages
List of Opportunity Stages
listOpportunityStages 4 params → 200400401403404405409500
POST
/rest/v2/opportunities/stages
Create an Opportunity Stage
createOpportunityStage body → 201400401403404405409500
POST
/rest/v2/opportunities/model/customFields
Create an Opportunity Custom Field
createOpportunityCustomFields body → 201400401403404405409500
GET
/rest/v2/opportunities/model/customFields/tabs
List Opportunity Custom Field Tabs
listOpportunityCustomFieldTabs → 200400401403404405409500
POST
/rest/v2/opportunities/model/customFields/tabs
Create an Opportunity Custom Field Tab
createOpportunityCustomFieldTab body → 201400401403404405409500
GET
/rest/v2/opportunities/model/customFields/groups
List Opportunity Custom Field Groups
listOpportunityCustomFieldGroups 1 param → 200400401403404405409500
POST
/rest/v2/opportunities/model/customFields/groups
Create an Opportunity Custom Field Group
createOpportunityCustomFieldGroup body → 201400401403404405409500
GET
/rest/v2/opportunities/{opportunity_id}
Retrieve a Opportunity
getOpportunity 2 params → 200400401403404405409500
DELETE
/rest/v2/opportunities/{opportunity_id}
Delete an Opportunity
deleteOpportunity 1 param → 204400401403404405409500
PATCH
/rest/v2/opportunities/{opportunity_id}
Update an opportunity
updateOpportunity 3 params body → 200400401403404405409500
GET
/rest/v2/opportunities/stages/{stage_id}
Retrieve an Opportunity Stage
getOpportunityStage 1 param → 200400401403404405409500
DELETE
/rest/v2/opportunities/stages/{stage_id}
Delete an Opportunity Stage
deleteOpportunityStage 1 param → 204400401403404405409500
PATCH
/rest/v2/opportunities/stages/{stage_id}
Update an Opportunity Stage
updateOpportunityStage 2 params body → 200400401403404405409500
DELETE
/rest/v2/opportunities/model/customFields/{custom_field_id}
Delete an Opportunity Custom Field
deleteOpportunitiesCustomField 1 param → 204400401403404405409500
PATCH
/rest/v2/opportunities/model/customFields/{custom_field_id}
Update a Opportunity's Custom Field
updateOpportunityCustomField 2 params body → 200400401403404405409500
GET
/rest/v2/opportunities/model/customFields/tabs/{tab_id}
Retrieve an Opportunity Custom Field Tab
getOpportunityCustomFieldTab 1 param → 200400401403404405409500
DELETE
/rest/v2/opportunities/model/customFields/tabs/{tab_id}
Delete an Opportunity Custom Field Tab
deleteOpportunityCustomFieldTab 1 param → 204400401403404405409500
PATCH
/rest/v2/opportunities/model/customFields/tabs/{tab_id}
Update an Opportunity Custom Field Tab
updateOpportunityCustomFieldTab 2 params body → 200400401403404405409500
GET
/rest/v2/opportunities/model/customFields/groups/{group_id}
Retrieve an Opportunity Custom Field Group
getOpportunityCustomFieldGroup 1 param → 200400401403404405409500
DELETE
/rest/v2/opportunities/model/customFields/groups/{group_id}
Delete an Opportunity Custom Field Group
deleteOpportunityCustomFieldGroup 1 param → 204400401403404405409500
PATCH
/rest/v2/opportunities/model/customFields/groups/{group_id}
Update an Opportunity Custom Field Group
updateOpportunityCustomFieldGroup 2 params body → 200400401403404405409500
GET
/rest/v2/opportunities/stageMoves
List Opportunity Stage Moves
listOpportunityStageMoves 4 params → 200400401403404405409500
GET
/rest/v2/opportunities/stageMoves/{stage_move_id}
Retrieve an Opportunity Stage Move
getOpportunityStageMove 1 param → 200400401403404405409500
GET
/rest/v2/opportunities/model
Retrieve Opportunity Custom Field Model
retrieveOpportunityCustomFieldModel → 200400401403404405409500
GET
/v1/opportunities
List Opportunities
listOpportunitiesUsingGET 6 params → 200401403404500
PUT
/v1/opportunities
Replace an Opportunity
updateOpportunityUsingPUT body → 200401403404500
POST
/v1/opportunities
Create an Opportunity
createOpportunityUsingPOST body → 200401403500
GET
/v1/opportunities/model
Retrieve Opportunity Model
retrieveOpportunityModelUsingGET → 200401403404500
GET
/v1/opportunities/{opportunityId}
Retrieve an Opportunity
getOpportunityUsingGET 2 params → 200401403404500
PATCH
/v1/opportunities/{opportunityId}
Update an Opportunity
updatePropertiesOnOpportunityUsingPATCH 1 param → 200401403404500
GET
/v1/opportunity/stage_pipeline
List Opportunity Stage Pipeline
listOpportunityStagePipelinesUsingGET → 200401403404500
GET
/rest/v1/opportunities
List Opportunities
listOpportunities 1 param → 400401500403409404501405
PUT
/rest/v1/opportunities
Replace an Opportunity
updateOpportunity body → 400401500403409404501405
POST
/rest/v1/opportunities
Create an Opportunity
createOpportunity body → 400401500403409404501405
GET
/rest/v1/opportunities/{opportunityId}
Retrieve an Opportunity
getOpportunity 2 params → 400401500403409404501405
PATCH
/rest/v1/opportunities/{opportunityId}
Update an Opportunity
updatePropertiesOnOpportunity 1 param → 400401500403409404501405
GET
/rest/v1/opportunity/stage_pipeline
List Opportunity Stage Pipeline
listOpportunityStagePipelines → 400401500403409404501405
GET
/rest/v1/opportunities/model
Retrieve Opportunity Model
retrieveOpportunityModel → 400401500403409404501405
GET
/v2/opportunities
List Opportunities
listOpportunitiesUsingGET_1 5 params → 200401403404500
POST
/v2/opportunities
Create an Opportunity
createOpportunityUsingPOST_1 body → 201401403500
POST
/v2/opportunities/model/customFields
Create an Opportunity Custom Field
createOpportunityCustomFieldsUsingPOST body → 201401403500
PATCH
/v2/opportunities/model/customFields/{custom_field_id}
Update a Opportunity's Custom Field
updateOpportunityCustomFieldUsingPATCH 2 params body → 200401403404500
GET
/v2/opportunities/stages
List of Opportunity Stages
listOpportunityStagesUsingGET 4 params → 200401403404500
POST
/v2/opportunities/stages
Create an Opportunity Stage
createOpportunityStageUsingPOST body → 201401403500
GET
/v2/opportunities/stages/{stage_id}
Retrieve an Opportunity Stage
getOpportunityStageUsingGET 1 param → 200401403404500
DELETE
/v2/opportunities/stages/{stage_id}
Delete an Opportunity Stage
deleteOpportunityStageUsingDELETE 1 param → 204401403404500
PATCH
/v2/opportunities/stages/{stage_id}
Update an Opportunity Stage
updateOpportunityStageUsingPATCH 2 params body → 200401403404500
GET
/v2/opportunities/{opportunity_id}
Retrieve a Opportunity
getOpportunityUsingGET_1 1 param → 200401403404500
DELETE
/v2/opportunities/{opportunity_id}
Delete an Opportunity
deleteOpportunityUsingDELETE 1 param → 204401403404500
PATCH
/v2/opportunities/{opportunity_id}
Update an opportunity
updateOpportunityUsingPATCH 2 params body → 200401403404500

Schemas 63

The contract defines 63 schemas that model the data the API accepts and returns. The most detailed are RestV2Opportunity (25 properties), Opportunity_2 (16 properties), UpdateOpportunityRequest (16 properties), Opportunity (16 properties). Each schema is shown below with its type and property counts.

RestV2Opportunity
object
25 properties 3 required
CustomField
object
2 properties
UpdateCustomFieldTabRequest
object
2 properties
OpportunityContact
object
9 properties 1 required
CreateCustomFieldGroupRequest
object
2 properties
CustomFieldGroup
object
5 properties
OpportunityStage
object
4 properties 1 required
ChecklistItem
object
4 properties
CustomFieldOption
object
2 properties
ListCustomFieldTabsResponse
object
1 property
UpdateOpportunityStageRequest
object
5 properties
ListOpportunityStagesResponse
object
2 properties
UpdateCustomFieldGroupRequest
object
3 properties
CustomFieldTab
object
4 properties
UpdateOpportunityStageChecklistItem
object
4 properties 3 required
RestOpportunityStage
object
8 properties
Error
object
4 properties
CustomFieldMetaData
object
Metadata describing a custom field, including its type and options
9 properties
CheckListItemDetails
object
6 properties
CreateCustomFieldOptionRequest
object
1 property
StageDetails
object
4 properties
ListOpportunitiesResponse
object
2 properties
CreateOpportunityStageRequest
object
opportunity
5 properties 4 required
CreateCustomFieldTabRequest
object
1 property
CreateOpportunityRequest
object
opportunity
13 properties 3 required
ObjectModel
object
2 properties
ErrorDetails
object
2 properties
CreateOpportunityStageChecklistItem
object
3 properties 3 required
RestV2User
object
3 properties
OpportunityStageMove
object
Historical record of an opportunity moving from one pipeline stage to another
9 properties
UpdateOpportunityRequestV2
object
13 properties
ListOpportunityStageMoveResponse
object
2 properties
CreateCustomFieldRequest
object
5 properties 2 required
UpdateCustomFieldMetaDataRequest
object
3 properties 1 required
ListCustomFieldGroupsResponse
object
1 property
CustomFieldOption_2
object
3 properties
Throwable
object
5 properties
OpportunityContact_2
object
9 properties 1 required
View
object
1 property
SimpleOpportunityStage
object
4 properties 1 required
SalesPipeline
object
6 properties
CustomFieldMetaData_2
object
7 properties
SimpleUser
object
3 properties
DefaultHttpStatusCode
ModelAndView
object
7 properties
HttpStatus
Opportunity
object
16 properties 3 required
StageDetails_2
object
4 properties
ObjectModel_2
object
2 properties
OpportunityList
object
4 properties
UpdateOpportunityRequest
object
opportunity
16 properties 3 required
OpportunitySearchCommand
object
6 properties
HttpStatusCode
object
6 properties
CustomFieldValue
object
2 properties
OpportunityContact_3
object
9 properties 1 required
SimpleOpportunityStage_2
object
4 properties 1 required
CustomFieldMetaData_3
object
7 properties
Opportunity_2
object
16 properties 3 required
StageDetails_3
object
4 properties
ObjectModel_3
object
2 properties
UpdateOpportunityRequest_2
object
opportunity
16 properties 3 required
CreateCustomFieldOptionRequest_2
object
2 properties
CustomFieldOption_3
object
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

infusionsoft-opportunity-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) Contact API
Infusionsoft (Keap) Custom Fields API
Where this information came from

This is an independent, third-party profile of Infusionsoft (Keap) Opportunity 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.