Cockroach Labs Metric Export API

The Metric Export API from Cockroach Labs — 3 operation(s) for metric export.

Operations 9

DELETE /api/v1/clusters/{cluster_id}/metricexport/cloudwatch Delete the CloudWatch Metric Export configuration for a cluster #
GET /api/v1/clusters/{cluster_id}/metricexport/cloudwatch Get the CloudWatch Metric Export configuration for a cluster #
POST /api/v1/clusters/{cluster_id}/metricexport/cloudwatch Create or update the CloudWatch Metric Export configuration for a cluster #
DELETE /api/v1/clusters/{cluster_id}/metricexport/datadog Delete the Datadog Metric Export configuration for a cluster #
GET /api/v1/clusters/{cluster_id}/metricexport/datadog Get the Datadog Metric Export configuration for a cluster #
POST /api/v1/clusters/{cluster_id}/metricexport/datadog Create or update the Datadog Metric Export configuration for a cluster #
DELETE /api/v1/clusters/{cluster_id}/metricexport/prometheus Disable Prometheus Metric Export for a cluster #
GET /api/v1/clusters/{cluster_id}/metricexport/prometheus Get the Prometheus Metric Export configuration for a cluster #
POST /api/v1/clusters/{cluster_id}/metricexport/prometheus Enable Prometheus Metric Export for a cluster #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cockroach-labs:cockroach-labs-metric-export-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cockroach-labs-metric-export-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@cockroachlabs.com
    name: Cockroach Labs Support
    url: https://support.cockroachlabs.com
  description: An API for managing CockroachDB Cloud resources
  title: CockroachDB Cloud Metric Export API
  version: '2026-09-15'
servers:
- url: https://cockroachlabs.cloud
security:
- Bearer: []
tags:
- name: Metric Export
paths:
  /api/v1/clusters/{cluster_id}/metricexport/cloudwatch:
    delete:
      operationId: CockroachCloud_DeleteCloudWatchMetricExport
      summary: Delete the CloudWatch Metric Export configuration for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteMetricExportResponse'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request DELETE \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/cloudwatch \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
    get:
      operationId: CockroachCloud_GetCloudWatchMetricExportInfo
      summary: Get the CloudWatch Metric Export configuration for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER

        - METRICS_VIEWER

        - AUDITOR'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudWatchMetricExportInfo'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/cloudwatch \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
    post:
      operationId: CockroachCloud_EnableCloudWatchMetricExport
      summary: Create or update the CloudWatch Metric Export configuration for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnableCloudWatchMetricExportBody'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudWatchMetricExportInfo'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/cloudwatch \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --json '{\"external_id\":\"example_external_id\",\"log_group_name\":\"example\",\"role_arn\":\"arn:aws:iam::account:role/ExampleRole\",\"target_region\":\"us-east-1\"}'"
  /api/v1/clusters/{cluster_id}/metricexport/datadog:
    delete:
      operationId: CockroachCloud_DeleteDatadogMetricExport
      summary: Delete the Datadog Metric Export configuration for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteMetricExportResponse'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request DELETE \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/datadog \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
    get:
      operationId: CockroachCloud_GetDatadogMetricExportInfo
      summary: Get the Datadog Metric Export configuration for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER

        - METRICS_VIEWER

        - AUDITOR'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatadogMetricExportInfo'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/datadog \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
    post:
      operationId: CockroachCloud_EnableDatadogMetricExport
      summary: Create or update the Datadog Metric Export configuration for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnableDatadogMetricExportBody'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatadogMetricExportInfo'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/datadog \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --json '{\"api_key\":\"datadog_api_key\",\"site\":\"US1\"}'"
  /api/v1/clusters/{cluster_id}/metricexport/prometheus:
    delete:
      operationId: CockroachCloud_DeletePrometheusMetricExport
      summary: Disable Prometheus Metric Export for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteMetricExportResponse'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request DELETE \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/prometheus \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
    get:
      operationId: CockroachCloud_GetPrometheusMetricExportInfo
      summary: Get the Prometheus Metric Export configuration for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER

        - METRICS_VIEWER

        - AUDITOR'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusMetricExportInfo'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request GET \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/prometheus \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
    post:
      operationId: CockroachCloud_EnablePrometheusMetricExport
      summary: Enable Prometheus Metric Export for a cluster
      description: 'Can be used by the following roles assigned at the organization, folder or cluster scope:

        - CLUSTER_ADMIN

        - CLUSTER_OPERATOR_WRITER'
      parameters:
      - name: cluster_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrometheusMetricExportInfo'
        '400':
          description: Returned when a request field is invalid.
          content:
            application/json:
              schema: {}
        '401':
          description: Returned when the token bearer cannot be authenticated.
          content:
            application/json:
              schema: {}
        '403':
          description: Returned when the user does not have permission to access the resource.
          content:
            application/json:
              schema: {}
        '404':
          description: Returned when the resource does not exist.
          content:
            application/json:
              schema: {}
        '500':
          description: Server error
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
      tags:
      - Metric Export
      x-badges:
      - color: blue
        label: PREVIEW
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/metricexport/prometheus \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
components:
  schemas:
    Any:
      description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nIn its binary encoding, an `Any` is an ordinary message; but in other wire\nforms like JSON, it has a special encoding. The format of the type URL is\ndescribed on the `type_url` field.\n\nProtobuf APIs provide utilities to interact with `Any` values:\n\n- A 'pack' operation accepts a message and constructs a generic `Any` wrapper\n  around it.\n- An 'unpack' operation reads the content of an `Any` message, either into an\n  existing message or a new one. Unpack operations must check the type of the\n  value they unpack against the declared `type_url`.\n- An 'is' operation decides whether an `Any` contains a message of the given\n  type, i.e. whether it can 'unpack' that type.\n\nThe JSON format representation of an `Any` follows one of these cases:\n\n- For types without special-cased JSON encodings, the JSON format\n  representation of the `Any` is the same as that of the message, with an\n  additional `@type` field which contains the type URL.\n- For types with special-cased JSON encodings (typically called 'well-known'\n  types, listed in https://protobuf.dev/programming-guides/json/#any), the\n  JSON format representation has a key `@type` which contains the type URL\n  and a key `value` which contains the JSON-serialized value.\n\nThe text format representation of an `Any` is like a message with one field\nwhose name is the type URL in brackets. For example, an `Any` containing a\n`foo.Bar` message may be written `[type.googleapis.com/foo.Bar] { a: 2 }`."
      type: object
      properties:
        '@type':
          description: 'Identifies the type of the serialized Protobuf message with a URI reference

            consisting of a prefix ending in a slash and the fully-qualified type name.


            Example: type.googleapis.com/google.protobuf.StringValue


            This string must contain at least one `/` character, and the content after

            the last `/` must be the fully-qualified name of the type in canonical

            form, without a leading dot. Do not write a scheme on these URI references

            so that clients do not attempt to contact them.


            The prefix is arbitrary and Protobuf implementations are expected to

            simply strip off everything up to and including the last `/` to identify

            the type. `type.googleapis.com/` is a common default prefix that some

            legacy implementations require. This prefix does not indicate the origin of

            the type, and URIs containing it are not expected to respond to any

            requests.


            All type URL strings must be legal URI references with the additional

            restriction (for the text format) that the content of the reference

            must consist only of alphanumeric characters, percent-encoded escapes, and

            characters in the following set (not including the outer backticks):

            `/-.~_!$&()*+,;=`. Despite our allowing percent encodings, implementations

            should not unescape them to prevent confusion with existing parsers. For

            example, `type.googleapis.com%2FFoo` should be rejected.


            In the original design of `Any`, the possibility of launching a type

            resolution service at these type URLs was considered but Protobuf never

            implemented one and considers contacting these URLs to be problematic and

            a potential security issue. Do not attempt to contact type URLs.'
          type: string
      additionalProperties: {}
    EnableCloudWatchMetricExportBody:
      type: object
      properties:
        external_id:
          description: 'external_id to include when assuming the IAM role specified by role_arn.

            Optional. A specific value may be required by the role''s trust policy.

            Only supported for Advanced clusters. If provided for a Standard cluster,

            the request is rejected.'
          type: string
        log_group_name:
          description: log_group_name is the customized log group name.
          type: string
        role_arn:
          description: 'role_arn is the IAM role used to upload metric segments to the

            target AWS account.'
          type: string
        target_region:
          description: 'target_region specifies the specific AWS region that the metrics will

            be exported to.'
          type: string
      example:
        external_id: example_external_id
        log_group_name: example
        role_arn: arn:aws:iam::account:role/ExampleRole
        target_region: us-east-1
      required:
      - role_arn
      title: EnableCloudWatchMetricExportRequest
    PrometheusMetricExportInfo:
      type: object
      properties:
        cluster_id:
          type: string
        status:
          $ref: '#/components/schemas/MetricExportStatus.Type'
        targets:
          description: targets is a map of ports exposing metrics to regions.
          type: object
          additionalProperties:
            type: string
        user_message:
          type: string
      required:
      - cluster_id
      title: PrometheusMetricExportInfo
    Status:
      type: object
      properties:
        code:
          type: integer
          format: int32
        details:
          type: array
          items:
            $ref: '#/components/schemas/Any'
        message:
          type: string
    DatadogMetricExportInfo:
      type: object
      properties:
        api_key:
          description: api_key is the last 4 digits of a Datadog API key.
          type: string
        cluster_id:
          type: string
        site:
          $ref: '#/components/schemas/DatadogSite.Type'
        status:
          $ref: '#/components/schemas/MetricExportStatus.Type'
        user_message:
          type: string
      required:
      - cluster_id
      - site
      title: DatadogMetricExportInfo
    DeleteMetricExportResponse:
      type: object
      properties:
        cluster_id:
          type: string
        status:
          $ref: '#/components/schemas/MetricExportStatus.Type'
      required:
      - cluster_id
      title: DeleteMetricExportResponse
    DatadogSite.Type:
      type: string
      enum:
      - US1
      - US3
      - US5
      - US1_GOV
      - EU1
    EnableDatadogMetricExportBody:
      type: object
      properties:
        api_key:
          description: api_key is a Datadog API key.
          type: string
        site:
          $ref: '#/components/schemas/DatadogSite.Type'
      example:
        api_key: datadog_api_key
        site: US1
      required:
      - site
      - api_key
      title: EnableDatadogMetricExportRequest
    MetricExportStatus.Type:
      type: string
      enum:
      - NOT_DEPLOYED
      - DISABLING
      - ENABLING
      - ENABLED
      - ERROR
    CloudWatchMetricExportInfo:
      type: object
      properties:
        cluster_id:
          type: string
        external_id:
          description: 'external_id, if set, is included when assuming the IAM role. Supported for

            Advanced clusters only.'
          type: string
        log_group_name:
          description: log_group_name is the customized log group name.
          type: string
        role_arn:
          description: 'role_arn is the IAM role used to upload metric segments to the

            target AWS account.'
          type: string
        status:
          $ref: '#/components/schemas/MetricExportStatus.Type'
        target_region:
          description: 'target_region specifies the specific AWS region that the metrics will

            be exported to.'
          type: string
        user_message:
          type: string
      required:
      - cluster_id
      - role_arn
      title: CloudWatchMetricExportInfo
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
externalDocs:
  description: Use the CockroachDB Cloud API
  url: https://www.cockroachlabs.com/docs/cockroachcloud/cloud-api.html