AgencyZoom V4SSO Authentication API
Use V4 sso code to login.
Use V4 sso code to login.
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-v4sso-authentication-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 V4SSO Authentication 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: V4SSO Authentication
description: Use V4 sso code to login.
paths:
/v1/api/v4sso/get-auth-params:
post:
tags:
- V4SSO Authentication
summary: Get authUrl for v4sso
operationId: V4sso-Auth-Params
responses:
'200':
description: JWT Token
content:
application/json:
schema:
$ref: '#/components/schemas/V4ssoAuthResponse'
'400':
description: Invalid user name and/or password
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v1/api/v4sso/sso-login:
post:
tags:
- V4SSO Authentication
summary: Log the user in
operationId: V4sso-Auth-Login
requestBody:
description: Dashboard data request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/V4ssoLoginRequest'
responses:
'200':
description: JWT Token
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
'400':
description: Invalid user name and/or password
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal processing error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
LoginResponse:
description: Login response model. It returns the JWT token
properties:
jwt:
description: The JWT token
type: string
ownerAgent:
description: Is ownerAgent
type: boolean
refreshToken:
description: The refresh token JWT
type: string
expiresIn:
description: Seconds until the access token expires
type: integer
tokenType:
description: Token type, always 'Bearer'
type: string
type: object
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
V4ssoLoginRequest:
description: V4 SSO login request model
required:
- code
properties:
code:
description: Code from v4sso callback
type: string
version:
description: Login API version. Pass 2 to receive refreshToken, expiresIn, and tokenType in the response. Omit or use any other value for the legacy response (jwt + ownerAgent only).
type: integer
example: 2
type: object
FieldError:
description: Form field error model.
properties:
field:
description: The field ID
type: string
error:
description: The error message
type: string
type: object
V4ssoAuthResponse:
description: Get auth url and other required params before v4sso called
properties:
authUrl:
description: The url used to request webview
type: string
type: object
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)