Zoca Chat API

The Chat API from Zoca — 17 operation(s) for chat.

Operations 21

GET /chat/conversations Get conversations list or single conversation details #
GET /chat/message Get message by ID or messages by conversation #
POST /chat/message Create a new message in a conversation #
PUT /chat/message Update message text or soft delete #
POST /chat/reaction Add reaction to a message #
PUT /chat/reaction Update or soft delete a reaction #
POST /chat/message-receipt Mark messages as read in a conversation #
PUT /chat/password Validate member password and get auth tokens #
PUT /chat/conversation-properties Update conversation properties (isRead, isPinned) #
PUT /chat/conversations/{conversationId}/members/{memberId} Add member to conversation #
DELETE /chat/conversations/{conversationId}/members/{memberId} Remove member from conversation #
POST /chat/members/bulk-add-conversations Add a member to multiple conversations #
GET /chat/navigation-templates Get navigation templates for chat interface #
POST /chat/message-template Upsert message template #
GET /chat/website-onboarding-request-status Get website onboarding request status for entity #
POST /tasks/api/v1/chat/schedule-message Schedule a message to be sent later #
GET /tasks/api/v1/chat/scheduled-messages Get scheduled messages with optional filters #
POST /tasks/api/v1/chat/process-scheduled-message Process a scheduled message (called by worker) #
POST /tasks/api/v1/chat/check-intervening-messages Check if there are intervening messages #
POST /tasks/api/v1/chat/cancel-scheduled-message Cancel a scheduled message #
POST /tasks/api/v1/chat/message/bulk Create multiple messages in bulk #

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/zoca-chat-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoca-chat-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zoca Chat API
  contact: {}
  x-refined-note:
  - x-apievangelist-note differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Chat across 2 of this provider''s published API definitions: zoca-platform-openapi.yml, zoca-tasks-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.zoca.ai
  description: Production
- url: https://tasks.zoca.ai
  description: Production
tags:
- name: Chat
paths:
  /chat/conversations:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Returns conversation(s) based on filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid parameters
      summary: Get conversations list or single conversation details
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/message:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Returns message details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid parameters
        '404':
          description: Message not found
      summary: Get message by ID or messages by conversation
      tags:
      - Chat
    post:
      operationId: t_value
      parameters: []
      responses:
        '201':
          description: Message created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid message data
      summary: Create a new message in a conversation
      tags:
      - Chat
    put:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Message updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/t'
        '400':
          description: Invalid update data
        '404':
          description: Message not found
      summary: Update message text or soft delete
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/reaction:
    post:
      operationId: t_value
      parameters: []
      responses:
        '201':
          description: Reaction added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/t'
        '400':
          description: Invalid reaction data
        '404':
          description: Message not found
      summary: Add reaction to a message
      tags:
      - Chat
    put:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Reaction updated successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/e'
        '400':
          description: Invalid update data
        '404':
          description: Reaction not found
      summary: Update or soft delete a reaction
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/message-receipt:
    post:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Messages marked as read
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid receipt data
      summary: Mark messages as read in a conversation
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/password:
    put:
      operationId: t_value
      parameters:
      - name: password
        required: true
        in: query
        schema:
          type: string
      - name: email
        required: true
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Password validation result with tokens
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Missing or invalid parameters
      summary: Validate member password and get auth tokens
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/conversation-properties:
    put:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Properties updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid update data
        '404':
          description: Conversation or member not found
      summary: Update conversation properties (isRead, isPinned)
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/conversations/{conversationId}/members/{memberId}:
    put:
      operationId: t_value
      parameters:
      - name: memberId
        required: true
        in: path
        schema:
          format: uuid
          type: string
      - name: conversationId
        required: true
        in: path
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: Member added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid UUID format
        '404':
          description: Conversation or member not found
      summary: Add member to conversation
      tags:
      - Chat
    delete:
      operationId: t_value
      parameters:
      - name: memberId
        required: true
        in: path
        schema:
          format: uuid
          type: string
      - name: conversationId
        required: true
        in: path
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: Member removed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid UUID format
        '404':
          description: Conversation or member not found
      summary: Remove member from conversation
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/members/bulk-add-conversations:
    post:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Member added to conversations with detailed results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e'
        '400':
          description: Invalid request data
      summary: Add a member to multiple conversations
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/navigation-templates:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Returns navigation templates dictionary
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    title:
                      type: string
                    navigation:
                      type: string
      summary: Get navigation templates for chat interface
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/message-template:
    post:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Message template upserted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  templateName:
                    type: string
                  messageText:
                    type: string
        '400':
          description: Invalid request data
      summary: Upsert message template
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /chat/website-onboarding-request-status:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Website onboarding request status retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  isServicesAdded:
                    type: boolean
                  hasWebsiteOnboarding:
                    type: boolean
                  hasWebsiteEdits:
                    type: boolean
                  websiteOnboardingRequestId:
                    type: string
                  conversationId:
                    type: string
        '400':
          description: Invalid request data
        '404':
          description: Entity or conversation not found
      summary: Get website onboarding request status for entity
      tags:
      - Chat
    servers:
    - url: https://api.zoca.ai
      description: Production
  /tasks/api/v1/chat/schedule-message:
    post:
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e_2'
      responses:
        '201':
          description: Message scheduled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/e_2'
        '400':
          description: Invalid request data
        '500':
          description: Internal server error
      summary: Schedule a message to be sent later
      tags:
      - Chat
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/chat/scheduled-messages:
    get:
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: List of scheduled messages
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/e_2'
        '500':
          description: Internal server error
      summary: Get scheduled messages with optional filters
      tags:
      - Chat
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/chat/process-scheduled-message:
    post:
      description: This endpoint is called by the worker to process scheduled messages. It will either send the message or abort it based on intervening messages.
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e_2'
      responses:
        '200':
          description: Message processed successfully
        '500':
          description: Internal server error
      summary: Process a scheduled message (called by worker)
      tags:
      - Chat
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/chat/check-intervening-messages:
    post:
      description: Checks if there are any messages between the scheduled time and creation time
      operationId: t_value
      parameters: []
      responses:
        '200':
          description: Returns whether intervening messages exist
          content:
            application/json:
              schema:
                type: object
                properties:
                  hasInterveningMessages:
                    type: boolean
        '500':
          description: Internal server error
      summary: Check if there are intervening messages
      tags:
      - Chat
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/chat/cancel-scheduled-message:
    post:
      description: Cancels a scheduled message that has not been sent yet (status PENDING)
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/e_2'
      responses:
        '200':
          description: Message cancelled successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  messageId:
                    type: string
        '400':
          description: Message not found or already processed
        '500':
          description: Internal server error
      summary: Cancel a scheduled message
      tags:
      - Chat
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
  /tasks/api/v1/chat/message/bulk:
    post:
      operationId: t_value
      parameters: []
      requestBody:
        required: true
        description: Either provide an array of CreateMessageDto objects or a BulkCreateMessagesDto with s3Url
        content:
          application/json:
            schema:
              oneOf:
              - type: object
                properties:
                  s3Url:
                    type: string
                    description: S3 URL containing CSV file with bulk messages
                    example: s3://bucket-name/path/to/messages.csv
                required:
                - s3Url
              - type: array
                items:
                  type: object
                  properties:
                    conversationID:
                      type: string
                      format: uuid
                    text:
                      type: string
                    from:
                      type: string
                      format: uuid
                    parentMessageId:
                      type: string
                      format: uuid
                    attachments:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          url:
                            type: string
                          type:
                            type: string
                            enum:
                            - PDF
                            - AUDIO
                            - VIDEO
                            - GIFS
                            - OTHERS
                          metadata:
                            type: object
                  required:
                  - conversationID
                  - from
      responses:
        '201':
          description: Messages queued for processing
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  jobId:
                    type: string
        '400':
          description: Invalid message data
      summary: Create multiple messages in bulk
      tags:
      - Chat
      security:
      - access-token: []
    servers:
    - url: https://tasks.zoca.ai
      description: Production
components:
  schemas:
    t:
      type: object
      properties:
        id:
          type: number
        planId:
          type: number
        agentEntityId:
          type:
          - object
          - 'null'
          format: uuid
        agentName:
          type: string
        internalAddonName:
          type: string
          description: Chargebee item_price_id (internal addon name)
        externalAddonName:
          type: string
          description: Human-readable addon label shown to end-users
        active:
          type: boolean
          description: true if the location currently holds an active subscription for this addon
        subscriptionId:
          type:
          - object
          - 'null'
        quantity:
          type:
          - object
          - 'null'
        trialEnd:
          type:
          - object
          - 'null'
          description: Unix epoch seconds (Chargebee trial_end)
        addonPricingId:
          type:
          - object
          - 'null'
          description: chargebee.addon_pricing.id for this addon at the location's current cadence. Pass back to PATCH /billing/subscription as `update_items.items[].addonPricingId`.Null when no active addon_pricing row exists - surfaces a config gap and the FE should hide the buy CTA.
        unitPriceCents:
          type:
          - object
          - 'null'
          description: Per-line price the location would be billed at this cadence (cents).
      required:
      - id
      - planId
      - agentEntityId
      - agentName
      - internalAddonName
      - externalAddonName
      - active
      - subscriptionId
      - quantity
      - trialEnd
      - addonPricingId
      - unitPriceCents
    e:
      type: object
      properties:
        id:
          type: number
        entityId:
          type: string
        attribute:
          type: string
        value:
          type:
          - object
          - 'null'
        metadata:
          type:
          - object
          - 'null'
        createdAt:
          type:
          - object
          - 'null'
      required:
      - id
      - entityId
      - attribute
    e_2:
      type: object
      properties:
        scan:
          $ref: '#/components/schemas/e_2'
        businessLat:
          type:
          - number
          - 'null'
        businessLng:
          type:
          - number
          - 'null'
        points:
          type: array
          items:
            $ref: '#/components/schemas/e_2'
        heroMetrics:
          $ref: '#/components/schemas/e_2'
      required:
      - scan
      - businessLat
      - businessLng
      - points
      - heroMetrics
  securitySchemes:
    access-token:
      scheme: bearer
      bearerFormat: JWT
      type: http
      name: Authorization
      description: Enter JWT token in the format Bearer <token>
      in: header
x-refined-from:
- zoca-platform-openapi.yml
- zoca-tasks-openapi.yml