openapi: 3.1.0 info: title: Keap REST Campaigns Opportunities API description: 'Curated OpenAPI 3.1 description of the Keap (formerly Infusionsoft) REST v2 API. Covers a representative subset of contacts, companies, opportunities, orders, products, tasks, campaigns, and tags. Derived from the official Keap v2 OpenAPI document published at https://developer.infusionsoft.com/docs/restv2/ which is served by the api.infusionsoft.com host. ' version: 2.70.0 contact: name: Keap url: https://developer.keap.com/get-support/ email: api@keap.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://api.infusionsoft.com/crm/rest description: Keap production REST API security: - oauth2: [] tags: - name: Opportunities description: Manage sales opportunities. paths: /v2/opportunities: get: tags: - Opportunities summary: List opportunities operationId: listOpportunities parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageToken' responses: '200': description: A page of opportunities. content: application/json: schema: $ref: '#/components/schemas/OpportunityList' post: tags: - Opportunities summary: Create an opportunity operationId: createOpportunity requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Opportunity' responses: '201': description: Opportunity created. /v2/opportunities/{id}: parameters: - $ref: '#/components/parameters/IdPath' get: tags: - Opportunities summary: Get an opportunity operationId: getOpportunity responses: '200': description: Opportunity. content: application/json: schema: $ref: '#/components/schemas/Opportunity' patch: tags: - Opportunities summary: Patch an opportunity operationId: patchOpportunity requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Opportunity' responses: '200': description: Updated opportunity. components: parameters: IdPath: name: id in: path required: true schema: type: string PageToken: name: page_token in: query required: false schema: type: string PageSize: name: limit in: query required: false schema: type: integer minimum: 1 maximum: 1000 default: 100 schemas: Opportunity: type: object properties: id: type: string opportunity_title: type: string contact: $ref: '#/components/schemas/Contact' stage: type: object properties: id: type: string name: type: string estimated_close_date: type: string format: date Contact: type: object properties: id: type: string given_name: type: string family_name: type: string email_addresses: type: array items: type: object properties: email: type: string format: email field: type: string phone_numbers: type: array items: type: object properties: number: type: string field: type: string company: type: object properties: id: type: string company_name: type: string OpportunityList: type: object properties: opportunities: type: array items: $ref: '#/components/schemas/Opportunity' next_page_token: type: string securitySchemes: oauth2: type: oauth2 description: Keap uses OAuth 2.0 for authentication. See https://developer.infusionsoft.com/getting-started-oauth-keys/ flows: authorizationCode: authorizationUrl: https://accounts.infusionsoft.com/app/oauth/authorize tokenUrl: https://api.infusionsoft.com/token scopes: full: Full access to the Keap CRM REST API.