AgencyZoom Configuration and Settings API

The Configuration and Settings API from AgencyZoom — 17 operation(s) for configuration and settings.

Operations 17

GET /v1/api/product-categories Get a list of product categories (policy categories) #
GET /v1/api/product-lines Get a list of product lines (policy types) #
GET /v1/api/employees Get a list of employees #
GET /v1/api/life-professionals Get a list of life professionals #
GET /v1/api/lead-sources Get a list of lead sources #
GET /v1/api/lead-source-categories Get a list of lead source categories #
GET /v1/api/service-categories Get a list of service categories #
GET /v1/api/service-priorities Get a list of service priorities #
GET /v1/api/service-resolutions Get a list of service resolutions #
GET /v1/api/assign-groups Get a list of assign groups #
GET /v1/api/locations Get a list of locations #
GET /v1/api/carriers Get a list of carriers #
GET /v1/api/loss-reasons Get a list of loss reasons #
GET /v1/api/{leadId}/recycle-events Get a list of recycle events #
GET /v1/api/custom-fields Get a list of custom fields #
GET /v1/api/csrs Get a list of csrs #
GET /v1/api/tags Get a list of tags #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/agencyzoom:agencyzoom-configuration-and-settings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

agencyzoom-configuration-and-settings-api-openapi.yml Raw ↑
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)