openapi: 3.1.0 info: title: Strimzi Kafka Bridge REST Consumer Producer API description: The Strimzi Kafka Bridge provides an HTTP/REST interface to Apache Kafka. It allows HTTP clients to produce and consume messages, manage consumer group subscriptions, and query topic metadata without needing a native Kafka client library. The Bridge acts as a protocol translator between HTTP and the Kafka protocol. Deploy via the KafkaBridge custom resource. version: 0.28.0 contact: name: Strimzi Community url: https://strimzi.io license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: http://localhost:8080 description: Kafka Bridge (default local port) tags: - name: Producer description: Endpoints for producing (sending) messages to Kafka topics via HTTP. Supports JSON and binary message formats. paths: /topics/{topicname}: post: operationId: send summary: Send Messages to Topic description: Sends one or more messages to a Kafka topic. Messages can include a key, value, partition, headers, and timestamp. Supports JSON-encoded Kafka records. tags: - Producer parameters: - name: topicname in: path required: true description: The name of the Kafka topic to send messages to schema: type: string requestBody: required: true content: application/vnd.kafka.json.v2+json: schema: $ref: '#/components/schemas/ProducerRecordList' responses: '200': description: Messages sent successfully content: application/vnd.kafka.v2+json: schema: $ref: '#/components/schemas/OffsetRecordSentList' '404': $ref: '#/components/responses/TopicNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' /topics/{topicname}/partitions/{partitionid}: post: operationId: sendToPartition summary: Send Messages to Partition description: Sends one or more messages to a specific partition of a Kafka topic. tags: - Producer parameters: - name: topicname in: path required: true description: The name of the Kafka topic schema: type: string - name: partitionid in: path required: true description: The partition ID to send messages to schema: type: integer requestBody: required: true content: application/vnd.kafka.json.v2+json: schema: $ref: '#/components/schemas/ProducerRecordList' responses: '200': description: Messages sent successfully content: application/vnd.kafka.v2+json: schema: $ref: '#/components/schemas/OffsetRecordSentList' '404': $ref: '#/components/responses/TopicNotFound' components: schemas: Error: type: object properties: error_code: type: integer description: The error code message: type: string description: A human-readable error message OffsetRecordSentList: type: object properties: offsets: type: array items: $ref: '#/components/schemas/OffsetRecordSent' ProducerRecord: type: object properties: key: description: The message key (optional) value: description: The message value (required) partition: type: integer description: The target partition (optional — if not set, uses partitioner) headers: type: object additionalProperties: type: string description: Optional message headers timestamp: type: integer description: Message timestamp in milliseconds since epoch OffsetRecordSent: type: object properties: partition: type: integer description: The partition the message was sent to offset: type: integer description: The offset of the produced message error_code: type: integer nullable: true description: Error code if the record failed error: type: string nullable: true description: Error message if the record failed ProducerRecordList: type: object properties: records: type: array description: List of records to produce items: $ref: '#/components/schemas/ProducerRecord' responses: TopicNotFound: description: Topic not found content: application/vnd.kafka.v2+json: schema: $ref: '#/components/schemas/Error' UnprocessableEntity: description: Unprocessable entity content: application/vnd.kafka.v2+json: schema: $ref: '#/components/schemas/Error' externalDocs: description: Strimzi Kafka Bridge Documentation url: https://strimzi.io/docs/bridge/latest/