Redpanda logo API
Cloud Self-Managed Connect Labs
or
Show more

Use to navigate results, ENTER to select one, ESC to close

Type in any word to easily find the endpoint, property or group of operations you are looking for.

Redpanda APIs hub
  • Cloud Control Plane API
  • Cloud Data Plane API
  • HTTP Proxy
  • Schema Registry
Back to hub page
API Explorer API changelog
Download source
  • JSON OpenAPI specification
  • YAML OpenAPI specification
Share feedback
Cloud Control Plane API logo

Topics

  • Introduction
  • Quickstart
  • Cloud API Overview
  • Authentication
  • Regions and Usage Tiers
  • Long-running Operations
  • Error and Status Codes
  • Deprecation Policy

Endpoints

  • Operations
    • List operations GET
    • Get operation GET
  • Clusters
    • List clusters GET
    • Create cluster POST
    • Update cluster PATCH
    • Get cluster GET
    • Delete cluster DELETE
  • Networks
    • List networks GET
    • Create network POST
    • Get network GET
    • Delete network DELETE
  • Network Peerings
    • List network peerings GET
    • Get network peering GET
    • Delete network peering DELETE
    • Create network peering POST
  • Regions
    • List Redpanda regions GET
    • Get region by name GET
  • Resource Groups
    • List resource groups GET
    • Create resource group POST
    • Get resource group GET
    • Delete resource group DELETE
    • Update resource group PATCH
  • Serverless Clusters
    • List Serverless clusters GET
    • Create Serverless cluster POST
    • Get Serverless cluster GET
    • Delete Serverless cluster DELETE
    • Update serverless cluster PATCH
    • Get Prometheus Credentials GET
  • Serverless Regions
    • Get Serverless region GET
    • List Serverless regions GET
  • Shadow Links
    • List shadow links GET
    • Create shadow link POST
    • Get shadow link GET
    • Delete shadow link DELETE
    • Update shadow link PATCH
  • Organization
    • List available organizations for the user GET
    • Get current organization GET
    • Update organization PATCH
  • Control Plane Permissions
    • List permissions GET
  • Control Plane Roles
    • List roles GET
    • Create role POST
    • Get role GET
    • Delete role DELETE
    • Update role PATCH
  • Control Plane Role Bindings
    • List role bindings GET
    • Create role binding POST
    • Get role binding GET
    • Delete role binding DELETE
  • Control Plane Service Accounts
    • List service accounts GET
    • Create service account POST
    • Get service account GET
    • Delete service account DELETE
    • Update service account PATCH
    • Get service account credentials GET
    • Rotate service account secret GET
  • Control Plane Users
    • List users GET
    • Get user GET
    • Delete user DELETE
  • User Invites
    • List user invites GET
    • Create user invite POST
    • Get user invite GET
    • Delete User from the organization DELETE
    • Update user invite PATCH
Powered by Bump.sh
Redpanda APIs hub
  • Cloud Control Plane API
  • Cloud Data Plane API
  • HTTP Proxy
  • Schema Registry
Back to hub page
API Explorer API changelog
Download source
  • JSON OpenAPI specification
  • YAML OpenAPI specification
Share feedback
Cloud Control Plane API logo

Get shadow link Run in API Explorer

Ask AI
  • Open in ChatGPT
  • Open in Claude

  • View as Markdown
  • Copy as Markdown
GET /v1/shadow-links/{id}
Auth0

Get a Redpanda shadow link by ID.

Path parameters

  • id string Required

    Shadow link ID.

Responses

  • 200 application/json

    OK

    Hide response attribute Show response attribute object
    • shadow_link object

      ShadowLink represents a shadow link resource. Shadow links enable data replication from one Redpanda cluster to another.

      Hide shadow_link attributes Show shadow_link attributes object
      • client_options object

        ShadowLinkClientOptions configures the Kafka client connection settings.

        Hide client_options attributes Show client_options attributes object
        • authentication_configuration object
          Hide authentication_configuration attribute Show authentication_configuration attribute object
          • scram_configuration object
            Hide scram_configuration attributes Show scram_configuration attributes object
            • password string
            • password_set boolean
            • password_set_at string(date-time)
            • scram_mechanism string
              • SCRAM_MECHANISM_SCRAM_SHA_256: SCRAM-SHA-256
                • SCRAM_MECHANISM_SCRAM_SHA_512: SCRAM-SHA-512

              Values are SCRAM_MECHANISM_SCRAM_SHA_256 or SCRAM_MECHANISM_SCRAM_SHA_512.

            • username string
        • bootstrap_servers array[string]

          Bootstrap servers for the source cluster. Required if source Redpanda ID is not provided.

        • client_id string

          Client ID for the connection.

        • connection_timeout_ms integer(int32)

          Connection timeout in milliseconds (defaults to 1000ms if 0).

        • effective_connection_timeout_ms integer(int32)
        • effective_fetch_max_bytes integer(int32)
        • effective_fetch_min_bytes integer(int32)
        • effective_fetch_partition_max_bytes integer(int32)
        • effective_fetch_wait_max_ms integer(int32)
        • effective_metadata_max_age_ms integer(int32)
        • effective_retry_backoff_ms integer(int32)
        • fetch_max_bytes integer(int32)

          Maximum bytes to fetch (defaults to 20971520 bytes / 20 MiB if 0).

        • fetch_min_bytes integer(int32)

          Minimum bytes to fetch (defaults to 5242880 bytes / 5 MiB if 0).

        • fetch_partition_max_bytes integer(int32)

          Maximum bytes per partition to fetch (defaults to 1048576 bytes / 1 MiB if 0).

        • fetch_wait_max_ms integer(int32)

          Maximum time to wait for fetch requests in milliseconds (defaults to 500ms if 0).

        • metadata_max_age_ms integer(int32)

          Metadata refresh interval in milliseconds (defaults to 10000ms if 0).

        • retry_backoff_ms integer(int32)

          Retry backoff in milliseconds (defaults to 100ms if 0).

        • source_cluster_id string

          Source cluster ID.

        • tls_settings object

          TLSSettings configures TLS encryption.

          Hide tls_settings attributes Show tls_settings attributes object
          • ca string

            The CA certificate for TLS.

          • cert string

            Cert is the certificate for TLS.

            Key and Cert are optional but if one is provided, then both must be provided.

          • do_not_set_sni_hostname boolean

            Do not set SNI hostname.

          • enabled boolean

            Enable TLS.

          • key string

            The private key for TLS.

            Key and Cert are optional but if one is provided, then both must be provided.

      • consumer_offset_sync_options object
        Hide consumer_offset_sync_options attributes Show consumer_offset_sync_options attributes object
        • effective_interval string
        • group_filters array[object]
          Hide group_filters attributes Show group_filters attributes object
          • filter_type string
            • FILTER_TYPE_INCLUDE: Include the items that match the filter
              • FILTER_TYPE_EXCLUDE: Exclude the items that match the filter

            Values are FILTER_TYPE_INCLUDE or FILTER_TYPE_EXCLUDE.

          • name string
          • pattern_type string
            • PATTERN_TYPE_LITERAL: Must match the filter exactly
              • PATTERN_TYPE_PREFIX: Will match anything that starts with filter

            Values are PATTERN_TYPE_LITERAL or PATTERN_TYPE_PREFIX.

        • interval string
        • paused boolean
      • created_at string(date-time)

        Timestamp when the shadow link was created.

      • id string

        Shadow link ID.

      • name string
      • reason string

        Reason provides additional context for the current state.

      • schema_registry_sync_options object

        Options for how the Schema Registry is synced.

        Hide schema_registry_sync_options attribute Show schema_registry_sync_options attribute object
        • shadow_schema_registry_topic object

          Shadow the entire source cluster's Schema Registry byte-for-byte. If set, the Shadow Link will attempt to add the _schemas topic to the list of Shadow Topics as long as:

          1. The _schemas topic exists on the source cluster
          2. The _schemas topic does not exist on the shadow cluster, or it is empty. If either of the above conditions are not met, then the _schemas topic will not be shadowed by this cluster. Unsetting this flag will not remove the _schemas topic from shadowing if it has already been added. Once made a shadow topic, the _schemas topic will be replicated byte-for-byte. To stop shadowing the _schemas topic, unset this field, then either fail-over the topic or delete it.
      • security_sync_options object
        Hide security_sync_options attributes Show security_sync_options attributes object
        • acl_filters array[object]
          Hide acl_filters attributes Show acl_filters attributes object
          • access_filter object
            Hide access_filter attributes Show access_filter attributes object
            • host string
            • operation string

              Values are ACL_OPERATION_ANY, ACL_OPERATION_READ, ACL_OPERATION_WRITE, ACL_OPERATION_CREATE, ACL_OPERATION_REMOVE, ACL_OPERATION_ALTER, ACL_OPERATION_DESCRIBE, ACL_OPERATION_CLUSTER_ACTION, ACL_OPERATION_DESCRIBE_CONFIGS, ACL_OPERATION_ALTER_CONFIGS, or ACL_OPERATION_IDEMPOTENT_WRITE.

            • permission_type string

              Values are ACL_PERMISSION_TYPE_ANY, ACL_PERMISSION_TYPE_ALLOW, or ACL_PERMISSION_TYPE_DENY.

            • principal string
          • resource_filter object
            Hide resource_filter attributes Show resource_filter attributes object
            • name string
            • pattern_type string
              • ACL_PATTERN_ANY: Wildcard to match any pattern
                • ACL_PATTERN_LITERAL: Match a literal string
                • ACL_PATTERN_PREFIXED: Match a prefix
                • ACL_PATTERN_MATCH: Match serves as a catch-all for all the names of a topic the principal is authorized to access

              Values are ACL_PATTERN_ANY, ACL_PATTERN_LITERAL, ACL_PATTERN_PREFIXED, or ACL_PATTERN_MATCH.

            • resource_type string
              • ACL_RESOURCE_ANY: Wildcard for selecting any ACL resource
                • ACL_RESOURCE_CLUSTER: Cluster wide resource
                • ACL_RESOURCE_GROUP: Consumer group resource
                • ACL_RESOURCE_TOPIC: Topic resource
                • ACL_RESOURCE_TXN_ID: Transaction ID resource
                • ACL_RESOURCE_SR_SUBJECT: Schema Registry subject resource
                • ACL_RESOURCE_SR_REGISTRY: Schema Registry wide resource
                • ACL_RESOURCE_SR_ANY: Wildcard to match any SR ACL resource

              Values are ACL_RESOURCE_ANY, ACL_RESOURCE_CLUSTER, ACL_RESOURCE_GROUP, ACL_RESOURCE_TOPIC, ACL_RESOURCE_TXN_ID, ACL_RESOURCE_SR_SUBJECT, ACL_RESOURCE_SR_REGISTRY, or ACL_RESOURCE_SR_ANY.

        • effective_interval string
        • interval string
        • paused boolean
      • shadow_redpanda_id string

        Shadow Redpanda cluster ID where the shadow link is created. This ID is immutable.

      • state string

        State represents the lifecycle state of a shadow link.

        Values are STATE_CREATING, STATE_CREATION_FAILED, STATE_DELETING, STATE_DELETION_FAILED, STATE_ACTIVE, or STATE_PAUSED.

      • topic_metadata_sync_options object
        Hide topic_metadata_sync_options attributes Show topic_metadata_sync_options attributes object
        • auto_create_shadow_topic_filters array[object]

          List of filters that indicate which topics should be automatically created as shadow topics on the shadow cluster. This only controls automatic creation of shadow topics and does not effect the state of the mirror topic once it is created. Literal filters for _consumer_offsets, _redpanda.audit_log and _schemas will be rejected as well as prefix filters to match topics prefixed with _redpanda or __redpanda. Wildcard * is permitted only for literal filters and will _not match any topics that start with _redpanda or __redpanda. If users wish to shadow topics that start with _redpanda or __redpanda, they should provide a literal filter for those topics.

          Hide auto_create_shadow_topic_filters attributes Show auto_create_shadow_topic_filters attributes object
          • filter_type string
            • FILTER_TYPE_INCLUDE: Include the items that match the filter
              • FILTER_TYPE_EXCLUDE: Exclude the items that match the filter

            Values are FILTER_TYPE_INCLUDE or FILTER_TYPE_EXCLUDE.

          • name string
          • pattern_type string
            • PATTERN_TYPE_LITERAL: Must match the filter exactly
              • PATTERN_TYPE_PREFIX: Will match anything that starts with filter

            Values are PATTERN_TYPE_LITERAL or PATTERN_TYPE_PREFIX.

        • effective_interval string
        • exclude_default boolean

          If this is true, then only the properties listed in synced_shadow_topic_properties will be synced.

        • interval string
        • paused boolean
        • start_at_earliest object

          Start at the earliest offset in the partition.

        • start_at_latest object

          Start at the latest offset in the partition.

        • start_at_timestamp string(date-time)

          Enables data replication from the first offset on the source topic/partition where the record's timestamp is at or after the specified timestamp.

        • synced_shadow_topic_properties array[string]

          The following properties are not allowed to be replicated and adding them to this list will result in an error:

          • redpanda.remote.readreplica
          • redpanda.remote.recovery
          • redpanda.remote.allowgaps
          • redpanda.virtual.cluster.id
          • redpanda.leaders.preference
          • redpanda.cloud_topic.enabled

          This list is a list of properties in addition to the default properties that will be synced. See exclude_default.

      • updated_at string(date-time)

        Timestamp when the shadow link was last updated.

  • 404 application/json

    Not Found - Shadow link with given ID does not exist

    Hide response attributes Show response attributes object
    • code string(int32)

      RPC status code, as described here.

      Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

    • details array[object]

      A list of messages that carries the error details.

      Details of the error.

      Details of the error.

      One of:
      BadRequest object ErrorInfo object QuotaFailure object Help object

      Describes violations in a client request. This error type focuses on the syntactic aspects of the request.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.BadRequest.

      • field_violations array[object]

        Describes all violations in a client request.

        A message type used to describe a single bad request field.

        Hide field_violations attributes Show field_violations attributes object
        • description string

          A description of why the request element is bad.

        • field string

          A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field.

          Consider the following:

          message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; }

          optional string email = 1; repeated EmailType type = 2; }

          string full_name = 1; repeated EmailAddress email_addresses = 2; }

          In this example, in proto field could take one of the following values:

          • full_name for a violation in the full_name value
          • email_addresses[1].email for a violation in the email field of the first email_addresses message
          • email_addresses[3].type[2] for a violation in the second type value in the third email_addresses message.

          In JSON, the same values are represented as:

          • fullName for a violation in the fullName value
          • emailAddresses[1].email for a violation in the email field of the first emailAddresses message
          • emailAddresses[3].type[2] for a violation in the second type value in the third emailAddresses message.
        • localized_message object

          Provides a localized error message that is safe to return to the user which can be attached to an RPC error.

          Hide localized_message attributes Show localized_message attributes object
          • locale string
          • message string

            The localized error message in the above locale.

        • reason string

          The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.

      Describes the cause of the error with structured details.

      Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled:

      { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" } }

      This response indicates that the pubsub.googleapis.com API is not enabled.

      Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock:

      { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" } }

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.ErrorInfo.

      • domain string

        The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".

      • metadata object

        Additional structured details about this error.

        Keys must match a regular expression of [a-z][a-zA-Z0-9-_]+ but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.

        Hide metadata attribute Show metadata attribute object
        • * string Additional properties
      • reason string

        The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.

      Describes how a quota check failed.

      For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set service_disabled to true.

      Also see RetryInfo and Help types for other details about handling a quota failure.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.QuotaFailure.

      • violations array[object]

        Describes all quota violations.

        A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded.

        Hide violations attributes Show violations attributes object
        • api_service string

          The API Service from which the QuotaFailure.Violation orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the QuotaFailure, and this field would have the dependency API service name.

          For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be "container.googleapis.com". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be "compute.googleapis.com".

        • description string

          A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console.

          For example: "Service disabled" or "Daily Limit for read operations exceeded".

        • future_quota_value string(int64) | null

          The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set.

          For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field.

        • quota_dimensions object

          The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased.

          For example, the quota "CPUs per region per VM family" enforces a limit on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions "region" and "vm_family". And if the violation occurred in region "us-central1" and for VM family "n1", the quota_dimensions would be,

          { "region": "us-central1", "vm_family": "n1", }

          When a quota is enforced globally, the quota_dimensions would always be empty.

          Hide quota_dimensions attribute Show quota_dimensions attribute object
          • * string Additional properties
        • quota_id string

          The id of the violated quota. Also know as "limit name", this is the unique identifier of a quota in the context of an API service.

          For example, "CPUS-PER-VM-FAMILY-per-project-region".

        • quota_metric string

          The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected.

          For example, "compute.googleapis.com/cpus_per_vm_family", "storage.googleapis.com/internet_egress_bandwidth".

        • quota_value string(int64)

          The enforced quota value at the time of the QuotaFailure.

          For example, if the enforced quota value at the time of the QuotaFailure on the number of CPUs is "10", then the value of this field would reflect this quantity.

        • subject string

          The subject on which the quota check failed. For example, "clientip:" or "project:".

      Provides links to documentation or for performing an out of band action.

      For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.Help.

      • links array[object]

        URL(s) pointing to additional information on handling the current error.

        Describes a URL link.

        Hide links attributes Show links attributes object
        • description string

          Describes what the link offers.

        • url string

          The URL of the link.

    • message string

      Detailed error message. No compatibility guarantees are given for the text contained in this message.

  • 500 application/json

    Internal Server Error. Please reach out to support.

    Hide response attributes Show response attributes object
    • code string(int32)

      RPC status code, as described here.

      Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

    • details array[object]

      A list of messages that carries the error details.

      Details of the error.

      Details of the error.

      One of:
      BadRequest object ErrorInfo object QuotaFailure object Help object

      Describes violations in a client request. This error type focuses on the syntactic aspects of the request.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.BadRequest.

      • field_violations array[object]

        Describes all violations in a client request.

        A message type used to describe a single bad request field.

        Hide field_violations attributes Show field_violations attributes object
        • description string

          A description of why the request element is bad.

        • field string

          A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field.

          Consider the following:

          message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; }

          optional string email = 1; repeated EmailType type = 2; }

          string full_name = 1; repeated EmailAddress email_addresses = 2; }

          In this example, in proto field could take one of the following values:

          • full_name for a violation in the full_name value
          • email_addresses[1].email for a violation in the email field of the first email_addresses message
          • email_addresses[3].type[2] for a violation in the second type value in the third email_addresses message.

          In JSON, the same values are represented as:

          • fullName for a violation in the fullName value
          • emailAddresses[1].email for a violation in the email field of the first emailAddresses message
          • emailAddresses[3].type[2] for a violation in the second type value in the third emailAddresses message.
        • localized_message object

          Provides a localized error message that is safe to return to the user which can be attached to an RPC error.

          Hide localized_message attributes Show localized_message attributes object
          • locale string
          • message string

            The localized error message in the above locale.

        • reason string

          The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.

      Describes the cause of the error with structured details.

      Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled:

      { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" } }

      This response indicates that the pubsub.googleapis.com API is not enabled.

      Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock:

      { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" } }

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.ErrorInfo.

      • domain string

        The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".

      • metadata object

        Additional structured details about this error.

        Keys must match a regular expression of [a-z][a-zA-Z0-9-_]+ but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.

        Hide metadata attribute Show metadata attribute object
        • * string Additional properties
      • reason string

        The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.

      Describes how a quota check failed.

      For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set service_disabled to true.

      Also see RetryInfo and Help types for other details about handling a quota failure.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.QuotaFailure.

      • violations array[object]

        Describes all quota violations.

        A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded.

        Hide violations attributes Show violations attributes object
        • api_service string

          The API Service from which the QuotaFailure.Violation orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the QuotaFailure, and this field would have the dependency API service name.

          For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be "container.googleapis.com". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be "compute.googleapis.com".

        • description string

          A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console.

          For example: "Service disabled" or "Daily Limit for read operations exceeded".

        • future_quota_value string(int64) | null

          The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set.

          For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field.

        • quota_dimensions object

          The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased.

          For example, the quota "CPUs per region per VM family" enforces a limit on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions "region" and "vm_family". And if the violation occurred in region "us-central1" and for VM family "n1", the quota_dimensions would be,

          { "region": "us-central1", "vm_family": "n1", }

          When a quota is enforced globally, the quota_dimensions would always be empty.

          Hide quota_dimensions attribute Show quota_dimensions attribute object
          • * string Additional properties
        • quota_id string

          The id of the violated quota. Also know as "limit name", this is the unique identifier of a quota in the context of an API service.

          For example, "CPUS-PER-VM-FAMILY-per-project-region".

        • quota_metric string

          The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected.

          For example, "compute.googleapis.com/cpus_per_vm_family", "storage.googleapis.com/internet_egress_bandwidth".

        • quota_value string(int64)

          The enforced quota value at the time of the QuotaFailure.

          For example, if the enforced quota value at the time of the QuotaFailure on the number of CPUs is "10", then the value of this field would reflect this quantity.

        • subject string

          The subject on which the quota check failed. For example, "clientip:" or "project:".

      Provides links to documentation or for performing an out of band action.

      For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.Help.

      • links array[object]

        URL(s) pointing to additional information on handling the current error.

        Describes a URL link.

        Hide links attributes Show links attributes object
        • description string

          Describes what the link offers.

        • url string

          The URL of the link.

    • message string

      Detailed error message. No compatibility guarantees are given for the text contained in this message.

  • default application/json

    An unexpected error response.

    Hide response attributes Show response attributes object
    • code string(int32)

      RPC status code, as described here.

      Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

    • details array[object]

      A list of messages that carries the error details.

      Details of the error.

      Details of the error.

      One of:
      BadRequest object ErrorInfo object QuotaFailure object Help object

      Describes violations in a client request. This error type focuses on the syntactic aspects of the request.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.BadRequest.

      • field_violations array[object]

        Describes all violations in a client request.

        A message type used to describe a single bad request field.

        Hide field_violations attributes Show field_violations attributes object
        • description string

          A description of why the request element is bad.

        • field string

          A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field.

          Consider the following:

          message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; }

          optional string email = 1; repeated EmailType type = 2; }

          string full_name = 1; repeated EmailAddress email_addresses = 2; }

          In this example, in proto field could take one of the following values:

          • full_name for a violation in the full_name value
          • email_addresses[1].email for a violation in the email field of the first email_addresses message
          • email_addresses[3].type[2] for a violation in the second type value in the third email_addresses message.

          In JSON, the same values are represented as:

          • fullName for a violation in the fullName value
          • emailAddresses[1].email for a violation in the email field of the first emailAddresses message
          • emailAddresses[3].type[2] for a violation in the second type value in the third emailAddresses message.
        • localized_message object

          Provides a localized error message that is safe to return to the user which can be attached to an RPC error.

          Hide localized_message attributes Show localized_message attributes object
          • locale string
          • message string

            The localized error message in the above locale.

        • reason string

          The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.

      Describes the cause of the error with structured details.

      Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled:

      { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" } }

      This response indicates that the pubsub.googleapis.com API is not enabled.

      Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock:

      { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" } }

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.ErrorInfo.

      • domain string

        The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".

      • metadata object

        Additional structured details about this error.

        Keys must match a regular expression of [a-z][a-zA-Z0-9-_]+ but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.

        Hide metadata attribute Show metadata attribute object
        • * string Additional properties
      • reason string

        The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.

      Describes how a quota check failed.

      For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set service_disabled to true.

      Also see RetryInfo and Help types for other details about handling a quota failure.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.QuotaFailure.

      • violations array[object]

        Describes all quota violations.

        A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded.

        Hide violations attributes Show violations attributes object
        • api_service string

          The API Service from which the QuotaFailure.Violation orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the QuotaFailure, and this field would have the dependency API service name.

          For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be "container.googleapis.com". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be "compute.googleapis.com".

        • description string

          A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console.

          For example: "Service disabled" or "Daily Limit for read operations exceeded".

        • future_quota_value string(int64) | null

          The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set.

          For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field.

        • quota_dimensions object

          The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased.

          For example, the quota "CPUs per region per VM family" enforces a limit on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions "region" and "vm_family". And if the violation occurred in region "us-central1" and for VM family "n1", the quota_dimensions would be,

          { "region": "us-central1", "vm_family": "n1", }

          When a quota is enforced globally, the quota_dimensions would always be empty.

          Hide quota_dimensions attribute Show quota_dimensions attribute object
          • * string Additional properties
        • quota_id string

          The id of the violated quota. Also know as "limit name", this is the unique identifier of a quota in the context of an API service.

          For example, "CPUS-PER-VM-FAMILY-per-project-region".

        • quota_metric string

          The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected.

          For example, "compute.googleapis.com/cpus_per_vm_family", "storage.googleapis.com/internet_egress_bandwidth".

        • quota_value string(int64)

          The enforced quota value at the time of the QuotaFailure.

          For example, if the enforced quota value at the time of the QuotaFailure on the number of CPUs is "10", then the value of this field would reflect this quantity.

        • subject string

          The subject on which the quota check failed. For example, "clientip:" or "project:".

      Provides links to documentation or for performing an out of band action.

      For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.

      Hide attributes Show attributes
      • @type string

        Fully qualified protobuf type name of the underlying response, prefixed with type.googleapis.com/.

        Value is type.googleapis.com/google.rpc.Help.

      • links array[object]

        URL(s) pointing to additional information on handling the current error.

        Describes a URL link.

        Hide links attributes Show links attributes object
        • description string

          Describes what the link offers.

        • url string

          The URL of the link.

    • message string

      Detailed error message. No compatibility guarantees are given for the text contained in this message.

GET /v1/shadow-links/{id}
curl \
 --request GET 'https://api.redpanda.com/v1/shadow-links/{id}' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "shadow_link": {
    "client_options": {
      "authentication_configuration": {
        "scram_configuration": {
          "password": "string",
          "password_set": true,
          "password_set_at": "2025-05-04T09:42:00Z",
          "scram_mechanism": "SCRAM_MECHANISM_SCRAM_SHA_256",
          "username": "string"
        }
      },
      "bootstrap_servers": [
        "string"
      ],
      "client_id": "string",
      "connection_timeout_ms": 42,
      "effective_connection_timeout_ms": 42,
      "effective_fetch_max_bytes": 42,
      "effective_fetch_min_bytes": 42,
      "effective_fetch_partition_max_bytes": 42,
      "effective_fetch_wait_max_ms": 42,
      "effective_metadata_max_age_ms": 42,
      "effective_retry_backoff_ms": 42,
      "fetch_max_bytes": 42,
      "fetch_min_bytes": 42,
      "fetch_partition_max_bytes": 42,
      "fetch_wait_max_ms": 42,
      "metadata_max_age_ms": 42,
      "retry_backoff_ms": 42,
      "source_cluster_id": "string",
      "tls_settings": {
        "ca": "string",
        "cert": "string",
        "do_not_set_sni_hostname": true,
        "enabled": true,
        "key": "string"
      }
    },
    "consumer_offset_sync_options": {
      "effective_interval": "string",
      "group_filters": [
        {
          "filter_type": "FILTER_TYPE_INCLUDE",
          "name": "string",
          "pattern_type": "PATTERN_TYPE_LITERAL"
        }
      ],
      "interval": "string",
      "paused": true
    },
    "created_at": "2025-05-04T09:42:00Z",
    "id": "string",
    "name": "string",
    "reason": "string",
    "schema_registry_sync_options": {
      "shadow_schema_registry_topic": {}
    },
    "security_sync_options": {
      "acl_filters": [
        {
          "access_filter": {
            "host": "string",
            "operation": "ACL_OPERATION_ANY",
            "permission_type": "ACL_PERMISSION_TYPE_ANY",
            "principal": "string"
          },
          "resource_filter": {
            "name": "string",
            "pattern_type": "ACL_PATTERN_ANY",
            "resource_type": "ACL_RESOURCE_ANY"
          }
        }
      ],
      "effective_interval": "string",
      "interval": "string",
      "paused": true
    },
    "shadow_redpanda_id": "string",
    "state": "STATE_CREATING",
    "topic_metadata_sync_options": {
      "auto_create_shadow_topic_filters": [
        {
          "filter_type": "FILTER_TYPE_INCLUDE",
          "name": "string",
          "pattern_type": "PATTERN_TYPE_LITERAL"
        }
      ],
      "effective_interval": "string",
      "exclude_default": true,
      "interval": "string",
      "paused": true,
      "start_at_earliest": {},
      "start_at_latest": {},
      "start_at_timestamp": "2025-05-04T09:42:00Z",
      "synced_shadow_topic_properties": [
        "string"
      ]
    },
    "updated_at": "2025-05-04T09:42:00Z"
  }
}
Response examples (404)
{
  "code": "OK",
  "details": [
    {
      "@type": "type.googleapis.com/google.rpc.BadRequest",
      "field_violations": [
        {
          "description": "string",
          "field": "string",
          "localized_message": {
            "locale": "string",
            "message": "string"
          },
          "reason": "string"
        }
      ]
    }
  ],
  "message": "string"
}
Response examples (500)
{
  "code": "OK",
  "details": [
    {
      "@type": "type.googleapis.com/google.rpc.BadRequest",
      "field_violations": [
        {
          "description": "string",
          "field": "string",
          "localized_message": {
            "locale": "string",
            "message": "string"
          },
          "reason": "string"
        }
      ]
    }
  ],
  "message": "string"
}
Response examples (default)
{
  "code": "OK",
  "details": [
    {
      "@type": "type.googleapis.com/google.rpc.BadRequest",
      "field_violations": [
        {
          "description": "string",
          "field": "string",
          "localized_message": {
            "locale": "string",
            "message": "string"
          },
          "reason": "string"
        }
      ]
    }
  ],
  "message": "string"
}
Redpanda
Product
Agentic Data Plane Data Streaming
Learn
Resources Events On-demand Blog
Company
About us Customers Press Partners Careers Contact Legal hub Trust center
Privacy policy
© 2025 Redpanda. All rights reserved.