Confluent | the Data Streaming Platform · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Confluent Cloud Cluster Linking (v3) API
21 actions
21 updates
phrasing
extends
openapi/confluent-the-data-streaming-platform-cluster-linking-v3-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Confluent | the Data Streaming Platform's API. It is a proposal applied on top of the contract, not a document Confluent | the Data Streaming Platform publishes.
What the actions change
x-apievangelist-phrasing
Targets 21 · first 16 shown; the file carries all of them
$.info
$.paths['/kafka/v3/clusters/{cluster_id}/links'].get
$.paths['/kafka/v3/clusters/{cluster_id}/links'].post
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}'].get
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}'].delete
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs'].get
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}'].get
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}'].put
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}'].delete
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs:alter'].put
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors'].get
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors'].post
$.paths['/kafka/v3/clusters/{cluster_id}/links/-/mirrors'].get
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors/{mirror_topic_name}'].get
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:promote'].post
$.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:failover'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Confluent Cloud Cluster Linking (v3) API
version: 1.0.0
extends: openapi/confluent-the-data-streaming-platform-cluster-linking-v3-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 20
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links'].get
update:
x-apievangelist-phrasing:
intent: List cluster links on a destination cluster
effect: read
questions:
- Which cluster links are set up on my destination Kafka cluster?
- Can I see every cluster link that replicates into one Confluent cluster?
instructions:
- text: List all cluster links on destination cluster {cluster_id}.
slots:
cluster_id: path.cluster_id
- text: Show me the cluster links configured in {cluster_id}.
slots:
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links'].post
update:
x-apievangelist-phrasing:
intent: Create a cluster link
effect: write
questions:
- How do I set up a cluster link to replicate topics from another Kafka cluster?
- Can I validate a new cluster link's settings without actually creating it?
- What source cluster security configs does creating a cluster link need?
instructions:
- text: Create cluster link {link_name} on cluster {cluster_id} from source cluster {source_cluster_id}.
slots:
link_name: query.link_name
cluster_id: path.cluster_id
source_cluster_id: requestBody.source_cluster_id
- text: Dry-run creating cluster link {link_name} on {cluster_id} with validate_only set to {validate_only}.
slots:
link_name: query.link_name
cluster_id: path.cluster_id
validate_only: query.validate_only
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}'].get
update:
x-apievangelist-phrasing:
intent: Describe a cluster link
effect: read
questions:
- What are the details of a specific cluster link, including its link ID?
- Can I see the tasks running for one cluster link?
instructions:
- text: Describe cluster link {link_name} on cluster {cluster_id}.
slots:
link_name: path.link_name
cluster_id: path.cluster_id
- text: Show cluster link {link_name} in {cluster_id} with its tasks included.
slots:
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a cluster link
effect: destructive
questions:
- How do I remove a cluster link I no longer need?
- Can I force-delete a cluster link that still has mirror topics?
instructions:
- text: Delete cluster link {link_name} from cluster {cluster_id}.
slots:
link_name: path.link_name
cluster_id: path.cluster_id
- text: Force delete cluster link {link_name} on {cluster_id} with force={force}.
slots:
link_name: path.link_name
cluster_id: path.cluster_id
force: query.force
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs'].get
update:
x-apievangelist-phrasing:
intent: List a cluster link's configs
effect: read
questions:
- What configuration settings does my cluster link currently have?
- Can I see every config value on one cluster link at once?
instructions:
- text: List all configs of cluster link {link_name} on {cluster_id}.
slots:
link_name: path.link_name
cluster_id: path.cluster_id
- text: Dump the full config set for link {link_name} in cluster {cluster_id}.
slots:
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}'].get
update:
x-apievangelist-phrasing:
intent: Get one cluster link config value
effect: read
questions:
- What is the current value of a single setting on my cluster link?
- Is one particular cluster link config still at its default?
instructions:
- text: Show config {config_name} on cluster link {link_name} in {cluster_id}.
slots:
config_name: path.config_name
link_name: path.link_name
cluster_id: path.cluster_id
- text: Get the value of {config_name} for link {link_name}.
slots:
config_name: path.config_name
link_name: path.link_name
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}'].put
update:
x-apievangelist-phrasing:
intent: Change one cluster link config
effect: write
questions:
- How do I change a single setting on an existing cluster link?
- Can I update just one config on a cluster link without touching the others?
instructions:
- text: Set config {config_name} on cluster link {link_name} to {value}.
slots:
config_name: path.config_name
link_name: path.link_name
value: requestBody.value
- text: Alter {config_name} to {value} on link {link_name} in cluster {cluster_id}.
slots:
config_name: path.config_name
value: requestBody.value
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}'].delete
update:
x-apievangelist-phrasing:
intent: Reset a cluster link config to default
effect: destructive
questions:
- How do I put a cluster link setting back to its default value?
- Can I undo an override I made to one cluster link config?
instructions:
- text: Reset config {config_name} on cluster link {link_name} to its default.
slots:
config_name: path.config_name
link_name: path.link_name
- text: Remove the override for {config_name} on link {link_name} in {cluster_id}.
slots:
config_name: path.config_name
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs:alter'].put
update:
x-apievangelist-phrasing:
intent: Change several cluster link configs at once
effect: write
questions:
- Can I alter multiple cluster link settings in a single request?
- Is there a way to dry-run a batch of cluster link config changes first?
instructions:
- text: Batch alter these configs {data} on cluster link {link_name}.
slots:
data: requestBody.data
link_name: path.link_name
- text: Validate the batch config changes {data} for link {link_name} in {cluster_id} without applying them.
slots:
data: requestBody.data
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors'].get
update:
x-apievangelist-phrasing:
intent: List mirror topics under one cluster link
effect: read
questions:
- Which mirror topics belong to a specific cluster link?
- Can I filter one link's mirror topics down to just the paused ones?
instructions:
- text: List the mirror topics under cluster link {link_name} in {cluster_id}.
slots:
link_name: path.link_name
cluster_id: path.cluster_id
- text: Show mirror topics on link {link_name} with status {mirror_status}.
slots:
link_name: path.link_name
mirror_status: query.mirror_status
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors'].post
update:
x-apievangelist-phrasing:
intent: Create a mirror topic over a cluster link
effect: write
questions:
- How do I start mirroring a source topic into my destination cluster?
- Can I give the mirror topic a different name than the source topic?
instructions:
- text: Mirror source topic {source_topic_name} over cluster link {link_name}.
slots:
source_topic_name: requestBody.source_topic_name
link_name: path.link_name
- text: Create mirror topic {mirror_topic_name} from {source_topic_name} on link {link_name} in {cluster_id}.
slots:
mirror_topic_name: requestBody.mirror_topic_name
source_topic_name: requestBody.source_topic_name
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/-/mirrors'].get
update:
x-apievangelist-phrasing:
intent: List all mirror topics in a cluster
effect: read
questions:
- What mirror topics exist in my cluster across every cluster link?
- Can I find all failed mirror topics in a cluster regardless of link?
instructions:
- text: List every mirror topic across all links in cluster {cluster_id}.
slots:
cluster_id: path.cluster_id
- text: Show all mirror topics in {cluster_id} whose status is {mirror_status}, across every link.
slots:
cluster_id: path.cluster_id
mirror_status: query.mirror_status
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors/{mirror_topic_name}'].get
update:
x-apievangelist-phrasing:
intent: Describe a mirror topic
effect: read
questions:
- What is the mirroring status and lag of one specific mirror topic?
- Can I see the state transition errors for a mirror topic?
instructions:
- text: Describe mirror topic {mirror_topic_name} on link {link_name} in {cluster_id}.
slots:
mirror_topic_name: path.mirror_topic_name
link_name: path.link_name
cluster_id: path.cluster_id
- text: Show mirror topic {mirror_topic_name} including its state transition errors.
slots:
mirror_topic_name: path.mirror_topic_name
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:promote'].post
update:
x-apievangelist-phrasing:
intent: Promote mirror topics to regular topics
effect: destructive
questions:
- How do I promote mirror topics so they become writable in the destination cluster?
- Can I promote every mirror topic matching a name pattern at once?
instructions:
- text: Promote mirror topics {mirror_topic_names} on link {link_name}.
slots:
mirror_topic_names: requestBody.mirror_topic_names
link_name: path.link_name
- text: Promote all mirror topics matching {mirror_topic_name_pattern} on link {link_name} in {cluster_id}.
slots:
mirror_topic_name_pattern: requestBody.mirror_topic_name_pattern
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:failover'].post
update:
x-apievangelist-phrasing:
intent: Fail over mirror topics
effect: destructive
questions:
- How do I fail over mirror topics when the source cluster is down?
- Can I test a mirror topic failover with validate only before doing it?
instructions:
- text: Fail over mirror topics {mirror_topic_names} on link {link_name}.
slots:
mirror_topic_names: requestBody.mirror_topic_names
link_name: path.link_name
- text: Fail over every mirror topic matching {mirror_topic_name_pattern} on link {link_name} in {cluster_id}.
slots:
mirror_topic_name_pattern: requestBody.mirror_topic_name_pattern
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:pause'].post
update:
x-apievangelist-phrasing:
intent: Pause mirror topics
effect: write
questions:
- Can I temporarily stop mirroring on some mirror topics?
- How would I pause replication for mirror topics that match a pattern?
instructions:
- text: Pause mirror topics {mirror_topic_names} on link {link_name}.
slots:
mirror_topic_names: requestBody.mirror_topic_names
link_name: path.link_name
- text: Pause mirroring for topics matching {mirror_topic_name_pattern} on link {link_name} in {cluster_id}.
slots:
mirror_topic_name_pattern: requestBody.mirror_topic_name_pattern
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:resume'].post
update:
x-apievangelist-phrasing:
intent: Resume paused mirror topics
effect: write
questions:
- How do I restart mirroring on mirror topics I paused earlier?
- Can I resume paused mirror topics by name pattern?
instructions:
- text: Resume paused mirror topics {mirror_topic_names} on link {link_name}.
slots:
mirror_topic_names: requestBody.mirror_topic_names
link_name: path.link_name
- text: Resume mirroring for paused topics matching {mirror_topic_name_pattern} on link {link_name} in {cluster_id}.
slots:
mirror_topic_name_pattern: requestBody.mirror_topic_name_pattern
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-start-mirror'].post
update:
x-apievangelist-phrasing:
intent: Reverse mirror direction and start remote mirror
effect: write
questions:
- How do I reverse a mirror so the local topic becomes the source and the remote one starts mirroring?
- Can I flip mirroring direction back after a failover and keep the remote side running?
instructions:
- text: Reverse local mirror topics {mirror_topic_names} on link {link_name} and start the remote mirrors.
slots:
mirror_topic_names: requestBody.mirror_topic_names
link_name: path.link_name
- text: Reverse and start remote mirroring for topics matching {mirror_topic_name_pattern} on link {link_name} in {cluster_id}.
slots:
mirror_topic_name_pattern: requestBody.mirror_topic_name_pattern
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-pause-mirror'].post
update:
x-apievangelist-phrasing:
intent: Reverse mirror direction and pause remote mirror
effect: write
questions:
- Can I reverse a mirror topic's direction but leave the remote mirror paused?
- What reverses local mirror topics while keeping the remote side paused?
instructions:
- text: Reverse local mirror topics {mirror_topic_names} on link {link_name} and pause the remote mirrors.
slots:
mirror_topic_names: requestBody.mirror_topic_names
link_name: path.link_name
- text: Reverse topics matching {mirror_topic_name_pattern} on link {link_name} in {cluster_id}, leaving the remote side paused.
slots:
mirror_topic_name_pattern: requestBody.mirror_topic_name_pattern
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'
- target: $.paths['/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:truncate-and-restore'].post
update:
x-apievangelist-phrasing:
intent: Truncate local topics and restore mirroring
effect: destructive
questions:
- How do I truncate a local topic back to the remote mirror's end offsets and resume mirroring from it?
- Can I see partition-level truncation data when restoring a mirror topic?
instructions:
- text: Truncate and restore mirroring for topics {mirror_topic_names} on link {link_name}.
slots:
mirror_topic_names: requestBody.mirror_topic_names
link_name: path.link_name
- text: Truncate topics matching {mirror_topic_name_pattern} to the remote end offsets on link {link_name} in {cluster_id} and restore mirroring.
slots:
mirror_topic_name_pattern: requestBody.mirror_topic_name_pattern
link_name: path.link_name
cluster_id: path.cluster_id
method: generated
generated: '2026-09-26'