openapi: 3.2.0 info: title: Keap Integrations API description: Keap Public API Documentation termsOfService: https://www.thryv.com/terms-of-use contact: name: Keap url: https://developer.keap.com/get-support email: api.keap@thryv.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: v2 servers: - url: https://api.infusionsoft.com/crm security: - oauth2: [] tags: - name: Integrations paths: /rest/v2/integrations/wordpress/options: get: tags: - Integrations summary: List WordPress Opt-In Options description: Retrieves the list of WordPress Opt-In Options available operationId: listIntegrationsWordPressOptInOptions responses: '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListWordPressOptInOptionsResponse' post: tags: - Integrations summary: Add a WordPress Opt-In Option description: Adds a value to the list of WordPress Opt-In Options Available operationId: addIntegrationsWordPressOptIn requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateIntegrationsWordPressOptInOption' required: true responses: '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/WordPressOptInOption' /rest/v2/integrations/wordpress/options/{option_key}:achieve: post: tags: - Integrations summary: Achieve a WordPress Opt-In Goal description: Achieves a WordPress Opt-In Option Goal operationId: achieveIntegrationsWordPressOptInGoal parameters: - name: option_key in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AchieveIntegrationsWordPressOptInOptionGoalRequest' required: true responses: '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/AchieveWordPressOptInGoalResult' /rest/v2/integrations/wordpress/options/{option_key}: delete: tags: - Integrations summary: Delete a WordPress Opt-In Option description: Deletes a value from the list of WordPress Opt-In Options Available operationId: deleteIntegrationsWordPressOptIn parameters: - name: option_key in: path required: true schema: type: string responses: '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '204': description: No Content components: schemas: CreateIntegrationsWordPressOptInOption: type: object properties: key: type: string description: The unique identifier of the opt-in option, which must be an alphanumeric string example: NewsletterOptIn name: type: string description: The display name of the opt-in option example: Newsletter Opt-In ErrorDetails: type: object properties: domain: type: string resource: type: string ListWordPressOptInOptionsResponse: type: object properties: wordpress_opt_in_options: type: array items: $ref: '#/components/schemas/WordPressOptInOption' next_page_token: type: string WordPressOptInOption: type: object properties: key: type: string name: type: string AchieveIntegrationsWordPressOptInOptionGoalRequest: type: object properties: contact_id: type: string description: The Contact Id to Opt-In example: d05dc112-3c92-4aaf-b2fa-00cc6cb452ec AchieveWordPressOptInGoalResult: type: object properties: successful: type: boolean Error: type: object properties: code: type: integer format: int32 message: type: string status: type: string details: type: array items: $ref: '#/components/schemas/ErrorDetails' securitySchemes: oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://accounts.infusionsoft.com/app/oauth/authorize tokenUrl: https://api.infusionsoft.com/token scopes: {}