Keap Settings API
The Settings API from Keap — 3 operation(s) for settings.
The Settings API from Keap — 3 operation(s) for settings.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/keap-settings-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Keap Settings 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: Settings
paths:
/rest/v2/settings/contactOptionTypes:
get:
tags:
- Settings
summary: Get Contact Option types
description: Gets a list of Contact Option types.
operationId: getContactOptionTypes
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/GetContactOptionTypesResponse'
/rest/v2/settings/applications:isEnabled:
get:
tags:
- Settings
summary: Get Application Status
description: Check if the application is enabled or not
operationId: isApplicationEnabled
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/GetApplicationEnabledStatusResponse'
/rest/v2/settings/applications:getConfiguration:
get:
tags:
- Settings
summary: Get Application Configuration
description: Get configuration values for the application instance.
operationId: getApplicationConfigurations
parameters:
- name: fields
in: query
description: By default, only application data is returned. In addition to that, data is returned for the fields that are mentioned in the query.
required: false
schema:
type: array
items:
type: string
enum:
- AFFILIATE
- APPOINTMENT
- CONTACT
- ECOMMERCE
- EMAIL
- FORMS
- FULFILLMENT
- INVOICE
- NOTE
- OPPORTUNITY
- TASK
- TEMPLATE
uniqueItems: 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'
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetSettingsResponse'
components:
schemas:
ApplicationConfigurationModuleEcommerce:
type: object
properties:
currency:
type: string
default_country:
type: string
default_merchant:
type: string
credit_card_types:
type: string
default_tax:
type: string
payment_types:
type: string
default_to_auto_charge:
type: boolean
default_charge_max_retry_attempts:
type: integer
format: int32
default_number_of_days_between_charge_attempts:
type: integer
format: int32
merchant_account_max_retry_attempts:
type: integer
format: int32
promo_codes:
type: string
track_cost_per_unit:
type: boolean
track_inventory:
type: boolean
GetContactOptionTypesResponse:
type: object
properties:
option_types:
type: array
items:
type: string
ErrorDetails:
type: object
properties:
domain:
type: string
resource:
type: string
ApplicationConfigurationModuleContactAddressLabels:
type: object
properties:
line_1:
type: string
line_2:
type: string
line_3:
type: string
ApplicationConfigurationModuleTemplate:
type: object
properties:
default_country_code:
type: integer
format: int32
default_user_id:
type: string
ApplicationConfigurationModuleApplication:
type: object
properties:
company:
$ref: '#/components/schemas/ApplicationCompany'
time_zone:
type: string
default_view_locale:
type: string
features_enabled:
$ref: '#/components/schemas/ApplicationFeaturesEnabled'
ApplicationConfigurationModuleOpportunityStatesLoss:
type: object
properties:
reasons:
type: string
stage:
type: string
ApplicationConfigurationModuleForms:
type: object
properties:
spam_filters_enabled:
type: boolean
ApplicationConfigurationModuleAffiliate:
type: object
properties:
commission:
$ref: '#/components/schemas/ApplicationConfigurationModuleAffiliateCommission'
choose_affiliate:
type: boolean
custom_affiliate_url:
type: string
display_affiliate_ip_address:
type: boolean
do_not_notify_affiliate:
type: boolean
use_referral_history_if_no_tracking_cookie:
type: boolean
skip_pay_if_unused:
type: boolean
ApplicationConfigurationModuleOpportunityStates:
type: object
properties:
active:
$ref: '#/components/schemas/ApplicationConfigurationModuleOpportunityStatesActive'
win:
$ref: '#/components/schemas/ApplicationConfigurationModuleOpportunityStatesWin'
loss:
$ref: '#/components/schemas/ApplicationConfigurationModuleOpportunityStatesLoss'
ApplicationConfigurationModuleEmail:
type: object
properties:
default_opt_in_link:
type: string
default_opt_out_link:
type: string
whitelisted_domains:
type: string
hide_emails_to_and_from_domains:
type: string
append_contact_key_to_links:
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'
ApplicationFeaturesEnabled:
type: object
properties:
marketing:
type: boolean
GetSettingsResponse:
type: object
properties:
affiliate:
$ref: '#/components/schemas/ApplicationConfigurationModuleAffiliate'
appointment:
$ref: '#/components/schemas/ApplicationConfigurationModuleAppointment'
application:
$ref: '#/components/schemas/ApplicationConfigurationModuleApplication'
contact:
$ref: '#/components/schemas/ApplicationConfigurationModuleContact'
ecommerce:
$ref: '#/components/schemas/ApplicationConfigurationModuleEcommerce'
email:
$ref: '#/components/schemas/ApplicationConfigurationModuleEmail'
forms:
$ref: '#/components/schemas/ApplicationConfigurationModuleForms'
fulfillment:
$ref: '#/components/schemas/ApplicationConfigurationModuleFulfillment'
invoice:
$ref: '#/components/schemas/ApplicationConfigurationModuleInvoice'
note:
$ref: '#/components/schemas/ApplicationConfigurationModuleNote'
opportunity:
$ref: '#/components/schemas/ApplicationConfigurationModuleOpportunity'
task:
$ref: '#/components/schemas/ApplicationConfigurationModuleTask'
template:
$ref: '#/components/schemas/ApplicationConfigurationModuleTemplate'
GetApplicationEnabledStatusResponse:
type: object
properties:
isEnabled:
type: boolean
ApplicationConfigurationModuleOpportunityStatesActive:
type: object
properties:
stages:
type: string
ApplicationConfigurationModuleNote:
type: object
properties:
appointment_types:
type: string
share_opportunity_with_related_user:
type: boolean
ApplicationConfigurationModuleAppointment:
type: object
properties:
appointment_types:
type: string
share_opportunity_with_related_user:
type: boolean
ApplicationConfigurationModuleTask:
type: object
properties:
appointment_types:
type: string
share_opportunity_with_related_user:
type: boolean
ApplicationConfigurationModuleFulfillment:
type: object
properties:
default_message_to:
type: string
default_message_fields:
type: string
ApplicationConfigurationModuleOpportunity:
type: object
properties:
states:
$ref: '#/components/schemas/ApplicationConfigurationModuleOpportunityStates'
default_stage:
type: string
ApplicationConfigurationModuleInvoice:
type: object
properties:
tax_label:
type: string
ApplicationConfigurationModuleOpportunityStatesWin:
type: object
properties:
reasons:
type: string
stage:
type: string
ApplicationCompany:
type: object
properties:
name:
type: string
country:
type: string
email:
type: string
city:
type: string
state:
type: string
zip:
type: string
phone:
type: string
website:
type: string
street_address_1:
type: string
street_address_2:
type: string
phone_ext:
type: string
caller_id_number:
type: string
web_logo_url:
type: string
ApplicationConfigurationModuleAffiliateCommission:
type: object
properties:
levels:
type: integer
format: int32
calculation_type:
type: string
participant_types:
type: string
ApplicationConfigurationModuleContact:
type: object
properties:
title_types:
type: string
suffix_types:
type: string
contact_types:
type: string
phone_types:
type: string
fax_types:
type: string
address_labels:
$ref: '#/components/schemas/ApplicationConfigurationModuleContactAddressLabels'
disable_contact_edit_in_client_login:
type: boolean
default_new_contact_form:
type: string
securitySchemes:
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://accounts.infusionsoft.com/app/oauth/authorize
tokenUrl: https://api.infusionsoft.com/token
scopes: {}