AgencyZoom Thread API

The Thread API from AgencyZoom — 10 operation(s) for thread.

Operations 10

POST /v1/api/email-thread/list Search Email Threads #
POST /v1/api/email-thread/unread-thread Unread Thread #
POST /v1/api/email-thread/delete-thread Delete Thread #
POST /v1/api/email-thread/email-thread-detail Get thread details #
POST /v1/api/email-thread/delete-message Delete Message #
POST /v1/api/text-thread/list Search SMS Threads #
GET /v1/api/text-thread/producer Get a list of producer #
POST /v1/api/text-thread/unread-thread Unread Thread #
POST /v1/api/text-thread/delete-thread Delete Thread #
POST /v1/api/text-thread/text-thread-detail Text Detail Thread #

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-thread-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-thread-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agencyzoom Thread 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: Thread
paths:
  /v1/api/email-thread/list:
    post:
      tags:
      - Thread
      summary: Search Email Threads
      operationId: searchEmailThreadList
      requestBody:
        description: notification search request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchThreadRequest'
      responses:
        '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'
        '200':
          description: Retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchThreadResponse'
      security:
      - bearer: []
  /v1/api/email-thread/unread-thread:
    post:
      tags:
      - Thread
      summary: Unread Thread
      operationId: unreadEmailThread
      requestBody:
        description: unread thread request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnreadThreadRequest'
      responses:
        '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'
        '200':
          description: Retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnreadThreadResponse'
      security:
      - bearer: []
  /v1/api/email-thread/delete-thread:
    post:
      tags:
      - Thread
      summary: Delete Thread
      operationId: deleteEmailThread
      requestBody:
        description: unread thread request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteThreadRequest'
      responses:
        '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'
        '200':
          description: delete successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
      security:
      - bearer: []
  /v1/api/email-thread/email-thread-detail:
    post:
      tags:
      - Thread
      summary: Get thread details
      operationId: searchEmailThreadDetail
      requestBody:
        description: messages search request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchMessageRequest'
      responses:
        '200':
          description: Thread Detailed Information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchMessageResponse'
        '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/email-thread/delete-message:
    post:
      tags:
      - Thread
      summary: Delete Message
      operationId: deleteMessage
      requestBody:
        description: delete message request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteMessageRequest'
      responses:
        '200':
          description: Thread Detailed Information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchMessageResponse'
        '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/text-thread/list:
    post:
      tags:
      - Thread
      summary: Search SMS Threads
      operationId: searchTextThreadList
      requestBody:
        description: notification search request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSmsThreadRequest'
      responses:
        '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'
        '200':
          description: Retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchThreadResponse'
      security:
      - bearer: []
  /v1/api/text-thread/producer:
    get:
      tags:
      - Thread
      summary: Get a list of producer
      operationId: producers
      responses:
        '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'
        '200':
          description: Retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProducersResponse'
      security:
      - bearer: []
  /v1/api/text-thread/unread-thread:
    post:
      tags:
      - Thread
      summary: Unread Thread
      operationId: unreadThread
      requestBody:
        description: unread thread request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnreadThreadRequest'
      responses:
        '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'
        '200':
          description: Retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnreadThreadResponse'
      security:
      - bearer: []
  /v1/api/text-thread/delete-thread:
    post:
      tags:
      - Thread
      summary: Delete Thread
      operationId: deleteThread
      requestBody:
        description: unread thread request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteThreadRequest'
      responses:
        '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'
        '200':
          description: delete successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
      security:
      - bearer: []
  /v1/api/text-thread/text-thread-detail:
    post:
      tags:
      - Thread
      summary: Text Detail Thread
      operationId: searchTextThreadDetail
      requestBody:
        description: messages search request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchMessageRequest'
      responses:
        '200':
          description: Thread Detailed Information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchMessageResponse'
        '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
    ProducerInfo:
      description: Text conversation producer model
      properties:
        id:
          description: The agent id
          type: string
        name:
          description: full name
          type: string
      type: object
    UnreadThreadRequest:
      description: Unread Thread
      properties:
        threadId:
          description: thread id
          type: string
        markUnread:
          description: mark unread
          type: boolean
      type: object
    SearchThreadRequest:
      description: Search Thread
      allOf:
      - $ref: '#/components/schemas/BaseSearchRequest'
      - properties:
          searchTerm:
            description: search term
            type: string
          from:
            description: from filter
            type: string
          status:
            description: status
            type: integer
          lastDateUTC:
            description: last date
            type: string
          accountId:
            description: accountId
            type: string
          isIncludeEmptyThreads:
            description: whether include empty threads
            type: boolean
          unreadOnly:
            description: whether unread only
            type: boolean
    SearchSmsThreadRequest:
      description: Search SMS Thread
      allOf:
      - $ref: '#/components/schemas/SearchThreadRequest'
      - properties:
          agentSelect:
            description: agent filter
            type: string
    FieldError:
      description: Form field error model.
      properties:
        field:
          description: The field ID
          type: string
        error:
          description: The error message
          type: string
      type: object
    EmailAddressInfo:
      description: Email address info
      properties:
        email:
          description: address
          type: string
        name:
          description: name
          type: string
      type: object
    DeleteThreadRequest:
      description: Delete Thread
      allOf:
      - $ref: '#/components/schemas/BaseSearchRequest'
      - properties:
          threadId:
            description: thread id
            type: string
    FileInfo:
      description: file info model
      properties:
        id:
          description: The file id
          type: integer
        filename:
          description: The file name
          type: string
        size:
          description: The file size
          type: integer
        url:
          description: The file url
          type: string
        vendorId:
          description: The vendor id of file(Nylas)
          type: string
        docFileName:
          description: The file name
          type: string
        docMediaType:
          description: The file media type
          type: string
      type: object
    BaseSearchRequest:
      properties:
        pageSize:
          description: 'Page size:  number of results returned. The maximum is 500'
          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
      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
    MessageInfo:
      description: message info model
      properties:
        id:
          description: The message id
          type: integer
        messageId:
          description: The synced message id
          type: string
        threadId:
          description: The synced message thread id
          type: string
        contactId:
          description: customerReferral id or household id
          type: integer
        contactName:
          description: customerReferral name or household name
          type: string
        agentFirstname:
          description: agent first name
          type: string
        agentLastname:
          description: agent last name
          type: string
        outbound:
          description: 'Lead status (0: receive, 1: send'
          type: boolean
          enum:
          - 0
          - 1
        messageDate:
          description: message created date
          type: string
          example: '2019-01-01'
        messageDateUTC:
          description: message local date
          type: string
          example: '2019-01-01'
        status:
          description: customerEmail tracking status
          type: string
        subject:
          description: message subject
          type: string
          example: <body>hello</body>
        snippet:
          description: message snippet
          type: string
          example: <body>hello 1</body>
        contactType:
          description: contact type
          type: string
          example: customer, lead, contact
        body:
          description: message body
          type: string
          example: <body>hello</body>
        senderName:
          description: az or other email provider
          type: string
        contactEmail:
          description: contact name
          type: string
        contactPhone:
          description: contact phone
          type: string
        providerSmsMessageSid:
          description: The providerSmsMessageSid
          type: varchar
        files:
          description: A list of files
          type: array
          items:
            $ref: '#/components/schemas/FileInfo'
        imageFiles:
          description: A list of image files
          type: array
          items:
            $ref: '#/components/schemas/FileInfo'
        froms:
          description: A list of email addresses
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressInfo'
        tos:
          description: A list of email addresses
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressInfo'
        cc:
          description: A list of email cc addresses
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressInfo'
        bcc:
          description: A list of email bcc addresses
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressInfo'
        downloadAllAttUrl:
          description: Download all attachments url
          type: string
      type: object
    ThreadInfo:
      description: ThreadInfo model
      properties:
        id:
          description: The thread ID
          type: string
        subject:
          description: subject
          type: string
        snippet:
          description: snippet
          type: string
        lastMessageDate:
          description: lastMessageDate
          type: string
        lastMessageDateUTC:
          description: lastMessageDateUTC
          type: string
        contactId:
          description: contact Id
          type: integer
        contactName:
          description: contact Name
          type: string
        contactEmail:
          description: contact email
          type: string
        contactType:
          description: contact type
          type: string
        unread:
          description: unread
          type: boolean
        phoneNumber:
          description: phonenumber
          type: string
      type: object
    ProducersResponse:
      description: conversation producer response model
      properties:
        producers:
          description: The producer list
          type: array
          items:
            $ref: '#/components/schemas/ProducerInfo'
      type: object
    SearchMessageRequest:
      description: search messages list model
      allOf:
      - $ref: '#/components/schemas/BaseSearchRequest'
      - properties:
          threadId:
            description: thread id
            type: string
          searchTerm:
            description: search param
            type: string
          status:
            description: 'Lead status (0: all status, 2: all except trash, 100: trash,)'
            type: integer
            enum:
            - 0
            - 2
            - 100
          lastDateUTC:
            description: message last date by UTC
            type: string
            example: '2019-01-01'
    DeleteMessageRequest:
      description: Delete Message
      allOf:
      - $ref: '#/components/schemas/BaseSearchRequest'
      - properties:
          messageId:
            description: message id
            type: string
    SearchThreadResponse:
      description: Search thread response model
      properties:
        threadInfo:
          description: The thread list
          type: array
          items:
            $ref: '#/components/schemas/ThreadInfo'
      type: object
    UnreadThreadResponse:
      description: Unread thread response model
      properties:
        threadId:
          description: thread id
          type: string
        success:
          description: mark unread result
          type: boolean
      type: object
    SearchMessageResponse:
      description: messages list model
      properties:
        messageInfo:
          description: The message list
          type: array
          items:
            $ref: '#/components/schemas/MessageInfo'
        messageCount:
          description: The messages count of a thread
          type: integer
      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)