Confluent · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Confluent Cloud Cluster Linking (v3) API

21 actions 21 updates phrasing extends openapi/confluent-cluster-linking-v3-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Confluent's API. It is a proposal applied on top of the contract, not a document Confluent publishes.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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-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 exist on my destination Kafka cluster?
      - Can I see every cluster link replicating into this cluster at once?
      instructions:
      - text: List all cluster links on cluster {cluster_id}.
        slots:
          cluster_id: path.cluster_id
      - text: Show me the cluster links defined on destination cluster {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 between Kafka clusters
      effect: write
      questions:
      - How do I set up a cluster link to replicate data from a source Kafka cluster in Confluent?
      - Can I dry-run a cluster link creation to validate it before it is actually created?
      - What security settings does a new cluster link need for the source cluster?
      instructions:
      - text: Create a cluster link named {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: Validate, without creating it, a cluster link {link_name} on cluster {cluster_id}.
        slots:
          link_name: query.link_name
          cluster_id: path.cluster_id
      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 is the current state of a particular cluster link?
      - Can I see the task status 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} on cluster {cluster_id} including its tasks.
        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 {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'].get
  update:
    x-apievangelist-phrasing:
      intent: List all configs of a cluster link
      effect: read
      questions:
      - What configuration settings are applied to my cluster link?
      - Can I dump every config value for one cluster link?
      instructions:
      - text: List all configs of cluster link {link_name} on cluster {cluster_id}.
        slots:
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Show every setting on 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 config value on a cluster link
      effect: read
      questions:
      - What value is a single named config set to on my cluster link?
      - Is a specific cluster link setting still at its default?
      instructions:
      - text: Get config {config_name} on cluster link {link_name} in cluster {cluster_id}.
        slots:
          config_name: path.config_name
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Tell me the current value of {config_name} for link {link_name} on cluster {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/{config_name}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change one config on a cluster link
      effect: write
      questions:
      - How do I change a single setting on an existing cluster link?
      - Can I alter one cluster link config without touching the others?
      instructions:
      - text: Set config {config_name} to {value} on cluster 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
      - text: Update the {config_name} setting of link {link_name} on cluster {cluster_id} to {value}.
        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 its default
      effect: destructive
      questions:
      - How do I revert a cluster link setting back to its default value?
      - Can I undo an override I made on a cluster link config?
      instructions:
      - text: Reset config {config_name} on cluster link {link_name} in cluster {cluster_id} to default.
        slots:
          config_name: path.config_name
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Remove my override of {config_name} on link {link_name} in cluster {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: Alter several cluster link configs at once
      effect: write
      questions:
      - Can I change multiple cluster link settings in a single request?
      - Is there a way to validate a batch of cluster link config changes before applying them?
      instructions:
      - text: Apply these config changes {data} to cluster link {link_name} on cluster {cluster_id} in one batch.
        slots:
          data: requestBody.data
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Validate only, without applying, the batch config changes {data} for link {link_name} on cluster {cluster_id}.
        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 a link's mirror topics by mirror status, like paused ones?
      instructions:
      - text: List mirror topics under link {link_name} on cluster {cluster_id}.
        slots:
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Show mirror topics on link {link_name} in cluster {cluster_id} with status {mirror_status}.
        slots:
          link_name: path.link_name
          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'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a mirror topic on 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 link {link_name} into cluster {cluster_id}.
        slots:
          source_topic_name: requestBody.source_topic_name
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Create mirror topic {mirror_topic_name} from {source_topic_name} on link {link_name} in cluster {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 across a cluster's links
      effect: read
      questions:
      - Which mirror topics exist in my cluster across every cluster link?
      - Can I find all stopped mirror topics in a cluster regardless of link?
      instructions:
      - text: List every mirror topic in cluster {cluster_id} across all links.
        slots:
          cluster_id: path.cluster_id
      - text: Show all mirror topics in cluster {cluster_id} whose status is {mirror_status}, on any 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 single mirror topic
      effect: read
      questions:
      - What is the mirroring status and lag of one particular mirror topic?
      - Can I see state transition errors for a mirror topic?
      instructions:
      - text: Describe mirror topic {mirror_topic_name} on link {link_name} in cluster {cluster_id}.
        slots:
          mirror_topic_name: path.mirror_topic_name
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Show state transition errors for mirror topic {mirror_topic_name} on link {link_name}, cluster {cluster_id}.
        slots:
          mirror_topic_name: path.mirror_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/{link_name}/mirrors:promote'].post
  update:
    x-apievangelist-phrasing:
      intent: Promote mirror topics to writable topics
      effect: destructive
      questions:
      - How do I promote mirror topics so producers can write to them on the destination?
      - Can I promote mirror topics by name pattern instead of listing each one?
      instructions:
      - text: Promote mirror topics {mirror_topic_names} on link {link_name} in cluster {cluster_id}.
        slots:
          mirror_topic_names: requestBody.mirror_topic_names
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Promote every mirror topic matching {mirror_topic_name_pattern} on link {link_name}, cluster {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 to the destination
      effect: destructive
      questions:
      - What do I call to fail over mirror topics when the source cluster is down?
      - Can I test a mirror topic failover with validate-only first?
      instructions:
      - text: Fail over mirror topics {mirror_topic_names} on link {link_name} in cluster {cluster_id}.
        slots:
          mirror_topic_names: requestBody.mirror_topic_names
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Run a failover for mirror topics matching {mirror_topic_name_pattern} on link {link_name}, cluster {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 mirroring for mirror topics
      effect: write
      questions:
      - How do I temporarily stop replication on some mirror topics?
      - Can I pause a group of mirror topics that match a pattern?
      instructions:
      - text: Pause mirror topics {mirror_topic_names} on link {link_name} in cluster {cluster_id}.
        slots:
          mirror_topic_names: requestBody.mirror_topic_names
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Pause mirroring for topics matching {mirror_topic_name_pattern} on link {link_name}, cluster {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 mirroring for paused mirror topics
      effect: write
      questions:
      - How do I restart replication on mirror topics I paused earlier?
      - Can I resume paused mirror topics by name pattern?
      instructions:
      - text: Resume mirror topics {mirror_topic_names} on link {link_name} in cluster {cluster_id}.
        slots:
          mirror_topic_names: requestBody.mirror_topic_names
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Resume the paused mirror topics matching {mirror_topic_name_pattern} on link {link_name}, cluster {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 the remote mirror
      effect: write
      questions:
      - Can I reverse replication so the remote topic mirrors from my local one and keeps running?
      - What do I use to fail back by reversing mirror topics and starting the remote side?
      instructions:
      - text: Reverse local mirror topics {mirror_topic_names} on link {link_name} in cluster {cluster_id} and start the remote mirror.
        slots:
          mirror_topic_names: requestBody.mirror_topic_names
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Reverse-and-start mirroring for topics matching {mirror_topic_name_pattern} on link {link_name}, cluster {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 the remote mirror
      effect: write
      questions:
      - Can I reverse mirror topics but leave the remote mirror paused?
      - Which call reverses replication direction while keeping the remote side paused?
      instructions:
      - text: Reverse local mirror topics {mirror_topic_names} on link {link_name} in cluster {cluster_id} and pause the remote mirror.
        slots:
          mirror_topic_names: requestBody.mirror_topic_names
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Reverse-and-pause mirroring for topics matching {mirror_topic_name_pattern} on link {link_name}, cluster {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:truncate-and-restore'].post
  update:
    x-apievangelist-phrasing:
      intent: Truncate local topics and restore mirroring
      effect: destructive
      questions:
      - How do I truncate my local topic to the remote stopped mirror's end offsets and mirror again?
      - Can I see partition-level truncation details when restoring a mirror?
      instructions:
      - text: Truncate and restore mirroring for topics {mirror_topic_names} on link {link_name} in cluster {cluster_id}.
        slots:
          mirror_topic_names: requestBody.mirror_topic_names
          link_name: path.link_name
          cluster_id: path.cluster_id
      - text: Truncate topics matching {mirror_topic_name_pattern} to the remote end offsets and resume mirroring on link {link_name}, cluster {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'