ActiveCampaign Conversations API

The Conversations API from ActiveCampaign — 2 operation(s) for conversations.

Operations 3

GET /channel/whatsapp/inbox/conversation List Conversations #
PUT /channel/whatsapp/inbox/conversation/{id}/update Update a conversation #
PATCH /channel/whatsapp/inbox/conversation/{id}/update Partially Update a Conversation #

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/activecampaign-conversations-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

activecampaign-conversations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WhatsApp Conversations API
  version: 1.0.0
  description: 'All of the below API endpoints require API key authentication, get your token at https://app.hilos.io/dev/api-keys.


    To use this token, send with every request an `Authorization: Token <your token>` header.


    Production API server is located at api.hilos.io using HTTPS.


    No versioning info is required for now.'
servers:
- url: https://{youraccountname}.api-us1.com/api/3
  description: Production Server
tags:
- name: Conversations
paths:
  /channel/whatsapp/inbox/conversation:
    get:
      operationId: List Conversations
      description: 'Lists Conversations. '
      summary: List Conversations
      parameters:
      - in: query
        name: contact
        schema:
          type: string
          format: uuid
        description: A Contact Id to filter the Conversations and only get those from that Contact.
        examples:
          OnlyReturnTheConversationsOfThisContact:
            value: a3ff7ee5-0c11-49e2-a0d6-7e316626f7b1
            summary: Only return the Conversations of this Contact
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - Conversations
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedConversationReadSimpleList'
          description: ''
  /channel/whatsapp/inbox/conversation/{id}/update:
    put:
      operationId: Update a Conversation
      description: Update a Conversation
      summary: Update a conversation
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Conversations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversationEdit'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ConversationEdit'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ConversationEdit'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationEdit'
          description: ''
    patch:
      operationId: Partially update a Conversation
      description: Partially update a Conversation
      summary: Partially Update a Conversation
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Conversations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedConversationEdit'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedConversationEdit'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedConversationEdit'
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationEdit'
          description: ''
components:
  schemas:
    MessageTypeEnum:
      enum:
      - audio
      - voice
      - button
      - document
      - text
      - image
      - interactive
      - order
      - sticker
      - system
      - unknown
      - video
      - unsupported
      - location
      - contacts
      - template
      - reaction
      - ephemeral
      - request_welcome
      type: string
      description: '* `audio` - Audio

        * `voice` - Voice

        * `button` - Button

        * `document` - Document

        * `text` - Text

        * `image` - Image

        * `interactive` - Interactive

        * `order` - Order

        * `sticker` - Sticker

        * `system` - System

        * `unknown` - Unknown

        * `video` - Video

        * `unsupported` - Unsupported

        * `location` - Location

        * `contacts` - Contacts

        * `template` - Template

        * `reaction` - Reaction

        * `ephemeral` - Ephemeral

        * `request_welcome` - Request Welcome'
    WhatsAppMessageSimple:
      type: object
      properties:
        id:
          type: string
        to_number:
          type: string
          readOnly: true
        from_number:
          type: string
          readOnly: true
        body:
          type:
          - string
          - 'null'
        direction:
          type: string
        timestamp:
          type: string
          format: date-time
          readOnly: true
        contact:
          type: string
        status:
          allOf:
          - $ref: '#/components/schemas/MessageStatusEnum'
          readOnly: true
        queued_on:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        accepted_on:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        sent_on:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        delivered_on:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        read_on:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        failed_on:
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        provider_id:
          type:
          - string
          - 'null'
          readOnly: true
        provider_error_code:
          type:
          - string
          - 'null'
          readOnly: true
        provider_error_message:
          type:
          - string
          - 'null'
          readOnly: true
        sent_by:
          $ref: '#/components/schemas/SimpleUser'
        is_deleted:
          type: boolean
          readOnly: true
        content:
          readOnly: true
        whatsapp_template:
          type:
          - string
          - 'null'
          format: uuid
          readOnly: true
        content_type:
          type:
          - string
          - 'null'
          readOnly: true
        content_url:
          type:
          - string
          - 'null'
          format: uri
          maxLength: 2000
        msg_type:
          $ref: '#/components/schemas/MessageTypeEnum'
        failed_attempts:
          type: integer
          readOnly: true
        source:
          allOf:
          - $ref: '#/components/schemas/MessageSourceEnum'
          readOnly: true
      required:
      - accepted_on
      - contact
      - content
      - content_type
      - delivered_on
      - direction
      - failed_attempts
      - failed_on
      - from_number
      - id
      - is_deleted
      - provider_error_code
      - provider_error_message
      - provider_id
      - queued_on
      - read_on
      - sent_by
      - sent_on
      - source
      - status
      - timestamp
      - to_number
      - whatsapp_template
    ConversationTag:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 100
      required:
      - id
      - name
    UserSimple:
      type: object
      properties:
        id:
          type: integer
        first_name:
          type: string
          readOnly: true
        last_name:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
        account:
          type:
          - integer
          - 'null'
          readOnly: true
        profile_image:
          type:
          - string
          - 'null'
          format: uri
          readOnly: true
        date_joined:
          type: string
          format: date-time
          readOnly: true
      required:
      - account
      - date_joined
      - email
      - first_name
      - id
      - last_name
      - profile_image
    MessageStatusEnum:
      enum:
      - new
      - retry
      - accepted
      - sending
      - sent
      - receiving
      - received
      - delivered
      - undelivered
      - failed
      - read
      - deleted
      type: string
      description: '* `new` - New

        * `retry` - Retry

        * `accepted` - Accepted

        * `sending` - Sending

        * `sent` - Sent

        * `receiving` - Receiving

        * `received` - Received

        * `delivered` - Delivered

        * `undelivered` - Undelivered

        * `failed` - Failed

        * `read` - Read

        * `deleted` - Deleted'
    SimpleUser:
      type: object
      properties:
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        email:
          type: string
          format: email
          maxLength: 254
        id:
          type: integer
          readOnly: true
        profile_image:
          type:
          - string
          - 'null'
          format: uri
        role:
          type:
          - integer
          - 'null'
      required:
      - email
      - id
    ConversationSourceEnum:
      enum:
      - INBOX
      - AUTO_RESPONSE
      - API
      - BROADCAST
      - FLOW
      - UNKNOWN
      type: string
      description: '* `INBOX` - Inbox

        * `AUTO_RESPONSE` - Auto Response

        * `API` - Api

        * `BROADCAST` - Broadcast

        * `FLOW` - Flow

        * `UNKNOWN` - Unknown'
    ConversationEdit:
      type: object
      properties:
        id:
          type: string
          description: The UUID of the Conversation.
        contact:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/ConversationStatusEnum'
        assigned:
          type: array
          items:
            $ref: '#/components/schemas/UserBasicEdit'
          description: The Users assigned to the Conversation.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/ConversationTag'
          description: The Tags assigned to the Conversation.
        created_on:
          type: string
          format: date-time
          readOnly: true
          title: Creado el
        source:
          allOf:
          - $ref: '#/components/schemas/ConversationSourceEnum'
          readOnly: true
        assigned_team:
          type: integer
          description: The ID of the Team assigned to the Conversation.
        channel:
          type:
          - integer
          - 'null'
      required:
      - assigned
      - contact
      - created_on
      - id
      - source
    ConversationReadSimple:
      type: object
      properties:
        id:
          type: string
          description: The UUID of the Conversation.
        contact:
          type: string
          format: uuid
        status:
          allOf:
          - $ref: '#/components/schemas/ConversationStatusEnum'
          readOnly: true
        first_message:
          allOf:
          - $ref: '#/components/schemas/WhatsAppMessageSimple'
          description: The first Message of the Conversation.
        assigned:
          type: array
          items:
            $ref: '#/components/schemas/UserSimple'
          description: The Users assigned to the Conversation.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/ConversationTag'
          description: The Tags assigned to the Conversation.
        created_on:
          type: string
          format: date-time
          readOnly: true
          title: Creado el
        source:
          allOf:
          - $ref: '#/components/schemas/ConversationSourceEnum'
          readOnly: true
        assigned_team:
          type: integer
          description: The ID of the Team assigned to the Conversation.
        channel:
          type:
          - integer
          - 'null'
      required:
      - assigned
      - contact
      - created_on
      - first_message
      - id
      - source
      - status
    PatchedConversationEdit:
      type: object
      properties:
        id:
          type: string
          description: The UUID of the Conversation.
        contact:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/ConversationStatusEnum'
        assigned:
          type: array
          items:
            $ref: '#/components/schemas/UserBasicEdit'
          description: The Users assigned to the Conversation.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/ConversationTag'
          description: The Tags assigned to the Conversation.
        created_on:
          type: string
          format: date-time
          readOnly: true
          title: Creado el
        source:
          allOf:
          - $ref: '#/components/schemas/ConversationSourceEnum'
          readOnly: true
        assigned_team:
          type: integer
          description: The ID of the Team assigned to the Conversation.
        channel:
          type:
          - integer
          - 'null'
    UserBasicEdit:
      type: object
      properties:
        id:
          type: integer
      required:
      - id
    ConversationStatusEnum:
      enum:
      - CREATED
      - FLOW
      - NEW
      - IN_PROGRESS
      - RESOLVED
      - CLOSED
      type: string
      description: '* `CREATED` - Created

        * `FLOW` - Flow

        * `NEW` - New

        * `IN_PROGRESS` - In Progress

        * `RESOLVED` - Resolved

        * `CLOSED` - Closed'
    MessageSourceEnum:
      enum:
      - INBOUND
      - INBOX
      - AUTO_RESPONSE
      - API
      - BROADCAST
      - FLOW
      type: string
      description: '* `INBOUND` - Inbound

        * `INBOX` - Inbox

        * `AUTO_RESPONSE` - Auto Response

        * `API` - Api

        * `BROADCAST` - Broadcast

        * `FLOW` - Flow'
    PaginatedConversationReadSimpleList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/ConversationReadSimple'
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Token
      description: Token-based authentication with required prefix "Token"
x-tagGroups:
- name: Users
  tags:
  - User
- name: Channels
  tags:
  - WhatsApp
  - Broadcast
- name: Flows
  tags:
  - Flow Execution
  - Flow Execution Contact
- name: CRM
  tags:
  - Contact
  - Conversation
- name: Integrations
  tags:
  - Webhook Subscription