Amazon MSK Msk Replication API
The Msk Replication API from Amazon MSK — 2 operation(s) for msk replication.
The Msk Replication API from Amazon MSK — 2 operation(s) for msk replication.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/amazon-msk:amazon-msk-replication-api"
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.
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: 3.2.0
info:
title: Managed Streaming for Kafka Replication API
version: '2018-11-14'
description: Generated from AWS's published Smithy model for Managed Streaming for Kafka. 4 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: Replication
paths:
/replication/v1/replicators:
post:
operationId: CreateReplicator
summary: Create Replicator
description: Creates the replicator.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateReplicatorResponse'
'400':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'409':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'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'
'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'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateReplicatorRequest'
tags:
- Replication
get:
operationId: ListReplicators
summary: List Replicators
description: Lists the replicators.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListReplicatorsResponse'
'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'
'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'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListReplicatorsRequest'
tags:
- Replication
/replication/v1/replicators/{ReplicatorArn}:
delete:
operationId: DeleteReplicator
summary: Delete Replicator
description: Deletes a replicator.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteReplicatorResponse'
'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'
'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'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteReplicatorRequest'
tags:
- Replication
get:
operationId: DescribeReplicator
summary: Describe Replicator
description: Describes a replicator.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeReplicatorResponse'
'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'
'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'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeReplicatorRequest'
tags:
- Replication
components:
schemas:
ReplicationInfoSummary:
type: object
properties:
SourceKafkaClusterAlias:
type: string
description: The alias of the source Kafka cluster.
TargetKafkaClusterAlias:
type: string
description: The alias of the target Kafka cluster.
LogDelivery:
type: object
properties:
ReplicatorLogDelivery:
$ref: '#/components/schemas/ReplicatorLogDelivery'
DescribeReplicatorRequest:
type: object
properties:
ReplicatorArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator to be described.
required:
- ReplicatorArn
ListReplicatorsResponse:
type: object
properties:
NextToken:
type: string
description: If the response of ListReplicators is truncated, it returns a NextToken in the response. This NextToken should be sent in the subsequent request to ListReplicators.
Replicators:
type: array
items:
$ref: '#/components/schemas/ReplicatorSummary'
description: List containing information of each of the replicators in the account.
ReplicationStateInfo:
type: object
properties:
Code:
type: string
description: Code that describes the current state of the replicator.
Message:
type: string
description: Message that describes the state of the replicator.
ApacheKafkaCluster:
type: object
properties:
ApacheKafkaClusterId:
type: string
description: The ID of the Apache Kafka cluster.
BootstrapBrokerString:
type: string
description: The bootstrap broker string of the Apache Kafka cluster.
required:
- ApacheKafkaClusterId
- BootstrapBrokerString
InternalServerErrorException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
KafkaClusterEncryptionInTransit:
type: object
properties:
EncryptionType:
type: string
enum:
- TLS
description: The type of encryption in transit to the Apache Kafka cluster.
RootCaCertificate:
type: string
description: The root CA certificate.
required:
- EncryptionType
UnauthorizedException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
DescribeReplicatorResponse:
type: object
properties:
CreationTime:
type: string
format: date-time
description: The time when the replicator was created.
CurrentVersion:
type: string
description: The current version number of the replicator.
IsReplicatorReference:
type: boolean
description: Whether this resource is a replicator reference.
KafkaClusters:
type: array
items:
$ref: '#/components/schemas/KafkaClusterDescription'
description: Kafka Clusters used in setting up sources / targets for replication.
ReplicationInfoList:
type: array
items:
$ref: '#/components/schemas/ReplicationInfoDescription'
description: A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
ReplicatorArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator.
ReplicatorDescription:
type: string
description: The description of the replicator.
ReplicatorName:
type: string
description: The name of the replicator.
ReplicatorResourceArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator resource in the region where the replicator was created.
ReplicatorState:
type: string
enum:
- RUNNING
- CREATING
- UPDATING
- DELETING
- FAILED
description: State of the replicator.
ServiceExecutionRoleArn:
type: string
description: The Amazon Resource Name (ARN) of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters)
StateInfo:
$ref: '#/components/schemas/ReplicationStateInfo'
Tags:
type: object
additionalProperties:
type: string
description: List of tags attached to the Replicator.
LogDelivery:
$ref: '#/components/schemas/LogDelivery'
KafkaClusterSummary:
type: object
properties:
AmazonMskCluster:
$ref: '#/components/schemas/AmazonMskCluster'
ApacheKafkaCluster:
$ref: '#/components/schemas/ApacheKafkaCluster'
KafkaClusterAlias:
type: string
description: The alias of the Kafka cluster. Used to prefix names of replicated topics.
ListReplicatorsRequest:
type: object
properties:
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: If the response of ListReplicators is truncated, it returns a NextToken in the response. This NextToken should be sent in the subsequent request to ListReplicators.
ReplicatorNameFilter:
type: string
description: Returns replicators starting with given name.
KafkaClusterSaslScramAuthentication:
type: object
properties:
Mechanism:
type: string
enum:
- SHA256
- SHA512
description: The SASL/SCRAM authentication mechanism.
SecretArn:
type: string
description: The Amazon Resource Name (ARN) of the Secrets Manager secret.
required:
- Mechanism
- SecretArn
KafkaCluster:
type: object
properties:
AmazonMskCluster:
$ref: '#/components/schemas/AmazonMskCluster'
ApacheKafkaCluster:
$ref: '#/components/schemas/ApacheKafkaCluster'
VpcConfig:
$ref: '#/components/schemas/KafkaClusterClientVpcConfig'
ClientAuthentication:
$ref: '#/components/schemas/KafkaClusterClientAuthentication'
EncryptionInTransit:
$ref: '#/components/schemas/KafkaClusterEncryptionInTransit'
AmazonMskCluster:
type: object
properties:
MskClusterArn:
type: string
description: The Amazon Resource Name (ARN) of an Amazon MSK cluster.
required:
- MskClusterArn
KafkaClusterOAuthClientCredentialsAssertion:
type: object
properties:
Audience:
type: string
description: The audience for the JWT client assertion.
SigningAlgorithm:
type: string
enum:
- RS256
- ES384
description: The signing algorithm for the JWT client assertion.
TokenRequestSecretArn:
type: string
description: The Amazon Resource Name (ARN) of the Secrets Manager secret containing the signing key.
required:
- Audience
- SigningAlgorithm
ConflictException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
BadRequestException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
KafkaClusterOAuthClientCredentials:
type: object
properties:
TokenRequestSecretArn:
type: string
description: The Amazon Resource Name (ARN) of the Secrets Manager secret containing the OAuth client credentials.
required:
- TokenRequestSecretArn
NotFoundException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
DeleteReplicatorResponse:
type: object
properties:
ReplicatorArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator.
ReplicatorState:
type: string
enum:
- RUNNING
- CREATING
- UPDATING
- DELETING
- FAILED
description: The state of the replicator.
KafkaClusterClientAuthentication:
type: object
properties:
SaslScram:
$ref: '#/components/schemas/KafkaClusterSaslScramAuthentication'
MTLS:
$ref: '#/components/schemas/KafkaClusterMTLSAuthentication'
SaslOAuthBearer:
$ref: '#/components/schemas/KafkaClusterSaslOAuthBearerAuthentication'
ReplicationInfoDescription:
type: object
properties:
ConsumerGroupReplication:
$ref: '#/components/schemas/ConsumerGroupReplication'
SourceKafkaClusterAlias:
type: string
description: The alias of the source Kafka cluster.
TargetCompressionType:
type: string
enum:
- NONE
- GZIP
- SNAPPY
- LZ4
- ZSTD
description: The compression type to use when producing records to target cluster.
TargetKafkaClusterAlias:
type: string
description: The alias of the target Kafka cluster.
TopicReplication:
$ref: '#/components/schemas/TopicReplication'
ReplicationTopicNameConfiguration:
type: object
properties:
Type:
type: string
enum:
- PREFIXED_WITH_SOURCE_CLUSTER_ALIAS
- IDENTICAL
description: The type of replicated topic name.
DeleteReplicatorRequest:
type: object
properties:
CurrentVersion:
type: string
description: The current version of the replicator.
ReplicatorArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator to be deleted.
required:
- ReplicatorArn
TooManyRequestsException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
KafkaClusterMTLSAuthentication:
type: object
properties:
SecretArn:
type: string
description: The Amazon Resource Name (ARN) of the Secrets Manager secret.
required:
- SecretArn
KafkaClusterSaslOAuthBearerAuthentication:
type: object
properties:
TokenEndpointUrl:
type: string
description: The HTTPS URL of the OAuth token endpoint that vends OAuth Bearer tokens per RFC 6749.
ClientCredentials:
$ref: '#/components/schemas/KafkaClusterOAuthClientCredentials'
IamJwtBearer:
$ref: '#/components/schemas/KafkaClusterOAuthIamJwtBearer'
ClientCredentialsAssertion:
$ref: '#/components/schemas/KafkaClusterOAuthClientCredentialsAssertion'
TokenEndpointAuthenticationMethod:
type: string
enum:
- POST
- BASIC
- NONE
description: How client credentials are sent to the identity provider. Valid values are POST, BASIC, or NONE.
Scope:
type: string
description: OAuth scope to request.
TokenEndpointTlsCertificateArn:
type: string
description: Secrets Manager ARN containing a custom CA certificate for the identity provider.
required:
- TokenEndpointUrl
- TokenEndpointAuthenticationMethod
KafkaClusterClientVpcConfig:
type: object
properties:
SecurityGroupIds:
type: array
items:
type: string
description: The security groups to attach to the ENIs for the broker nodes.
SubnetIds:
type: array
items:
type: string
description: The list of subnets in the client VPC to connect to.
required:
- SubnetIds
ReplicatorFirehose:
type: object
properties:
Enabled:
type: boolean
description: Whether log delivery to Firehose is enabled.
DeliveryStream:
type: string
description: The Firehose delivery stream that is the destination for log delivery.
required:
- Enabled
ReplicatorLogDelivery:
type: object
properties:
CloudWatchLogs:
$ref: '#/components/schemas/ReplicatorCloudWatchLogs'
Firehose:
$ref: '#/components/schemas/ReplicatorFirehose'
S3:
$ref: '#/components/schemas/ReplicatorS3'
ReplicationInfo:
type: object
properties:
ConsumerGroupReplication:
$ref: '#/components/schemas/ConsumerGroupReplication'
SourceKafkaClusterArn:
type: string
description: The ARN of the source Kafka cluster.
SourceKafkaClusterId:
type: string
description: The ID of the source Kafka cluster.
TargetCompressionType:
type: string
enum:
- NONE
- GZIP
- SNAPPY
- LZ4
- ZSTD
description: The compression type to use when producing records to target cluster.
TargetKafkaClusterArn:
type: string
description: The ARN of the target Kafka cluster.
TargetKafkaClusterId:
type: string
description: The ID of the target Kafka cluster.
TopicReplication:
$ref: '#/components/schemas/TopicReplication'
required:
- ConsumerGroupReplication
- TargetCompressionType
- TopicReplication
KafkaClusterDescription:
type: object
properties:
AmazonMskCluster:
$ref: '#/components/schemas/AmazonMskCluster'
ApacheKafkaCluster:
$ref: '#/components/schemas/ApacheKafkaCluster'
KafkaClusterAlias:
type: string
description: The alias of the Kafka cluster. Used to prefix names of replicated topics.
VpcConfig:
$ref: '#/components/schemas/KafkaClusterClientVpcConfig'
ClientAuthentication:
$ref: '#/components/schemas/KafkaClusterClientAuthentication'
EncryptionInTransit:
$ref: '#/components/schemas/KafkaClusterEncryptionInTransit'
CreateReplicatorResponse:
type: object
properties:
ReplicatorArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator.
ReplicatorName:
type: string
description: Name of the replicator provided by the customer.
ReplicatorState:
type: string
enum:
- RUNNING
- CREATING
- UPDATING
- DELETING
- FAILED
description: State of the replicator.
ReplicatorSummary:
type: object
properties:
CreationTime:
type: string
format: date-time
description: The time the replicator was created.
CurrentVersion:
type: string
description: The current version of the replicator.
IsReplicatorReference:
type: boolean
description: Whether this resource is a replicator reference.
KafkaClustersSummary:
type: array
items:
$ref: '#/components/schemas/KafkaClusterSummary'
description: Kafka Clusters used in setting up sources / targets for replication.
ReplicationInfoSummaryList:
type: array
items:
$ref: '#/components/schemas/ReplicationInfoSummary'
description: A list of summarized information of replications between clusters.
ReplicatorArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator.
ReplicatorName:
type: string
description: The name of the replicator.
ReplicatorResourceArn:
type: string
description: The Amazon Resource Name (ARN) of the replicator resource in the region where the replicator was created.
ReplicatorState:
type: string
enum:
- RUNNING
- CREATING
- UPDATING
- DELETING
- FAILED
description: State of the replicator.
ReplicationStartingPosition:
type: object
properties:
Type:
type: string
enum:
- LATEST
- EARLIEST
description: The type of replication starting position.
KafkaClusterOAuthIamJwtBearer:
type: object
properties:
Audience:
type: string
description: The audience for the JWT Bearer assertion.
SigningAlgorithm:
type: string
enum:
- RS256
- ES384
description: The signing algorithm for the JWT Bearer assertion.
TokenRequestSecretArn:
type: string
description: The Amazon Resource Name (ARN) of the Secrets Manager secret containing the signing key.
required:
- Audience
- SigningAlgorithm
ServiceUnavailableException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
CreateReplicatorRequest:
type: object
properties:
Description:
type: string
description: A summary description of the replicator.
KafkaClusters:
type: array
items:
$ref: '#/components/schemas/KafkaCluster'
description: Kafka Clusters to use in setting up sources / targets for replication.
ReplicationInfoList:
type: array
items:
$ref: '#/components/schemas/ReplicationInfo'
description: A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
ReplicatorName:
type: string
description: The name of the replicator. Alpha-numeric characters with '-' are allowed.
ServiceExecutionRoleArn:
type: string
description: The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters)
Tags:
type: object
additionalProperties:
type: string
description: List of tags to attach to created Replicator.
LogDelivery:
$ref: '#/components/schemas/LogDelivery'
required:
- KafkaClusters
- ReplicationInfoList
- ReplicatorName
- ServiceExecutionRoleArn
ReplicatorS3:
type: object
properties:
Enabled:
type: boolean
description: Whether log delivery to S3 is enabled.
Bucket:
type: string
description: The S3 bucket that is the destination for log delivery.
Prefix:
type: string
description: The S3 prefix that is the destination for log delivery.
required:
- Enabled
ForbiddenException:
type: object
properties:
InvalidParameter:
type: string
description: The parameter that caused the error.
Message:
type: string
description: The description of the error.
TopicReplication:
type: object
properties:
CopyAccessControlListsForTopics:
type: boolean
description: Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
CopyTopicConfigurations:
type: boolean
description: Whether to periodically configure remote topics to match their corresponding upstream topics.
DetectAndCopyNewTopics:
type: boolean
description: Whether to periodically check for new topics and partitions.
StartingPosition:
$ref: '#/components/schemas/ReplicationStartingPosition'
TopicNameConfiguration:
$ref: '#/components/schemas/ReplicationTopicNameConfiguration'
TopicsToExclude:
type: array
items:
type: string
description: List of regular expression patterns indicating the topics that should not be replicated.
TopicsToReplicate:
type: array
items:
type: string
description: List of regular expression patterns indicating the topics to copy.
required:
- TopicsToReplicate
ConsumerGroupReplication:
type: object
properties:
ConsumerGroupsToExclude:
type: array
items:
type: string
description: List of regular expression patterns indicating the consumer groups that should not be replicated.
ConsumerGroupsToReplicate:
type: array
items:
type: string
description: List of regular expression patterns indicating the consumer groups to copy.
DetectAndCopyNewConsumerGroups:
type: boolean
description: Enables synchronization of consumer groups to target cluster.
SynchroniseConsumerGroupOffsets:
type: boolean
description: Enables synchronization of consumer group offsets to target cluster. The translated offsets will be written to topic __consumer_offsets.
ConsumerGroupOffsetSyncMode:
type: string
enum:
- LEGACY
- ENHANCED
description: The consumer group offset synchronization mode. With LEGACY, offsets are synchronized when producers write to the source cluster. With ENHANCED, consumer offsets are synchronized regardless of producer location. ENHANCED requires a corresponding replicator that replicates data from the target cluster to the source cluster.
required:
- ConsumerGroupsToReplicate
ReplicatorCloudWatchLogs:
type: object
properties:
Enabled:
type: boolean
description: Whether log delivery to CloudWatch Logs is enabled.
LogGroup:
type: string
description: The CloudWatch log group that is the destination for log delivery.
required:
- Enabled
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)