Skip to content

Conversation

@vbotbuildovich
Copy link
Contributor

@vbotbuildovich vbotbuildovich commented Nov 26, 2025

This PR updates the OpenAPI spec file for the Cloud API.
Triggered by commit: 22073ad413a23cb78303c0c56ab40579aeb8f385

@coderabbitai
Copy link

coderabbitai bot commented Nov 26, 2025

📝 Walkthrough

Walkthrough

This pull request introduces substantial API schema expansions across control-plane and data-plane services. The control-plane additions include ACL filtering schemas (ACLAccessFilter, ACLFilter, ACLOperation, ACLPattern, ACLPermissionType, ACLResource, ACLResourceFilter), authentication configuration with SCRAM support, and comprehensive ShadowLink resources with configurations, status tracking, and lifecycle operations (create, get, list, update, delete). Additional changes include topic metadata synchronization options, TLS configuration structures (TLSFileSettings, TLSPEMSettings, TLSSettings), and offset control types. Two new Azure regions (germanywestcentral, swedencentral) with full availability-zone mappings are added to the regions reference. Data-plane changes consist of minor capitalization and textual corrections to operation descriptions without functional modifications.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant CP as Control Plane API
    participant Datastore
    
    rect rgb(200, 220, 240)
    Note over Client,Datastore: ShadowLink Lifecycle Operations
    end
    
    Client->>CP: CreateShadowLink(config, metadata sync options)
    activate CP
    CP->>Datastore: Store ShadowLink + Configurations
    Datastore-->>CP: Acknowledgment
    CP-->>Client: CreateShadowLinkResponse (ShadowLink, status)
    deactivate CP
    
    Client->>CP: GetShadowLink(id)
    activate CP
    CP->>Datastore: Retrieve ShadowLink state
    Datastore-->>CP: ShadowLink + ShadowLinkState
    CP-->>Client: GetShadowLinkResponse
    deactivate CP
    
    rect rgb(220, 240, 200)
    Note over Client,CP: Topic Metadata Sync
    end
    
    CP->>Datastore: Monitor ShadowTopic status
    activate CP
    Datastore-->>CP: ShadowTopicStatus updates
    CP-->>Client: ListShadowTopicsResponse (topics, statuses)
    deactivate CP
    
    Client->>CP: UpdateShadowLink(id, new config)
    activate CP
    CP->>Datastore: Update ShadowLinkConfigurations
    CP-->>Client: UpdateShadowLinkResponse (updated state)
    deactivate CP
    
    Client->>CP: DeleteShadowLink(id)
    activate CP
    CP->>Datastore: Remove ShadowLink
    CP-->>Client: DeleteShadowLinkResponse
    deactivate CP
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45–60 minutes

  • Areas requiring extra attention:
    • Consistency of new ACL schema definitions across filtering operations (7 new ACL-related entities with interdependencies)
    • ShadowLink lifecycle completeness: verify all CRUD operations properly reference ShadowLinkConfigurations, ShadowLinkStatus, and ShadowLinkState; check v2 namespace variants align with base definitions
    • TLS configuration hierarchy: ensure TLSFileSettings, TLSPEMSettings, and common.v1.TLSSettings are properly composed and referenced across ShadowLinkClientOptions
    • TopicMetadataSyncOptions and ConsumerOffsetSyncOptions flag interactions: verify offset control (EarliestOffset, LatestOffset, start_at_timestamp) semantics are mutually exclusive where required
    • Response type consistency: GetShadowLinkResponse, ListShadowLinksResponse, and shadow-topic counterparts should follow uniform patterns for status and error cases
    • Azure regions addition: verify germanywestcentral and swedencentral entries match existing tier/zone structure for throughput-tier compatibility

Possibly related PRs

Suggested reviewers

  • JakeSCahill
  • kbatuigas

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'auto-docs: Update Cloud API spec' accurately summarizes the main change—updating the OpenAPI specification files for the Cloud API across multiple components.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description clearly identifies this as an OpenAPI spec update for the Cloud API, triggered by a specific commit, which aligns with the substantial schema and documentation changes in the changeset.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-branch-api

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

ℹ️ API content change detected:

No structural change, nothing to display.

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

ℹ️ API content change detected:

No structural change, nothing to display.

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

ℹ️ API content change detected:

No structural change, nothing to display.

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

🤖 API structural change detected:

Added (9)

  • DELETE /v1/redpanda-connect/mcp-servers/{id}
  • GET /v1/redpanda-connect/mcp-servers
  • GET /v1/redpanda-connect/mcp-servers/{id}
  • GET /v1/redpanda-connect/mcp-servers:getConfigSchema
  • POST /v1/redpanda-connect/mcp-servers
  • POST /v1/redpanda-connect/mcp-servers/{id}:start
  • POST /v1/redpanda-connect/mcp-servers/{id}:stop
  • POST /v1/redpanda-connect/mcp-servers:lint-config
  • PUT /v1/redpanda-connect/mcp-servers/{id}

Preview documentation

Powered by Bump.sh

@github-actions
Copy link

github-actions bot commented Nov 26, 2025

🤖 API structural change detected:

Added (7)

  • DELETE /v1/roles/{id}
  • GET /v1/permissions
  • GET /v1/roles
  • GET /v1/roles/{id}
  • GET /v1/serverless/clusters/{id}/prometheus/credentials
  • PATCH /v1/roles/{id}
  • POST /v1/roles

Modified (15)

  • DELETE /v1/clusters/{id}
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • DELETE /v1/network/{network_id}/network-peerings/{id}
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • DELETE /v1/networks/{id}
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • DELETE /v1/serverless/clusters/{id}
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • GET /v1/clusters
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: clusters
          • Property modified: aws_private_link
  • GET /v1/clusters/{id}
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: cluster
          • Property modified: aws_private_link
  • GET /v1/operations
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: operations
          • Property modified: response
  • GET /v1/operations/{id}
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • GET /v1/serverless/clusters
    • Response modified: 200
      • Content type modified: application/json
        • Property modified: serverless_clusters
          • Property added: prometheus
  • GET /v1/serverless/clusters/{id}
    • Response modified: 200
      • Content type modified: application/json
        • Property added: prometheus
  • PATCH /v1/clusters/{cluster.id}
    • Content type modified: application/json
      • Property modified: aws_private_link
        • Property added: supported_regions
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: aws_private_link
          • Property added: supported_regions
  • POST /v1/clusters
    • Content type modified: application/json
      • Property modified: cluster
        • Property modified: aws_private_link
          • Property added: supported_regions
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • POST /v1/network/{network_peering.network_id}/network-peerings
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • POST /v1/networks
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response
  • POST /v1/serverless/clusters
    • Response modified: 202
      • Content type modified: application/json
        • Property modified: operation
          • Property modified: response

Preview documentation

Powered by Bump.sh

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (12)
cloud-dataplane/cloud-dataplane.yaml (4)

384-386: Capitalize “Connect” for consistency with product name

Use “Connect cluster” (Kafka Connect) to match terminology used elsewhere in this spec.

-          description: Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.
+          description: Unique name of Connect cluster. For Redpanda Cloud, the value is `redpanda`.

3983-3989: Parameter description: capitalize “Connect”

Align with other endpoints (“Unique name of target Connect cluster.”).

-        - description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.
+        - description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.

4102-4108: Parameter description: capitalize “Connect”

Keep capitalization consistent across Secrets endpoints.

-        - description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.
+        - description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.

6284-6286: Use sentence case in summary for consistency

Most operation summaries use sentence case (“Create connector”, “Delete transform”). Recommend “Deploy transform”.

-      summary: Deploy Transform
+      summary: Deploy transform
cloud-controlplane/cloud-controlplane.yaml (8)

31-45: Clean up titles (remove stray leading “/”).

Several enum schema titles include a leading slash; drop it for consistency.

-      title: / The ACL operation to match
+      title: The ACL operation to match
...
-      title: / The ACL pattern type
+      title: The ACL pattern type
...
-      title: / ACL permission types
+      title: ACL permission types
...
-      title: / The ACL resource types
+      title: The ACL resource types

Also applies to: 46-59, 60-66, 67-86


244-251: Align doc with structure or model a real oneOf.

Title says “made as a oneof for expansion,” but the schema isn’t using oneOf. Either remove that note or add a proper oneOf wrapper around alternative auth configs.

-      title: |-
-        Authentication config.  Currently only supporting SASL/SCRAM,
-        however made as a oneof for expansion
+      title: Authentication config (currently SASL/SCRAM). Designed for future expansion.

Optionally:

AuthenticationConfiguration:
  oneOf:
    - type: object
      properties:
        scram_configuration:
          $ref: '#/components/schemas/ScramConfig'

963-986: Interval type vs “0” default is inconsistent. Prefer duration format.

Property interval is a string but text says “If 0 provided...”. Use a duration format (example PT30S) and update the note.

-        interval:
-          title: |-
-            Sync interval
-            If 0 provided, defaults to 30 seconds
-          type: string
+        interval:
+          title: Sync interval (ISO‑8601 duration). If unset, defaults to PT30S.
+          type: string
+          format: duration
+          example: PT30S

Apply the same treatment to SecuritySettingsSyncOptions.interval and TopicMetadataSyncOptions.interval for consistency.


2941-2964: Unify all sync “interval” fields to the same duration format.

Mirror the duration change across SecuritySettingsSyncOptions.interval and TopicMetadataSyncOptions.interval to avoid divergent behaviors.

-        interval:
-          title: |-
-            Sync interval
-            If 0 provided, defaults to 30 seconds
-          type: string
+        interval:
+          title: Sync interval (ISO‑8601). If unset, defaults to PT30S.
+          type: string
+          format: duration
+          example: PT30S

Also applies to: 3463-3545


3402-3435: Enforce key/cert pairing in TLS settings at schema level.

Descriptions say “if one is provided, both must be,” but schema doesn’t enforce it. Add oneOf to require both or neither.

     TLSFileSettings:
       properties:
         ca_path:
           title: Path to the CA
           type: string
         cert_path:
           title: Path to the cert
           type: string
         key_path:
           title: |-
             Key and Cert are optional but if one is provided, then both must be
             Path to the key
           type: string
       title: TLS file settings
-      type: object
+      type: object
+      oneOf:
+        - not: { anyOf: [ { required: [cert_path] }, { required: [key_path] } ] }
+        - required: [cert_path, key_path]
     TLSPEMSettings:
       properties:
         ca:
           title: The CA
           type: string
         cert:
           title: The cert
           type: string
         key:
           title: |-
             Key and Cert are optional but if one is provided, then both must be
             The key
           type: string
         key_fingerprint:
           readOnly: true
           title: The SHA-256 of the key, in base64 format
           type: string
       title: Used when providing the TLS information in PEM format
-      type: object
+      type: object
+      oneOf:
+        - not: { anyOf: [ { required: [cert] }, { required: [key] } ] }
+        - required: [cert, key]

3463-3545: Allow exactly one start_at_ to be set.*

Add oneOf to ensure only one of start_at_earliest, start_at_latest, start_at_timestamp is provided.

     TopicMetadataSyncOptions:
       properties:
         ...
       title: Options for syncing topic metadata
-      type: object
+      type: object
+      oneOf:
+        - required: [start_at_earliest]
+        - required: [start_at_latest]
+        - required: [start_at_timestamp]

Note: oneOf alone won’t forbid multiple properties; if strict exclusivity is required, add “not” guards or split create/update shapes.


4109-4213: Typos and minor validation for ShadowLink client options.

  • Fix “setn” → “sent”.
  • Ensure at least one bootstrap server and no duplicates.
         client_id:
           readOnly: true
           title: |-
-            The Client ID for the Kafka RPC requests setn by this cluster to the
+            The Client ID for the Kafka RPC requests sent by this cluster to the
             source cluster
           type: string
@@
         bootstrap_servers:
           items:
             type: string
           title: The bootstrap servers to use
-          type: array
+          type: array
+          minItems: 1
+          uniqueItems: true

6878-6879: Add a description for the new ShadowLinkService tag.

Keep tags consistent with others.

-  - name: ShadowLinkService
+  - name: ShadowLinkService
+    description: Manage Shadow Link resources, configurations, and lifecycle.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between ef98dcb and 5f5a005.

📒 Files selected for processing (3)
  • cloud-controlplane/cloud-controlplane.yaml (24 hunks)
  • cloud-controlplane/x-topics/cloud-regions.md (2 hunks)
  • cloud-dataplane/cloud-dataplane.yaml (4 hunks)
🔇 Additional comments (2)
cloud-controlplane/x-topics/cloud-regions.md (2)

833-845: Azure: BYOC-only tiers — confirm intent

Rows look correct (zones, tier list, placement). Please confirm these two regions are intentionally BYOC-only (no Dedicated), unlike centralus/eastus which include Dedicated.


872-884: LGTM for swedencentral entry

Structure, zones, and tier list are consistent with adjacent rows.

Comment on lines +1733 to 1784
properties:
shadow_topic:
$ref: '#/components/schemas/ShadowTopic'
title: Response of to getting a shadow topic
type: object
GetUserInviteResponse:
Copy link

@coderabbitai coderabbitai bot Nov 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix minor grammar in response title.

“Response of to getting a shadow topic” → “Response to getting a shadow topic”.

-      title: Response of to getting a shadow topic
+      title: Response to getting a shadow topic
🤖 Prompt for AI Agents
In cloud-controlplane/cloud-controlplane.yaml around lines 1733 to 1738, the
response schema title contains a grammar mistake "Response of to getting a
shadow topic"; change it to "Response to getting a shadow topic" by editing the
title field text accordingly so it reads correctly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Response titles don't display in the reference documentation, we should just fix the proto source so that these are displayed as descriptions instead.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kbatuigas, thank you for the clarification! I understand now that since this OpenAPI spec is auto-generated from proto sources, changes should be made upstream in the proto files rather than directly in the generated YAML. I'll keep this in mind for future reviews of this repository.

🐰


✏️ Learnings added
Learnt from: kbatuigas
Repo: redpanda-data/api-docs PR: 40
File: cloud-controlplane/cloud-controlplane.yaml:1733-1738
Timestamp: 2025-11-26T19:18:28.554Z
Learning: For the redpanda-data/api-docs repository, the OpenAPI specification files in cloud-controlplane/ and cloud-dataplane/ are auto-generated from proto source files. Changes to these specs should be made in the upstream proto sources rather than directly editing the generated OpenAPI YAML files.

Learnt from: kbatuigas
Repo: redpanda-data/api-docs PR: 40
File: cloud-controlplane/cloud-controlplane.yaml:1733-1738
Timestamp: 2025-11-26T19:18:28.554Z
Learning: In the redpanda-data/api-docs repository's reference documentation, response schema titles do not display, but descriptions do. When reviewing proto sources that generate OpenAPI specs, suggest using description fields instead of title fields for content that should be visible in the documentation.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment on lines +2883 to +3021
properties:
password:
title: Password
type: string
password_set:
readOnly: true
title: Indicates that the password has been set
type: boolean
password_set_at:
format: date-time
readOnly: true
title: |-
Timestamp of when the password was last set - only valid if password_set
is true
type: string
scram_mechanism:
$ref: '#/components/schemas/ScramMechanism'
username:
title: SCRAM username
type: string
title: SCRAM settings
type: object
ScramMechanism:
description: |-
- SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256
- SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512
enum:
- SCRAM_MECHANISM_SCRAM_SHA_256
- SCRAM_MECHANISM_SCRAM_SHA_512
title: Valid SCRAM mechanisms
type: string
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Prevent secret leakage: make ScramConfig.password writeOnly and typed as password.

Without writeOnly, password can be serialized in responses via v2.ShadowLink → configurations → client_options → authentication_configuration. Mark it writeOnly and keep password_set for read paths.

       properties:
         password:
-          title: Password
-          type: string
+          title: Password
+          type: string
+          format: password
+          writeOnly: true
         password_set:
           readOnly: true
           title: Indicates that the password has been set
           type: boolean

Optional hardening:

-      type: object
+      type: object
+      additionalProperties: false

And consider required: ["username","scram_mechanism"] (and “password” on create-only shapes).

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
properties:
password:
title: Password
type: string
password_set:
readOnly: true
title: Indicates that the password has been set
type: boolean
password_set_at:
format: date-time
readOnly: true
title: |-
Timestamp of when the password was last set - only valid if password_set
is true
type: string
scram_mechanism:
$ref: '#/components/schemas/ScramMechanism'
username:
title: SCRAM username
type: string
title: SCRAM settings
type: object
ScramMechanism:
description: |-
- SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256
- SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512
enum:
- SCRAM_MECHANISM_SCRAM_SHA_256
- SCRAM_MECHANISM_SCRAM_SHA_512
title: Valid SCRAM mechanisms
type: string
properties:
password:
title: Password
type: string
format: password
writeOnly: true
password_set:
readOnly: true
title: Indicates that the password has been set
type: boolean
password_set_at:
format: date-time
readOnly: true
title: |-
Timestamp of when the password was last set - only valid if password_set
is true
type: string
scram_mechanism:
$ref: '#/components/schemas/ScramMechanism'
username:
title: SCRAM username
type: string
title: SCRAM settings
type: object
ScramMechanism:
description: |-
- SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256
- SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512
enum:
- SCRAM_MECHANISM_SCRAM_SHA_256
- SCRAM_MECHANISM_SCRAM_SHA_512
title: Valid SCRAM mechanisms
type: string
🤖 Prompt for AI Agents
In cloud-controlplane/cloud-controlplane.yaml around lines 2883 to 2913, the
SCRAM password field is currently a plain string and can be leaked in serialized
responses; change the password property's schema to include writeOnly: true and
set type: string with format: password (or type: password if your schema
convention uses that) so it is accepted on input but never emitted in responses;
retain password_set and password_set_at as readOnly; optionally, add required:
["username","scram_mechanism"] to the SCRAM settings schema and ensure
creation-only shapes mark "password" as required where appropriate.

/v1/network/{network_id}/network-peerings:
get:
description: List Redpanda network peerings.
description: List Redpanda networks peerings.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Grammar: “networks peerings” → “network peerings”.

-      description: List Redpanda networks peerings.
+      description: List Redpanda network peerings.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
description: List Redpanda networks peerings.
description: List Redpanda network peerings.
🤖 Prompt for AI Agents
In cloud-controlplane/cloud-controlplane.yaml around line 4696, the description
text uses incorrect grammar "List Redpanda networks peerings."; update it to
"List Redpanda network peerings." (or alternatively "List Redpanda network
peering(s)." if singular/plural ambiguity exists) to correct the noun phrase and
ensure consistent wording.

/v1/network/{network_peering.network_id}/network-peerings:
post:
description: Create a Redpanda network peering.
description: Create a Redpanda network pering.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Typo: “pering” → “peering”.

-      description: Create a Redpanda network pering.
+      description: Create a Redpanda network peering.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
description: Create a Redpanda network pering.
description: Create a Redpanda network peering.
🤖 Prompt for AI Agents
In cloud-controlplane/cloud-controlplane.yaml around line 4813, the description
contains a typo "pering" — update the string to "peering" so it reads "Create a
Redpanda network peering." and ensure spelling matches project style.

/v1/network/{network_id}/network-peerings:
get:
description: List Redpanda network peerings.
description: List Redpanda networks peerings.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: List Redpanda networks peerings.
description: List Redpanda network peerings.

/v1/network/{network_peering.network_id}/network-peerings:
post:
description: Create a Redpanda network peering.
description: Create a Redpanda network pering.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Create a Redpanda network pering.
description: Create a Redpanda network peering.

name: Serverless Private Links
- description: See available Redpanda Serverless regions.
name: Serverless Regions
- name: ShadowLinkService
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: ShadowLinkService

This can be added back once this is ready in Cloud

$ref: '#/components/schemas/ConnectCluster.Info'
name:
description: Unique name of Connect cluster. For Redpanda Cloud, the value is `redpanda`.
description: Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Unique name of connect cluster. For Redpanda Cloud, the value is `redpanda`.
description: Unique name of Connect cluster. For Redpanda Cloud, the value is `redpanda`.

operationId: SecretService_ListKafkaConnectSecrets
parameters:
- description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.
- description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.
- description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.

operationId: SecretService_DeleteKafkaConnectSecret
parameters:
- description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.
- description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: Unique name of target connect cluster. For Redpanda Cloud, use `redpanda`.
- description: Unique name of target Connect cluster. For Redpanda Cloud, use `redpanda`.

$ref: '#/components/schemas/TransformMetadata'
description: Created
summary: Deploy transform
summary: Deploy Transform
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Deploy Transform
summary: Deploy transform

Comment on lines +1733 to 1784
properties:
shadow_topic:
$ref: '#/components/schemas/ShadowTopic'
title: Response of to getting a shadow topic
type: object
GetUserInviteResponse:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Response titles don't display in the reference documentation, we should just fix the proto source so that these are displayed as descriptions instead.

@vbotbuildovich vbotbuildovich force-pushed the update-branch-api branch 2 times, most recently from aa8cdec to b27a30a Compare December 2, 2025 07:10
@vbotbuildovich vbotbuildovich force-pushed the update-branch-api branch 2 times, most recently from dc80b2c to b5c588c Compare December 5, 2025 21:38
ListMCPServersRequest.Filter:
properties:
display_name_contains:
description: Any MCP Server that partially match this name will be returned.
Copy link
Contributor

@JakeSCahill JakeSCahill Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Any MCP Server that partially match this name will be returned.
description: Filter MCP servers by display name. Any MCP servers that partially match this name are returned.

description: MCP server description.
type: string
display_name:
description: User-friendly MCP servers name.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: User-friendly MCP servers name.
description: User-friendly MCP server name.

schema:
$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Retrieve the schema for Redpanda Connect MCP Servers configurations.
Copy link
Contributor

@JakeSCahill JakeSCahill Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Retrieve the schema for Redpanda Connect MCP Servers configurations.
summary: Retrieve the schema for MCP server configurations

get:
description: 'List Redpanda Connect pipelines. Optional: filter based on pipeline name.'
operationId: PipelineService_ListPipelines
description: 'List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: 'List Redpanda Connect MCP Servers. Optional: filter based on MCP server name.'
description: 'List MCP servers and optionally filter by display name, tags, or secret ID.'

operationId: MCPServerService_ListMCPServers
parameters:
- description: Any pipelines that partially match this name will be returned.
- description: Any MCP Server that partially match this name will be returned.
Copy link
Contributor

@JakeSCahill JakeSCahill Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: Any MCP Server that partially match this name will be returned.
- description: Filter MCP servers by name. Any servers that partially match this name are returned.

name: filter.display_name_contains
schema:
type: string
- description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18
- description: Filter MCP servers by tags. MCP servers that match all the provided tags are returned. The query format is "filter.tags[key]=value".

schema:
type: string
- in: query
- description: Match MCP servers that use this secret ID.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: Match MCP servers that use this secret ID.
- description: Filter MCP servers by secret ID.

- Redpanda Connect MCP servers
/v1/redpanda-connect/mcp-servers:lint-config:
post:
description: Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Validates a supplied Redpanda Connect MCP tools YAML and returns a list of linting hints. If no problems are found, the list is empty.
description: Validates a given MCP tool configuration and returns a list of linting hints. The request should contain a map of tool names to tool configurations, where each tool contains YAML in its `config_yaml` field. If no problems are found, the list is empty.

- service_account
type: object
MCPServer.ServiceAccount:
properties:
Copy link
Contributor

@JakeSCahill JakeSCahill Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
properties:
description: Service account credentials used to authenticate with Redpanda Cloud.
properties:

MCPServer.ServiceAccount:
properties:
client_id:
type: string
Copy link
Contributor

@JakeSCahill JakeSCahill Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
type: string
description: The service account client ID for authenticating with Redpanda Cloud,
type: string

tools:
additionalProperties:
$ref: '#/components/schemas/Tool'
description: The Redpanda Connect MCP server configuration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: The Redpanda Connect MCP server configuration.
description: The MCP server configuration.

$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: List Redpanda Connect pipelines
summary: List Redpanda Connect MCP Servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: List Redpanda Connect MCP Servers
summary: List MCP servers

post:
description: Create a new Redpanda Connect pipeline.
operationId: PipelineService_CreatePipeline
description: Create a new Redpanda Connect MCP Server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Create a new Redpanda Connect MCP Server.
description: Create an MCP server.

$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Create Redpanda Connect pipeline
summary: Create Redpanda Connect MCP Server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Create Redpanda Connect MCP Server
summary: Create an MCP server

get:
description: Get Redpanda Connect pipelines by secrets.
operationId: PipelineService_GetPipelinesBySecrets
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

- Redpanda Connect MCP servers
/v1/redpanda-connect/mcp-servers/{id}:
delete:
description: Delete a Redpanda Connect MCP server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Delete a Redpanda Connect MCP server.
description: Delete an MCP server.

description: Delete a Redpanda Connect MCP server.
operationId: MCPServerService_DeleteMCPServer
parameters:
- description: MCP Server ID.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: MCP Server ID.
- description: MCP server ID.

$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Get Redpanda Connect pipelines by secrets
summary: Delete a Redpanda Connect MCP server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Delete a Redpanda Connect MCP server
summary: Delete an MCP server

tags:
- Redpanda Connect Pipelines
/v1/redpanda-connect/pipelines-for-secret:
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

get:
description: Get Redpanda Connect pipelines for a given secret.
operationId: PipelineService_GetPipelinesForSecret
description: Get a specific Redpanda Connect MCP server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Get a specific Redpanda Connect MCP server.
description: Get a specific MCP server.

$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Get Redpanda Connect pipelines for secret
summary: Get Redpanda Connect MCP server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Get Redpanda Connect MCP server
summary: Get an MCP server

delete:
description: Delete a Redpanda Connect pipeline.
operationId: PipelineService_DeletePipeline
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

operationId: PipelineService_DeletePipeline
- Redpanda Connect MCP servers
put:
description: Update the configuration of a Redpanda Connect MCP server.
Copy link
Contributor

@JakeSCahill JakeSCahill Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Update the configuration of a Redpanda Connect MCP server.
description: Edit an MCP server.

schema:
$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Update a Redpanda Connect MCP Server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Update a Redpanda Connect MCP Server
summary: Edit an MCP Server

description: An unexpected error response.
summary: Update a Redpanda Connect MCP Server
tags:
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

- Redpanda Connect MCP servers
/v1/redpanda-connect/mcp-servers/{id}:start:
post:
description: Start a stopped Redpanda Connect MCP server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Start a stopped Redpanda Connect MCP server.
description: Start an existing MCP server.

description: Start a stopped Redpanda Connect MCP server.
operationId: MCPServerService_StartMCPServer
parameters:
- description: MCP Server ID.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: MCP Server ID.
- description: MCP server ID.

description: An unexpected error response.
summary: Start a Redpanda Connect MCP server
tags:
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

schema:
$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Start a Redpanda Connect MCP server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Start a Redpanda Connect MCP server
summary: Start an existing MCP server

- Redpanda Connect MCP servers
/v1/redpanda-connect/mcp-servers/{id}:stop:
post:
description: Stop a running Redpanda Connect MCP server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Stop a running Redpanda Connect MCP server.
description: Stop an MCP server.

schema:
$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Stops a Redpanda Connect MCP server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Stops a Redpanda Connect MCP server
summary: Stop an MCP server

description: An unexpected error response.
summary: Stops a Redpanda Connect MCP server
tags:
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

- Redpanda Connect MCP servers
/v1/redpanda-connect/mcp-servers:getConfigSchema:
get:
description: The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: The configuration schema includes available components and processors in this Redpanda Connect MCP Server instance.
description: The configuration schema includes all available Redpanda Connect components and processors in this MCP server instance.

description: An unexpected error response.
summary: Retrieve the schema for Redpanda Connect MCP Servers configurations.
tags:
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

schema:
$ref: '#/components/schemas/rpc.Status'
description: An unexpected error response.
summary: Lint a Redpanda Connect MCP tools configuration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
summary: Lint a Redpanda Connect MCP tools configuration
summary: Lint the configuration of an MCP tool

description: An unexpected error response.
summary: Lint a Redpanda Connect MCP tools configuration
tags:
- Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Redpanda Connect MCP servers
- Remote MCP

name: Monitoring
- description: Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.
name: Redpanda Connect Pipelines
- description: Create and manage Redpanda Connect MCP servers and their configurations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- description: Create and manage Redpanda Connect MCP servers and their configurations.
- description: Create and manage MCP servers and their configurations.

- description: Create and manage [Redpanda Connect](https://docs.redpanda.com/redpanda-cloud/develop/connect/about) pipelines and their configurations.
name: Redpanda Connect Pipelines
- description: Create and manage Redpanda Connect MCP servers and their configurations.
name: Redpanda Connect MCP servers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name: Redpanda Connect MCP servers
name: Remote MCP

description: Any MCP Server that partially match this name will be returned.
type: string
secret_id:
description: Match MCP servers that use this secret ID.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Match MCP servers that use this secret ID.
description: Filter MCP servers by secret ID.

tags[string]:
additionalProperties:
type: string
description: MCP servers that match all the provided tags will be returned.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: MCP servers that match all the provided tags will be returned.
description: Filter MCP servers by tags. MCP servers that match all the provided tags are returned. The query format is "filter.tags[key]=value".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants