Apache RocketMQ Messages API

The Messages API from Apache RocketMQ — 3 operation(s) for messages.

OpenAPI Specification

apache-rocketmq-messages-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Apache RocketMQ REST Brokers Messages API
  description: Apache RocketMQ is a cloud-native messaging and streaming platform. This API provides REST endpoints for sending and receiving messages, managing topics and subscriptions, and monitoring brokers and consumer groups.
  version: 5.1.0
  contact:
    name: Apache RocketMQ
    url: https://rocketmq.apache.org/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://rocketmq.example.com/api/v1
  description: Apache RocketMQ REST API
tags:
- name: Messages
paths:
  /messages:
    post:
      operationId: sendMessage
      summary: Apache RocketMQ Send Message
      description: Send a message to a RocketMQ topic.
      tags:
      - Messages
      x-microcks-operation:
        dispatcher: RANDOM
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageRequest'
      responses:
        '200':
          description: Message sent successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendResult'
  /messages/receive:
    post:
      operationId: receiveMessages
      summary: Apache RocketMQ Receive Messages
      description: Pull messages from a topic for a consumer group.
      tags:
      - Messages
      x-microcks-operation:
        dispatcher: RANDOM
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceiveRequest'
      responses:
        '200':
          description: Messages received
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiveResult'
  /messages/ack:
    post:
      operationId: acknowledgeMessage
      summary: Apache RocketMQ Acknowledge Message
      description: Acknowledge message consumption to commit the offset.
      tags:
      - Messages
      x-microcks-operation:
        dispatcher: RANDOM
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AckRequest'
      responses:
        '200':
          description: Message acknowledged
components:
  schemas:
    ReceiveRequest:
      type: object
      description: Request to receive messages from a topic
      required:
      - topic
      - consumerGroup
      properties:
        topic:
          type: string
          description: Topic to consume from
        consumerGroup:
          type: string
          description: Consumer group identifier
        maxMessages:
          type: integer
          description: Maximum messages to pull
        invisibleDuration:
          type: integer
          description: Invisible duration in milliseconds
    SendResult:
      type: object
      description: Result of sending a message
      properties:
        msgId:
          type: string
          description: Message identifier
        offsetMsgId:
          type: string
          description: Physical offset message ID
        queueOffset:
          type: integer
          format: int64
          description: Queue offset of the message
        queueId:
          type: integer
          description: Queue ID the message was sent to
        sendStatus:
          type: string
          enum:
          - SEND_OK
          - FLUSH_DISK_TIMEOUT
          - FLUSH_SLAVE_TIMEOUT
          - SLAVE_NOT_AVAILABLE
    ReceiveResult:
      type: object
      description: Result of receiving messages
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
    AckRequest:
      type: object
      description: Request to acknowledge a message
      required:
      - receiptHandle
      - topic
      - consumerGroup
      properties:
        receiptHandle:
          type: string
          description: Receipt handle from receive response
        topic:
          type: string
          description: Topic name
        consumerGroup:
          type: string
          description: Consumer group
    MessageRequest:
      type: object
      description: Request to send a message to RocketMQ
      required:
      - topic
      - body
      properties:
        topic:
          type: string
          description: Target topic name
        body:
          type: string
          description: Message body content
        tag:
          type: string
          description: Message tag for filtering
        keys:
          type: array
          items:
            type: string
          description: Message keys for lookup
        properties:
          type: object
          additionalProperties:
            type: string
          description: User-defined message properties
        delayLevel:
          type: integer
          description: Delay level for scheduled messages (0=no delay)
    Message:
      type: object
      description: Received RocketMQ message
      properties:
        msgId:
          type: string
          description: Message identifier
        topic:
          type: string
          description: Topic name
        body:
          type: string
          description: Message body
        tag:
          type: string
          description: Message tag
        keys:
          type: array
          items:
            type: string
        properties:
          type: object
          additionalProperties:
            type: string
        bornTimestamp:
          type: integer
          format: int64
          description: Message creation timestamp in milliseconds
        receiptHandle:
          type: string
          description: Handle for acknowledging the message