Workato Messages API

Endpoints for publishing messages to event topics and consuming messages from event topics.

Operations 3

POST /api/v1/topics/{topic_id}/consume Workato Consume Messages from a Topic #
POST /api/v1/topics/{topic_id}/publish Workato Publish a Message to a Topic #
POST /api/v1/batch/topics/{topic_id}/publish Workato Publish a Batch of Messages to a Topic #

Documentation

📖
Documentation
https://www.workato.com/
📖
Documentation
https://docs.workato.com/en/workato-api.html#base-url
📖
Authentication
https://docs.workato.com/en/workato-api.html#authentication
📖
APIReference
https://docs.workato.com/workato-api/resources.html
📖
APIReference
https://docs.workato.com/workato-api/recipes.html
📖
APIReference
https://docs.workato.com/workato-api/api-connectors.html
📖
APIReference
https://docs.workato.com/workato-api/api-client-apis.html
📖
APIReference
https://docs.workato.com/workato-api/api-platform.html
📖
APIReference
https://docs.workato.com/workato-api/custom_connectors.html
📖
APIReference
https://docs.workato.com/workato-api/recipe-lifecycle-management.html
📖
Authentication
https://docs.workato.com/workato-api/authentication.html
📖
RateLimits
https://docs.workato.com/workato-api/rate-limiting.html
📖
APIReference
https://docs.workato.com/workato-api/pubsub.html
📖
APIReference
https://docs.workato.com/workato-api/agent-studio.html
📖
APIReference
https://docs.workato.com/workato-api/mcp-servers.html
📖
APIReference
https://docs.workato.com/workato-api/test-automation.html
📖
APIReference
https://docs.workato.com/workato-api/data-tables.html
📖
APIReference
https://docs.workato.com/workato-api/tag-assignments.html
📖
APIReference
https://docs.workato.com/workato-api/custom-oauth-profiles.html
📖
Documentation
https://docs.workato.com/workato-api/pubsub.html
📖
Documentation
https://docs.workato.com/event-streams.html
📖
Documentation
https://docs.workato.com/mcp.html
📖
Documentation
https://docs.workato.com/en/mcp/expose-developer-apis.html

Specifications

Schemas & Data

Other Resources

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/workato-messages-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

workato-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Workato Event Streams Public Messages API
  description: The Workato Event Streams Public API enables HTTP-based clients to publish and consume messages from event topics. It supports single message publish, batch publish of up to 100 messages, and message consumption with optional long polling. This API uses region-specific base URLs and is separate from the Developer API's event streams management endpoints. Rate limit is 60 requests per minute with a maximum payload size of 1 MB.
  version: '1.0'
  contact:
    name: Workato Support
    url: https://support.workato.com/
  termsOfService: https://www.workato.com/legal
servers:
- url: https://event-streams.workato.com
  description: US Production
- url: https://event-streams.eu.workato.com
  description: EU Production
- url: https://event-streams.jp.workato.com
  description: JP Production
- url: https://event-streams.sg.workato.com
  description: SG Production
- url: https://event-streams.au.workato.com
  description: AU Production
- url: https://event-streams.trial.workato.com
  description: Developer Sandbox
security:
- bearerAuth: []
tags:
- name: Messages
  description: Endpoints for publishing messages to event topics and consuming messages from event topics.
paths:
  /api/v1/topics/{topic_id}/consume:
    post:
      operationId: consumeMessages
      summary: Workato Consume Messages from a Topic
      description: Retrieves messages from an event topic. Supports filtering by message ID or timestamp, configurable batch sizes up to 50, and long polling with timeouts up to 60 seconds. Returns at most 50 messages per request.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/TopicId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsumeRequest'
      responses:
        '200':
          description: A batch of messages from the topic.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumeResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
  /api/v1/topics/{topic_id}/publish:
    post:
      operationId: publishMessage
      summary: Workato Publish a Message to a Topic
      description: Publishes a single message to an event topic. The message payload must conform to the topic's defined schema. Maximum payload size is 1 MB.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/TopicId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Message payload. Must conform to the topic's schema definition.
              additionalProperties: true
      responses:
        '200':
          description: The published message ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
  /api/v1/batch/topics/{topic_id}/publish:
    post:
      operationId: publishBatchMessages
      summary: Workato Publish a Batch of Messages to a Topic
      description: Publishes multiple messages to an event topic in a single request. Supports up to 100 messages per batch. Each payload must conform to the topic's schema. Partial failures are indicated in the response.
      tags:
      - Messages
      parameters:
      - $ref: '#/components/parameters/TopicId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchPublishRequest'
      responses:
        '200':
          description: Batch publish results with individual message IDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchPublishResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
components:
  schemas:
    PublishResponse:
      type: object
      description: Response from a successful single message publish.
      properties:
        message_id:
          type: string
          description: Unique identifier assigned to the published message.
    BatchPublishResponse:
      type: object
      description: Results of a batch publish operation.
      properties:
        is_partial_error:
          type: boolean
          description: Whether some messages in the batch failed to publish. If true, check individual message results for failures.
        message_ids:
          type: object
          description: Map of array index (as string) to individual publish result. Keys correspond to positions in the submitted payloads array.
          additionalProperties:
            type: object
            properties:
              message_id:
                type: string
                description: Unique identifier assigned to the published message.
              result:
                type: string
                description: Result status for this individual message.
    ErrorResponse:
      type: object
      description: Standard error response.
      properties:
        message:
          type: string
          description: Human-readable error message.
        code:
          type: string
          description: Machine-readable error code.
    ConsumeResponse:
      type: object
      description: A batch of messages consumed from a topic.
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          description: List of messages retrieved from the topic.
    BatchPublishRequest:
      type: object
      description: Request body for batch publishing messages.
      required:
      - payloads
      properties:
        payloads:
          type: array
          description: Array of message payloads to publish. Each must conform to the topic's schema. Maximum 100 items.
          maxItems: 100
          items:
            type: object
            description: A message payload conforming to the topic's schema.
            additionalProperties: true
    ConsumeRequest:
      type: object
      description: Options for consuming messages from a topic.
      properties:
        after_message_id:
          type: string
          description: Retrieve messages published after this message ID. Cannot be used together with since_time.
        since_time:
          type: string
          format: date-time
          description: Retrieve messages published after this RFC 3339 timestamp. Cannot be used together with after_message_id.
        batch_size:
          type: integer
          description: Maximum number of messages to return. Must be between 1 and 50.
          minimum: 1
          maximum: 50
        timeout_secs:
          type: integer
          description: Long-polling timeout in seconds. If no messages are available, the server waits up to this many seconds before returning an empty response. Maximum is 60 seconds. Default is 0 (no long polling).
          minimum: 0
          maximum: 60
          default: 0
    Message:
      type: object
      description: A single message from an event topic.
      properties:
        message_id:
          type: string
          description: Unique identifier of the message within the topic.
        payload:
          type: object
          description: The message payload conforming to the topic's schema.
          additionalProperties: true
        time:
          type: string
          format: date-time
          description: RFC 3339 timestamp when the message was published.
  responses:
    NotFound:
      description: The specified topic was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    RateLimitExceeded:
      description: Rate limit of 60 requests per minute has been exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: The request payload is invalid or does not match the topic schema.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    TopicId:
      name: topic_id
      in: path
      required: true
      description: Unique integer identifier of the event topic.
      schema:
        type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API client token obtained from the Workato platform. Include as Authorization: Bearer {token}.'
externalDocs:
  description: Workato Event Streams Public API Documentation
  url: https://docs.workato.com/workato-api/pubsub.html