AgencyZoom Task Management API

The Task Management API from AgencyZoom — 6 operation(s) for task management.

Operations 8

POST /v1/api/tasks/list Search tasks #
POST /v1/api/tasks Create Task #
GET /v1/api/tasks/{taskId} Get the task details #
PUT /v1/api/tasks/{taskId} Update task #
DELETE /v1/api/tasks/{taskId} Delete a task #
PUT /v1/api/tasks/{taskId}/completed Complete task #
POST /v1/api/tasks/batch-delete Batch Delete Task #
PUT /v1/api/tasks/{taskId}/reopened Reopen a task #

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-task-management-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-task-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agencyzoom Task Management 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: Task Management
paths:
  /v1/api/tasks/list:
    post:
      tags:
      - Task Management
      summary: Search tasks
      operationId: searchTasks
      requestBody:
        description: Task search request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskSearchRequest'
      responses:
        '200':
          description: Retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskSearchResponse'
        '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/tasks:
    post:
      tags:
      - Task Management
      summary: Create Task
      operationId: createTask
      requestBody:
        description: Task create request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskCreateRequest'
      responses:
        '200':
          description: A confirmation message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
        '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/tasks/{taskId}:
    get:
      tags:
      - Task Management
      summary: Get the task details
      operationId: getTask
      parameters:
      - name: taskId
        in: path
        description: ID of the task
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Task Detailed Information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '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: []
    put:
      tags:
      - Task Management
      summary: Update task
      operationId: updateTask
      parameters:
      - name: taskId
        in: path
        description: ID of the task
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Lead data request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskUpdateRequest'
      responses:
        '200':
          description: A confirmation message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
        '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: []
    delete:
      tags:
      - Task Management
      summary: Delete a task
      operationId: deleteTask
      parameters:
      - name: taskId
        in: path
        description: ID of the task
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Confirmation message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
        '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/tasks/{taskId}/completed:
    put:
      tags:
      - Task Management
      summary: Complete task
      operationId: completeTask
      parameters:
      - name: taskId
        in: path
        description: ID of the task
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: A confirmation message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
        '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/tasks/batch-delete:
    post:
      tags:
      - Task Management
      summary: Batch Delete Task
      operationId: batchDeleteTask
      requestBody:
        description: Task create request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskBatchDeleteRequest'
      responses:
        '200':
          description: A confirmation message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
        '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/tasks/{taskId}/reopened:
    put:
      tags:
      - Task Management
      summary: Reopen a task
      operationId: reopenTask
      parameters:
      - name: taskId
        in: path
        description: ID of the task
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Task create request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskReopenRequest'
      responses:
        '200':
          description: A confirmation message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
        '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:
    BaseSearchResponse:
      properties:
        totalCount:
          type: integer
          example: 100
        page:
          type: integer
          example: 1
        pageSize:
          type: integer
          example: 50
      type: object
    TaskSearchResponse:
      description: Task search response model
      allOf:
      - $ref: '#/components/schemas/BaseSearchResponse'
      - properties:
          tasks:
            description: A list of tasks
            type: array
            items:
              $ref: '#/components/schemas/Task'
          outstandingCount:
            type: integer
            example: 100
    TaskCreateRequest:
      description: Task creation request model
      properties:
        title:
          description: Task title
          type: string
          example: Example task
        dueDatetime:
          description: Task due date time
          type: string
          example: '2020-12-12 00:00:00'
        comments:
          description: Task notes
          type: string
          example: This is example comments
        assigneeId:
          description: Assignee ID
          type: integer
          example: 6818
        lifeProfessionalId:
          description: ID of Life & Health Professional
          type: integer
        contactEmail:
          description: Customer/lead email. The email will be used to find the matching lead or customer
          type: string
        customerId:
          description: Customer ID linked the task
          type: integer
        leadId:
          description: Lead ID linked the task
          type: integer
          example: 240
        duration:
          description: Duration in minutes
          type: integer
          example: 60
        type:
          description: Task type. (todo - To Do, email - Send Email, call - Make Call, meeting - Schedule Meeting)
          type: string
          enum:
          - todo
          - email
          - call
          - meeting
        invitees:
          description: List of email of invitees
          type: array
          items:
            type: string
            example: example@email.com
        timeSpecific:
          description: If true, then time is applicable for due date
          type: boolean
      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
    GenericSuccessResponse:
      description: A generic succss response.
      properties:
        message:
          description: An optional confirmation message
          type: string
        id:
          description: A Model's id
          type: integer
        result:
          description: 'whether success, 1: true, 0: false'
          type: boolean
      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
    BaseSearchRequestNoComments: {}
    TaskUpdateRequest:
      description: Task creation request model
      allOf:
      - $ref: '#/components/schemas/TaskCreateRequest'
      - properties:
          status:
            description: 'Task status. 0: open, 1: completed'
            type: integer
            enum:
            - 0
            - 1
    User:
      description: Agencyzoom user model
      properties:
        id:
          description: The User ID
          type: integer
          example: 6818
        firstname:
          description: First name
          type: string
          example: Michael
        lastname:
          description: Last name
          type: string
          example: Jordan
        isEmployee:
          description: Is the user an employee or an affiliate
          type: boolean
          default: true
          example: true
      type: object
    Task:
      description: Task response model
      properties:
        id:
          description: Task ID
          type: integer
          example: 2483
        title:
          description: Task title
          type: string
          example: Meeting
        status:
          description: 'Status: 0 - Open, 1 - Done, 2 - Cancelled '
          type: integer
          enum:
          - 0
          - 1
          - 2
          example: 0
        createDate:
          description: Task Creation Date
          type: string
          example: '2020-12-12'
        dueDate:
          description: Task Due Date
          type: string
          example: '2020-12-12'
        taskDateTime:
          description: Task Date Time
          type: string
          example: '2020-12-12'
        duration:
          description: Duration in minutes
          type: integer
          example: 60
        completeDate:
          description: Task Compeletion Date
          type: string
          example: '2020-12-12'
        assignedDate:
          description: Task Assigned Date
          type: string
          example: '2020-12-12'
        comments:
          description: Task notes
          type: string
          example: Discuss important things
        assignees:
          description: List of users who are assigned to the task
          type: array
          items:
            $ref: '#/components/schemas/User'
        completedBy:
          description: The ID of user who completed this task
          type: integer
          example: '2020-12-12'
        isCompletedByEmployee:
          description: Was the task completed by employee or affilate
          type: boolean
          example: true
        timeSpecific:
          description: Is the task time specific?
          type: boolean
          example: true
        customerName:
          description: The customer name
          type: string
          example: Michael Jordan
        customerId:
          description: The customer's ID
          type: integer
          example: 123
        customerType:
          description: The type of customer
          type: string
          enum:
          - customer
          - lead
          example: customer
      type: object
    TaskReopenRequest:
      properties:
        comments:
          description: The comments
          type: string
          example: Example comments
      type: object
    TaskSearchRequest:
      description: Task search request model
      allOf:
      - $ref: '#/components/schemas/BaseSearchRequestNoComments'
      - properties:
          pageSize:
            description: 'Page size:  number of results returned. The maximum is 200'
            type: integer
            default: 20
            example: 20
          page:
            description: The page being returned. Start with 0
            type: integer
            default: 0
            example: 0
          sort:
            description: Field name used for sorting
            type: string
            example: id
          order:
            type: string
            enum:
            - asc
            - desc
          location:
            description: Location ID
            type: string
          startDate:
            description: Start date of task created
            type: string
            example: '2019-01-01'
          endDate:
            description: End date of task created
            type: string
            example: '2019-01-01'
          type:
            description: Task type
            type: string
            enum:
            - sales
            - onboarding
          assigneeId:
            description: Assignee ID
            type: integer
          lifeProfessionalId:
            description: ID of Life & Health Professional
            type: integer
          status:
            description: Task status. 0 - open, 1 - completed
            type: integer
            enum:
            - 0
            - 1
          period:
            description: Predefined period
            type: string
            enum:
            - past-due-rotting
            - past-due
            - remainder-week
            - next-week
            - today
          leadSourceCategoryId:
            description: LeadSource category id
            type: integer
          leadSourceId:
            description: LeadSource id
            type: integer
    TaskBatchDeleteRequest:
      description: Task batch delete request model
      properties:
        taskIds:
          description: List of task ID's to be deleted
          type: array
          items:
            type: integer
            example: 2834
      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)