Skip to main content

Create a mirror topic

POST 

/kafka/v3/clusters/:cluster_id/links/:link_name/mirrors

Generally Available

Create a topic in the destination cluster mirroring a topic in the source cluster

Request

Responses

Operation succeeded, no content in the response

OpenAPI definition (YAML)
paths:
  /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:
    post:
      operationId: createKafkaMirrorTopic
      description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)


        Create a topic in the destination cluster mirroring a topic in

        the source cluster'
      tags:
      - Cluster Linking (v3)
      security:
      - resource-api-key: []
      - external-access-token: []
      requestBody:
        description: Name and configs of the topics mirroring from and mirroring to. Note that Confluent
          Cloud allows only specific replication factor values. Because of that the replication factor
          field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).
        content:
          application/json:
            schema:
              properties:
                source_topic_name:
                  type: string
                mirror_topic_name:
                  type: string
                replication_factor:
                  type: integer
                configs:
                  type: array
                  items:
                    example:
                      name: name
                      value: value
                    properties:
                      name:
                        type: string
                      value:
                        nullable: true
                        type: string
                    required:
                    - name
                    - value
                    title: ConfigData
              required:
              - source_topic_name
              type: object
              title: CreateMirrorTopicRequestData
            examples:
              generic_example:
                description: Generic example of creating a mirror topic
                value:
                  source_topic_name: topic-1
                  configs:
                  - name: unclean.leader.election.enable
                    value: 'true'
                  replication_factor: 1
              example_with_mirror_topic_name:
                description: Example using optional mirror_topic_name flag
                value:
                  source_topic_name: topic-1
                  mirror_topic_name: link1_topic-1
                  configs:
                  - name: unclean.leader.election.enable
                    value: 'true'
                  replication_factor: 3
      responses:
        '204':
          description: Operation succeeded, no content in the response
        '400':
          description: Indicates a bad request error. It could be caused by an unexpected request body
            format or other forms of request validation failure.
          content:
            application/json:
              schema:
                type: object
                description: Describes a particular error encountered while performing an operation.
                properties:
                  id:
                    description: A unique identifier for this particular occurrence of the problem.
                    type: string
                    maxLength: 255
                  status:
                    description: The HTTP status code applicable to this problem, expressed as a string
                      value.
                    type: string
                  code:
                    description: An application-specific error code, expressed as a string value.
                    type: string
                  title:
                    description: A short, human-readable summary of the problem. It **SHOULD NOT** change
                      from occurrence to occurrence of the problem, except for purposes of localization.
                    type: string
                  detail:
                    description: A human-readable explanation specific to this occurrence of the problem.
                    type: string
                  source:
                    type: object
                    description: If this error was caused by a particular part of the API request, the
                      source will point to the query string parameter or request body property that caused
                      it.
                    properties:
                      pointer:
                        description: A JSON Pointer [RFC6901] to the associated entity in the request
                          document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].
                        type: string
                      parameter:
                        description: A string indicating which query parameter caused the error.
                        type: string
                  error_code:
                    type: integer
                    format: int32
                  message:
                    type: string
                    nullable: true
                additionalProperties: false
                title: Error
              examples:
                bad_request_cannot_deserialize:
                  description: Thrown when trying to deserialize an integer from non-integer data.
                  value:
                    error_code: 400
                    message: 'Cannot deserialize value of type `java.lang.Integer` from String "A": not
                      a valid `java.lang.Integer` value'
                unsupported_version_exception:
                  description: Thrown when the version of this API is not supported in the underlying
                    Kafka cluster.
                  value:
                    error_code: 40035
                    message: The version of this API is not supported in the underlying Kafka cluster.
        '401':
          description: Indicates a client authentication error. Kafka authentication failures will contain
            error code 40101 in the response body.
          content:
            application/json:
              schema:
                type: object
                description: Describes a particular error encountered while performing an operation.
                properties:
                  id:
                    description: A unique identifier for this particular occurrence of the problem.
                    type: string
                    maxLength: 255
                  status:
                    description: The HTTP status code applicable to this problem, expressed as a string
                      value.
                    type: string
                  code:
                    description: An application-specific error code, expressed as a string value.
                    type: string
                  title:
                    description: A short, human-readable summary of the problem. It **SHOULD NOT** change
                      from occurrence to occurrence of the problem, except for purposes of localization.
                    type: string
                  detail:
                    description: A human-readable explanation specific to this occurrence of the problem.
                    type: string
                  source:
                    type: object
                    description: If this error was caused by a particular part of the API request, the
                      source will point to the query string parameter or request body property that caused
                      it.
                    properties:
                      pointer:
                        description: A JSON Pointer [RFC6901] to the associated entity in the request
                          document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].
                        type: string
                      parameter:
                        description: A string indicating which query parameter caused the error.
                        type: string
                  error_code:
                    type: integer
                    format: int32
                  message:
                    type: string
                    nullable: true
                additionalProperties: false
                title: Error
              examples:
                kafka_authentication_failed:
                  description: Thrown when using Basic authentication with wrong Kafka credentials.
                  value:
                    error_code: 40101
                    message: Authentication failed
        '429':
          description: Indicates that a rate limit threshold has been reached, and the client should retry
            again later.
          content:
            text/html:
              schema:
                type: string
              example:
                description: A sample response from Jetty's DoSFilter.
                value: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
                  <title>Error 429 Too Many Requests</title> </head> <body> <h2>HTTP ERROR 429 Too Many
                  Requests</h2> <table> <tr> <th>URI:</th> <td>/v3/clusters/my-cluster</td> </tr> <tr>
                  <th>STATUS:</th> <td>429</td> </tr> <tr> <th>MESSAGE:</th> <td>Too Many Requests</td>
                  </tr> <tr> <th>SERVLET:</th> <td>default</td> </tr> </table> </body> </html>
        5XX:
          description: A server-side problem that might not be addressable from the client side. Retriable
            Kafka errors will contain error code 50003 in the response body.
          content:
            application/json:
              schema:
                type: object
                description: Describes a particular error encountered while performing an operation.
                properties:
                  id:
                    description: A unique identifier for this particular occurrence of the problem.
                    type: string
                    maxLength: 255
                  status:
                    description: The HTTP status code applicable to this problem, expressed as a string
                      value.
                    type: string
                  code:
                    description: An application-specific error code, expressed as a string value.
                    type: string
                  title:
                    description: A short, human-readable summary of the problem. It **SHOULD NOT** change
                      from occurrence to occurrence of the problem, except for purposes of localization.
                    type: string
                  detail:
                    description: A human-readable explanation specific to this occurrence of the problem.
                    type: string
                  source:
                    type: object
                    description: If this error was caused by a particular part of the API request, the
                      source will point to the query string parameter or request body property that caused
                      it.
                    properties:
                      pointer:
                        description: A JSON Pointer [RFC6901] to the associated entity in the request
                          document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].
                        type: string
                      parameter:
                        description: A string indicating which query parameter caused the error.
                        type: string
                  error_code:
                    type: integer
                    format: int32
                  message:
                    type: string
                    nullable: true
                additionalProperties: false
                title: Error
              examples:
                generic_internal_server_error:
                  description: Thrown for generic HTTP 500 errors.
                  value:
                    error_code: 500
                    message: Internal Server Error
      parameters:
      - name: cluster_id
        description: The Kafka cluster ID.
        in: path
        required: true
        schema:
          type: string
        example: cluster-1
      - name: link_name
        description: The link name
        in: path
        required: true
        schema:
          type: string
        example: link-sb1
      servers:
      - url: https://pkc-00000.region.provider.confluent.cloud
        x-audience: business-unit-internal
        description: Confluent Cloud REST Endpoint. For example https://pkc-00000.region.provider.confluent.cloud
      jsonRequestBodyExample:
        source_topic_name: string
        mirror_topic_name: string
        replication_factor: 0
        configs:
        - name: name
          value: value