Strimzi Consumer API

Endpoints for managing consumer groups and consuming messages from Kafka topics via HTTP long-polling.

Operations 7

POST /consumers/{groupid} Create Consumer #
DELETE /consumers/{groupid}/instances/{name} Delete Consumer #
POST /consumers/{groupid}/instances/{name}/subscription Subscribe to Topics #
GET /consumers/{groupid}/instances/{name}/subscription List Topic Subscriptions #
DELETE /consumers/{groupid}/instances/{name}/subscription Unsubscribe from Topics #
GET /consumers/{groupid}/instances/{name}/records Poll for Records #
POST /consumers/{groupid}/instances/{name}/offsets Commit Offsets #

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/strimzi-consumer-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

strimzi-consumer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Strimzi Kafka Bridge REST Consumer 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: Consumer
  description: Endpoints for managing consumer groups and consuming messages from Kafka topics via HTTP long-polling.
paths:
  /consumers/{groupid}:
    post:
      operationId: createConsumer
      summary: Create Consumer
      description: Creates a new Kafka consumer instance in the specified consumer group. Returns a base URI for subsequent consumer operations. Consumer instances are not thread-safe and must be used by a single client.
      tags:
      - Consumer
      parameters:
      - name: groupid
        in: path
        required: true
        description: The consumer group ID
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/vnd.kafka.v2+json:
            schema:
              $ref: '#/components/schemas/Consumer'
      responses:
        '200':
          description: Consumer created successfully
          content:
            application/vnd.kafka.v2+json:
              schema:
                $ref: '#/components/schemas/CreatedConsumer'
        '409':
          $ref: '#/components/responses/Conflict'
  /consumers/{groupid}/instances/{name}:
    delete:
      operationId: deleteConsumer
      summary: Delete Consumer
      description: Destroys a consumer instance and removes it from the consumer group. Any subscriptions and assignments are also removed.
      tags:
      - Consumer
      parameters:
      - name: groupid
        in: path
        required: true
        description: The consumer group ID
        schema:
          type: string
      - name: name
        in: path
        required: true
        description: The unique name for the consumer instance
        schema:
          type: string
      responses:
        '204':
          description: Consumer deleted successfully
        '404':
          $ref: '#/components/responses/ConsumerNotFound'
  /consumers/{groupid}/instances/{name}/subscription:
    post:
      operationId: subscribe
      summary: Subscribe to Topics
      description: Subscribes a consumer to one or more Kafka topics. The consumer will receive messages from all partitions of the subscribed topics, with partitions assigned by the Kafka broker.
      tags:
      - Consumer
      parameters:
      - name: groupid
        in: path
        required: true
        description: The consumer group ID
        schema:
          type: string
      - name: name
        in: path
        required: true
        description: The unique name for the consumer instance
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/vnd.kafka.v2+json:
            schema:
              $ref: '#/components/schemas/Topics'
      responses:
        '204':
          description: Consumer subscribed successfully
        '404':
          $ref: '#/components/responses/ConsumerNotFound'
        '409':
          $ref: '#/components/responses/Conflict'
    get:
      operationId: listSubscriptions
      summary: List Topic Subscriptions
      description: Returns the list of topics to which a consumer is subscribed.
      tags:
      - Consumer
      parameters:
      - name: groupid
        in: path
        required: true
        description: The consumer group ID
        schema:
          type: string
      - name: name
        in: path
        required: true
        description: The unique name for the consumer instance
        schema:
          type: string
      responses:
        '200':
          description: The subscriptions list
          content:
            application/vnd.kafka.v2+json:
              schema:
                $ref: '#/components/schemas/SubscribedTopicList'
        '404':
          $ref: '#/components/responses/ConsumerNotFound'
    delete:
      operationId: unsubscribe
      summary: Unsubscribe from Topics
      description: Removes the current subscription for a consumer, unsubscribing it from all topics.
      tags:
      - Consumer
      parameters:
      - name: groupid
        in: path
        required: true
        description: The consumer group ID
        schema:
          type: string
      - name: name
        in: path
        required: true
        description: The unique name for the consumer instance
        schema:
          type: string
      responses:
        '204':
          description: Consumer unsubscribed successfully
        '404':
          $ref: '#/components/responses/ConsumerNotFound'
  /consumers/{groupid}/instances/{name}/records:
    get:
      operationId: poll
      summary: Poll for Records
      description: Fetches records from the topics to which the consumer is subscribed. Returns an empty array if no records are available. Calls are long-polled — the server waits up to the timeout for records to become available.
      tags:
      - Consumer
      parameters:
      - name: groupid
        in: path
        required: true
        description: The consumer group ID
        schema:
          type: string
      - name: name
        in: path
        required: true
        description: The unique name for the consumer instance
        schema:
          type: string
      - name: timeout
        in: query
        description: Maximum time in milliseconds to wait for records
        schema:
          type: integer
          default: 1000
      - name: max_bytes
        in: query
        description: Maximum total bytes to return in the response
        schema:
          type: integer
      responses:
        '200':
          description: A list of consumed records
          content:
            application/vnd.kafka.json.v2+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConsumerRecord'
        '404':
          $ref: '#/components/responses/ConsumerNotFound'
  /consumers/{groupid}/instances/{name}/offsets:
    post:
      operationId: commit
      summary: Commit Offsets
      description: Commits offsets for one or more topic partitions for the consumer. Committed offsets are used to resume consumption after a restart.
      tags:
      - Consumer
      parameters:
      - name: groupid
        in: path
        required: true
        description: The consumer group ID
        schema:
          type: string
      - name: name
        in: path
        required: true
        description: The unique name for the consumer instance
        schema:
          type: string
      requestBody:
        content:
          application/vnd.kafka.v2+json:
            schema:
              $ref: '#/components/schemas/OffsetCommitSeekList'
      responses:
        '204':
          description: Offsets committed successfully
        '404':
          $ref: '#/components/responses/ConsumerNotFound'
components:
  schemas:
    Topics:
      type: object
      properties:
        topics:
          type: array
          items:
            type: string
          description: List of topic names to subscribe to
    SubscribedTopicList:
      type: object
      properties:
        topics:
          type: array
          items:
            type: string
    CreatedConsumer:
      type: object
      properties:
        instance_id:
          type: string
          description: The ID of the created consumer instance
        base_uri:
          type: string
          description: The base URI for subsequent requests for this consumer
    Consumer:
      type: object
      properties:
        name:
          type: string
          description: A unique name for the consumer instance
        auto.offset.reset:
          type: string
          enum:
          - latest
          - earliest
          - none
          default: latest
          description: What to do when there is no initial offset
        format:
          type: string
          enum:
          - json
          - binary
          default: json
          description: The message format for consuming records
        enable.auto.commit:
          type: boolean
          default: true
          description: If true, offsets are committed automatically
        fetch.min.bytes:
          type: integer
          description: Minimum bytes to return per poll
        consumer.request.timeout.ms:
          type: integer
          description: Maximum time for consumer requests in milliseconds
        isolation.level:
          type: string
          enum:
          - read_uncommitted
          - read_committed
          default: read_uncommitted
    OffsetCommitSeek:
      type: object
      properties:
        topic:
          type: string
          description: The topic name
        partition:
          type: integer
          description: The partition number
        offset:
          type: integer
          description: The offset to commit or seek to
        metadata:
          type: string
          description: Optional metadata string to store with the committed offset
    Error:
      type: object
      properties:
        error_code:
          type: integer
          description: The error code
        message:
          type: string
          description: A human-readable error message
    OffsetCommitSeekList:
      type: object
      properties:
        offsets:
          type: array
          items:
            $ref: '#/components/schemas/OffsetCommitSeek'
    ConsumerRecord:
      type: object
      properties:
        topic:
          type: string
          description: The topic the record was consumed from
        key:
          description: The message key
        value:
          description: The message value
        partition:
          type: integer
          description: The partition the record came from
        offset:
          type: integer
          description: The offset of the record
        headers:
          type: object
          additionalProperties:
            type: string
          description: Message headers
        timestamp:
          type: integer
          description: Message timestamp in milliseconds since epoch
  responses:
    ConsumerNotFound:
      description: Consumer not found
      content:
        application/vnd.kafka.v2+json:
          schema:
            $ref: '#/components/schemas/Error'
    Conflict:
      description: Conflict — consumer with the same name already exists
      content:
        application/vnd.kafka.v2+json:
          schema:
            $ref: '#/components/schemas/Error'
externalDocs:
  description: Strimzi Kafka Bridge Documentation
  url: https://strimzi.io/docs/bridge/latest/