AgencyZoom Configuration and Settings API
The Configuration and Settings API from AgencyZoom — 17 operation(s) for configuration and settings.
The Configuration and Settings API from AgencyZoom — 17 operation(s) for configuration and 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/agencyzoom:agencyzoom-configuration-and-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: Agencyzoom Configuration and Settings API
description: 'Agencyzoom API enables third party applications to integrate with
Agencyzoom to manage lead, customer, policy, and tasks. The management operations
include actions such as creation, retrieval, updating, and deletion.
Currently, Agencyzoom has a rate limit of **120** calls per minute during the day and night as of Aug 17, 2026.
# Getting Started
Using authentication endpoints as described below, the integrator can function on hehalf
of the logged in user. The login endpoint returns a JWT token. Subsequent calls need
pass the token as HTTP header bearer token.
```
Authorization: Bearer
```
Please note, the permissions afforded to the caller are the same as those for the logged
in user. Therefore, the user name used for the integration has to be the agency owner
if the integrated applications would like to access all the functionalities.
# Versioning
Agencyzoom API is backward compatible. Currently there is only one version.
# Change Logs
- ### 2023.11.07
- POST v1/api/leads/list. Fixed bug in sort by `lastActivityDate`. Added 2 additional filters: lastActivityEarliestDate,lastActivityLatestDate
- Increased rate limite for nightly API calls
- POST v1/api/leads/{leadId}/quotes. Fixed bug of missing `Quote ID` response payload
- ### 2023.11.21
- Increased rate limite for daily API calls to 30 per minute
- POST /v1/api/leads/{leadId}/notes. Fixed bug in processing line breaks
- ### 2024.01.10
- New API for contact management - Batch Create Contacts POST `v1/api/contact/batch-create`
- Added the following new fields for PUT `v1/api/customers/{customerId}`
`contactFirstname` `contactLastname` `contactMiddlename` `numberOfEmployees` `annualRevenue` `totalPayroll` `tagNamesbirthday` `csrId` `agentId` `customFields`
- ### 2024.01.18
- New API for Customer management - Get AMS policies for a specific customer `GET: v1/api/customers/{customerId}/ams-policies`
- New API for Customer management - Get policies for a specific customer `GET: v1/api/customers/{customerId}/policies`
- New API for Customer management - Update tags for a specific policy `POST: v1/api/policies/update-tags`
- ### 2024.01.18
- POST `/v1/api/leads/create`. Edit request params `pipelineId` `stageId` as required.
- ### 2024.03.10
- Added two new fields `licenseNumber` `stateLicensed` for POST `v1/api/opportunities/{opportunityId}/driver` GET `v1/api/opportunities/drivers/{driverId}` PUT `v1/api/opportunities/drivers/{driverId}`
- ### 2026.08.7
- Increased rate limite for daily API calls to 90 per minute
- ### 2026.08.17
- Increased rate limite for daily API calls to 120 per minute
Happy coding!'
termsOfService: https://agencyzoom.com/tos/
contact:
email: support@agencyzoom.com
license:
name: Propriety license
version: 1.0.0
servers:
- url: https://api.agencyzoom.com
description: Mobile test server
tags:
- name: Configuration and Settings
paths:
/v1/api/product-categories:
get:
tags:
- Configuration and Settings
summary: Get a list of product categories (policy categories)
operationId: productCategories
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProductCategory'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/product-lines:
get:
tags:
- Configuration and Settings
summary: Get a list of product lines (policy types)
operationId: productLines
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProductLine'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/employees:
get:
tags:
- Configuration and Settings
summary: Get a list of employees
operationId: getEmployees
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Employee'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/life-professionals:
get:
tags:
- Configuration and Settings
summary: Get a list of life professionals
operationId: getLifeProfessionals
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LifeProfessional'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/lead-sources:
get:
tags:
- Configuration and Settings
summary: Get a list of lead sources
operationId: getLeadSources
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LeadSource'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/lead-source-categories:
get:
tags:
- Configuration and Settings
summary: Get a list of lead source categories
operationId: getLeadSourceCategories
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LeadSourceCategory'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/service-categories:
get:
tags:
- Configuration and Settings
summary: Get a list of service categories
operationId: getServiceCategories
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceCategory'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/service-priorities:
get:
tags:
- Configuration and Settings
summary: Get a list of service priorities
operationId: getServicePriorities
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServicePriority'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/service-resolutions:
get:
tags:
- Configuration and Settings
summary: Get a list of service resolutions
operationId: getServiceResolutions
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceResolution'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/assign-groups:
get:
tags:
- Configuration and Settings
summary: Get a list of assign groups
operationId: getAssignGroups
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AssignGroup'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/locations:
get:
tags:
- Configuration and Settings
summary: Get a list of locations
operationId: getLocations
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Location'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/carriers:
get:
tags:
- Configuration and Settings
summary: Get a list of carriers
operationId: getCarriers
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Carrier'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/loss-reasons:
get:
tags:
- Configuration and Settings
summary: Get a list of loss reasons
operationId: getLossReasons
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LossReason'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/{leadId}/recycle-events:
get:
tags:
- Configuration and Settings
summary: Get a list of recycle events
operationId: getRecycleEvents
parameters:
- name: leadId
in: path
description: ID of the lead
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/RecycleEvents'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/custom-fields:
get:
tags:
- Configuration and Settings
summary: Get a list of custom fields
operationId: getCustomFieldDefs
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomFieldDef'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/csrs:
get:
tags:
- Configuration and Settings
summary: Get a list of csrs
operationId: getCsrs
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CsrResponse'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
/v1/api/tags:
get:
tags:
- Configuration and Settings
summary: Get a list of tags
operationId: getTags
responses:
'200':
description: Retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TagResponse'
'400':
description: Invalid request parameter(s)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer: []
components:
schemas:
ErrorResponse:
description: Error response model.
properties:
error:
description: The error message
type: string
fieldErrors:
description: The field errors
type: array
items:
$ref: '#/components/schemas/FieldError'
type: object
CustomFieldDef:
description: Custom Field Defination
properties:
fieldName:
description: Field name
type: string
example: cf1
label:
description: The label of the field
type: string
example: Example Custom Field
dataType:
description: The data type
type: string
enum:
- number
- text
- multipleOptions
- url
- singleOption
- date
example: singleOption
options:
description: The options. Only applicable for singleOption and multipleOption.
type: array
items:
type: string
example: option1
targets:
description: The applicable target
type: array
items:
$ref: '#/components/schemas/CustomFieldTarget'
type: object
LeadSourceCategory:
description: Lead Source Category response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
Csr:
description: Csr model
allOf:
- $ref: '#/components/schemas/IdNamePair'
Employee:
description: Agencyzoom employee model
properties:
id:
description: The employee ID
type: integer
firstname:
description: First name
type: string
lastname:
description: Last name
type: string
email:
description: Email
type: string
phone:
description: Phone
type: string
isProducer:
description: Is the employee a producer
type: boolean
isActive:
description: is the employee active
type: boolean
isOwner:
description: Is the employee owner agent
type: boolean
userId:
description: The user ID
type: integer
avatar:
description: The avatar url
type: string
externalSystem:
description: External system name from AMS integration settings
type: string
externalIds:
description: Array of external IDs
type: array
items:
type: string
type: object
AssignGroup:
description: Assign Group response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
- properties:
type:
description: 'Group type: 1=Producer, 2=CSR'
type: integer
FieldError:
description: Form field error model.
properties:
field:
description: The field ID
type: string
error:
description: The error message
type: string
type: object
Tag:
description: Tag model
allOf:
- $ref: '#/components/schemas/IdNamePair'
RecycleEvents:
description: RecycleEvents model
properties:
existingXDate:
description: A list of exist smart cycle date
type: array
items:
$ref: '#/components/schemas/ExistRecycleEvents'
newXDate:
description: A const list of new smart cycle date
type: array
items:
type: string
example: X-Date
type: object
ServiceCategory:
description: Service Category response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
ExistRecycleEvents:
description: ExistRecycleEvents model
properties:
xDate:
description: Date of X-Date
type: string
xDateType:
description: X-Date type
type: string
type: object
LifeProfessional:
properties:
id:
description: The life professional ID
type: integer
firstname:
description: First name
type: string
lastname:
description: Last name
type: string
email:
description: Email
type: string
phone:
description: Phone
type: string
isActive:
description: Is the life professional user active
type: boolean
type: object
IdNamePair:
properties:
id:
description: ID
type: integer
name:
description: Name
type: string
type: object
CustomFieldTarget:
properties:
entityType:
description: The entity type
type: string
enum:
- lead
- customer
example: lead
section:
description: The section
type: string
enum:
- contact
- details
- quote
- opportunity
example: details
isShowInNew:
description: whether show when add lead
type: boolean
isShowInDetails:
description: whether show in lead details
type: boolean
type: object
ProductCategory:
description: Product Category response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
LossReason:
description: LossReason response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
Carrier:
description: Carrier response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
- properties:
standardCarrierCode:
description: standardCarrierCode is the standard industry carrier code used when creating carrier in pulse account.
type: string
ProductLine:
description: Product line (policy type) response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
- properties:
productCategoryId:
description: Category ID
type: integer
standardProductLineCode:
description: standardProductLineCode is the industry standard code used when creating policy type in pulse account.
type: string
CsrResponse:
description: Csrs response model
properties:
csrs:
description: list of csr
type: array
items:
$ref: '#/components/schemas/Csr'
type: object
TagResponse:
description: Tags response model
properties:
tags:
description: list of tag
type: array
items:
$ref: '#/components/schemas/Tag'
type: object
ServiceResolution:
description: Service Resolution response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
- properties:
description:
description: Optional description of the resolution
type:
- string
- 'null'
Location:
description: Location response model
properties:
id:
description: ID
type: string
name:
description: Name
type: string
type: object
ServicePriority:
description: Service Priority response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
LeadSource:
description: Lead Source response model
allOf:
- $ref: '#/components/schemas/IdNamePair'
- properties:
excludeAsSales:
description: Are the sales with this lead source NOT counted as actual sales
type: boolean
categoryId:
description: lead source category ID
type: integer
securitySchemes:
bearer:
type: http
bearerFormat: JWT
scheme: bearer
x-provenance:
method: harvested
publisher: AgencyZoom
source: https://app.agencyzoom.com/openapi/agencyzoom.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)