Amazon MSK Msk Topics API

The Msk Topics API from Amazon MSK — 2 operation(s) for msk topics.

Operations 5

POST /v1/clusters/{ClusterArn}/topics Create Topic #
GET /v1/clusters/{ClusterArn}/topics List Topics #
DELETE /v1/clusters/{ClusterArn}/topics/{TopicName} Delete Topic #
GET /v1/clusters/{ClusterArn}/topics/{TopicName} Describe Topic #
PUT /v1/clusters/{ClusterArn}/topics/{TopicName} Update Topic #

Specifications

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/amazon-msk:amazon-msk-topics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

amazon-msk-topics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Managed Streaming for Kafka Topics API
  version: '2018-11-14'
  description: Generated from AWS's published Smithy model for Managed Streaming for Kafka. 5 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://kafka.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Topics
paths:
  /v1/clusters/{ClusterArn}/topics:
    post:
      operationId: CreateTopic
      summary: Create Topic
      description: Creates a topic in the specified MSK cluster.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTopicResponse'
        '400':
          description: BadRequestException; KafkaRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '409':
          description: ClusterConnectivityException; ConflictException; ControllerMovedException; GroupSubscribedToTopicException; KafkaTimeoutException; NotControllerException; ReassignmentInProgressException; TopicExistsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterConnectivityException'
        '403':
          description: ForbiddenException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
        '500':
          description: InternalServerErrorException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '429':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '404':
          description: UnknownTopicOrPartitionException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnknownTopicOrPartitionException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTopicRequest'
      tags:
      - Topics
    get:
      operationId: ListTopics
      summary: List Topics
      description: List topics in a MSK cluster.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTopicsResponse'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '403':
          description: ForbiddenException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
        '500':
          description: InternalServerErrorException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListTopicsRequest'
      tags:
      - Topics
  /v1/clusters/{ClusterArn}/topics/{TopicName}:
    delete:
      operationId: DeleteTopic
      summary: Delete Topic
      description: Deletes a topic in the specified MSK cluster.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteTopicResponse'
        '400':
          description: BadRequestException; KafkaRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '409':
          description: ClusterConnectivityException; ControllerMovedException; GroupSubscribedToTopicException; KafkaTimeoutException; NotControllerException; ReassignmentInProgressException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterConnectivityException'
        '403':
          description: ForbiddenException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
        '500':
          description: InternalServerErrorException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
        '404':
          description: NotFoundException; UnknownTopicOrPartitionException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteTopicRequest'
      tags:
      - Topics
    get:
      operationId: DescribeTopic
      summary: Describe Topic
      description: Returns topic details of this topic on a MSK cluster.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeTopicResponse'
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '403':
          description: ForbiddenException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
        '500':
          description: InternalServerErrorException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
        '404':
          description: NotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DescribeTopicRequest'
      tags:
      - Topics
    put:
      operationId: UpdateTopic
      summary: Update Topic
      description: Updates the configuration of the specified topic.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateTopicResponse'
        '400':
          description: BadRequestException; KafkaRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '409':
          description: ClusterConnectivityException; ControllerMovedException; GroupSubscribedToTopicException; KafkaTimeoutException; NotControllerException; ReassignmentInProgressException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterConnectivityException'
        '403':
          description: ForbiddenException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenException'
        '500':
          description: InternalServerErrorException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
        '404':
          description: NotFoundException; UnknownTopicOrPartitionException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundException'
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTopicRequest'
      tags:
      - Topics
components:
  schemas:
    UpdateTopicResponse:
      type: object
      properties:
        TopicArn:
          type: string
          description: The Amazon Resource Name (ARN) of the topic.
        TopicName:
          type: string
          description: The name of the topic whose configuration was updated.
        Status:
          type: string
          enum:
          - CREATING
          - UPDATING
          - DELETING
          - ACTIVE
          description: The status of the topic update.
    ClusterConnectivityException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    DeleteTopicRequest:
      type: object
      properties:
        ClusterArn:
          type: string
          description: The Amazon Resource Name (ARN) that uniquely identifies the cluster.
        TopicName:
          type: string
          description: The name of the topic to delete.
      required:
      - ClusterArn
      - TopicName
    InternalServerErrorException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    UnauthorizedException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    UnknownTopicOrPartitionException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    DeleteTopicResponse:
      type: object
      properties:
        TopicArn:
          type: string
          description: The Amazon Resource Name (ARN) of the topic.
        TopicName:
          type: string
          description: The name of the topic that was deleted.
        Status:
          type: string
          enum:
          - CREATING
          - UPDATING
          - DELETING
          - ACTIVE
          description: The status of the topic deletion.
    CreateTopicResponse:
      type: object
      properties:
        TopicArn:
          type: string
          description: The Amazon Resource Name (ARN) of the topic.
        TopicName:
          type: string
          description: The name of the topic that was created.
        Status:
          type: string
          enum:
          - CREATING
          - UPDATING
          - DELETING
          - ACTIVE
          description: The status of the topic creation.
    DescribeTopicResponse:
      type: object
      properties:
        TopicArn:
          type: string
          description: The Amazon Resource Name (ARN) of the topic.
        TopicName:
          type: string
          description: The Kafka topic name of the topic.
        ReplicationFactor:
          type: integer
          description: The replication factor of the topic.
        PartitionCount:
          type: integer
          description: The partition count of the topic.
        Configs:
          type: string
          description: Topic configurations encoded as a Base64 string.
        Status:
          type: string
          enum:
          - CREATING
          - UPDATING
          - DELETING
          - ACTIVE
          description: The status of the topic.
    BadRequestException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    NotFoundException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    TooManyRequestsException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    CreateTopicRequest:
      type: object
      properties:
        ClusterArn:
          type: string
          description: The Amazon Resource Name (ARN) that uniquely identifies the cluster.
        TopicName:
          type: string
          description: The name of the topic to create.
        PartitionCount:
          type: integer
          description: The number of partitions for the topic.
        ReplicationFactor:
          type: integer
          description: The replication factor for the topic.
        Configs:
          type: string
          description: Topic configurations encoded as a Base64 string.
      required:
      - ClusterArn
      - TopicName
      - PartitionCount
      - ReplicationFactor
    DescribeTopicRequest:
      type: object
      properties:
        ClusterArn:
          type: string
          description: The Amazon Resource Name (ARN) that uniquely identifies the cluster.
        TopicName:
          type: string
          description: The Kafka topic name that uniquely identifies the topic.
      required:
      - ClusterArn
      - TopicName
    ListTopicsRequest:
      type: object
      properties:
        ClusterArn:
          type: string
          description: The Amazon Resource Name (ARN) that uniquely identifies the cluster.
        MaxResults:
          type: integer
          description: The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.
        NextToken:
          type: string
          description: The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. To get the next batch, provide this token in your next request.
        TopicNameFilter:
          type: string
          description: Returns topics starting with given name.
      required:
      - ClusterArn
    ServiceUnavailableException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    ListTopicsResponse:
      type: object
      properties:
        Topics:
          type: array
          items:
            $ref: '#/components/schemas/TopicInfo'
          description: List containing topics info.
        NextToken:
          type: string
          description: The paginated results marker. When the result of a ListTopics operation is truncated, the call returns NextToken in the response. To get another batch of configurations, provide this token in your next request.
    ForbiddenException:
      type: object
      properties:
        InvalidParameter:
          type: string
          description: The parameter that caused the error.
        Message:
          type: string
          description: The description of the error.
    UpdateTopicRequest:
      type: object
      properties:
        ClusterArn:
          type: string
          description: The Amazon Resource Name (ARN) that uniquely identifies the cluster.
        TopicName:
          type: string
          description: The name of the topic to update configuration for.
        Configs:
          type: string
          description: The new topic configurations encoded as a Base64 string.
        PartitionCount:
          type: integer
          description: The new total number of partitions for the topic.
      required:
      - ClusterArn
      - TopicName
    TopicInfo:
      type: object
      properties:
        TopicArn:
          type: string
          description: The Amazon Resource Name (ARN) of the topic.
        TopicName:
          type: string
          description: Name for a topic.
        ReplicationFactor:
          type: integer
          description: Replication factor for a topic.
        PartitionCount:
          type: integer
          description: Partition count for a topic.
        OutOfSyncReplicaCount:
          type: integer
          description: Number of out-of-sync replicas for a topic.
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: kafka
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/kafka/service/2018-11-14/kafka-2018-11-14.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)