> ## Documentation Index
> Fetch the complete documentation index at: https://www.cockroachlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the Log Export configuration for a cluster

<Note>This endpoint is in **Preview** and subject to change. Refer to the [API support policy](https://www.cockroachlabs.com/docs/stable/api-support-policy) for more details.</Note>


## OpenAPI

````yaml /openapi/cloud/2022-09-20.json get /api/v1/clusters/{cluster_id}/logexport
openapi: 3.0.0
info:
  contact:
    email: support@cockroachlabs.com
    name: Cockroach Labs Support
    url: https://support.cockroachlabs.com
  description: >-
    This is a preview version of the Cloud API. The interface and output is
    subject to change, and there may be bugs.
  title: CockroachDB Cloud API
  version: '2022-09-20'
servers:
  - url: https://cockroachlabs.cloud
security:
  - Bearer: []
tags:
  - name: CockroachCloud
externalDocs:
  description: Use the CockroachDB Cloud API
  url: https://www.cockroachlabs.com/docs/cockroachcloud/cloud-api
paths:
  /api/v1/clusters/{cluster_id}/logexport:
    get:
      tags:
        - CockroachCloud
      summary: Get the Log Export configuration for a cluster
      operationId: CockroachCloud_GetLogExportInfo
      parameters:
        - name: cluster_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogExportClusterInfo'
        '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'
      x-codeSamples:
        - lang: curl
          source: |-
            curl --request GET \
              --url https://cockroachlabs.cloud/api/v1/clusters/{cluster_id}/logexport \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
components:
  schemas:
    LogExportClusterInfo:
      description: |-
        LogExportClusterInfo contains a package of information that fully
        describes both the intended state of the log export configuration for
        a specific cluster but also some metadata around its deployment
        status, any error messages, and some timestamps.
      type: object
      properties:
        cluster_id:
          type: string
        created_at:
          type: string
          format: date-time
        spec:
          $ref: '#/components/schemas/LogExportClusterSpecification'
        status:
          $ref: '#/components/schemas/LogExportStatus'
        updated_at:
          type: string
          format: date-time
        user_message:
          type: string
    Status:
      type: object
      properties:
        code:
          type: integer
          format: int32
        details:
          type: array
          items:
            $ref: '#/components/schemas/Any'
        message:
          type: string
    LogExportClusterSpecification:
      description: |-
        LogExportClusterSpecification contains all the data necessary to
        configure log export for an individual cluster. Users would supply
        this data via the API and also receive it back when inspecting the
        state of their log export configuration.
      type: object
      properties:
        auth_principal:
          description: |-
            auth_principal is either the AWS Role ARN that identifies a role
            that the cluster account can assume to write to CloudWatch or the
            GCP Project ID that the cluster service account has permissions to
            write to for cloud logging.
          type: string
        groups:
          description: |-
            groups is a collection of log group configurations to customize
            which CRDB channels get aggregated into different groups at the
            target sink. Unconfigured channels will be sent to the default
            locations via the settings above.
          type: array
          items:
            $ref: '#/components/schemas/LogExportGroup'
        log_name:
          description: log_name is an identifier for the logs in the customer's log sink.
          type: string
        redact:
          description: |-
            redact controls whether logs are redacted before forwarding to
            customer sinks. By default they are not redacted.
          type: boolean
        region:
          description: |-
            region controls whether all logs are sent to a specific region in
            the customer sink. By default, logs will remain their region of
            origin depending on the cluster node's region.
          type: string
        type:
          $ref: '#/components/schemas/LogExportType'
    LogExportStatus:
      description: |-
        LogExportStatus encodes the possible states that a configuration can
        be in as it is created, deployed, and disabled.
      type: string
      enum:
        - DISABLED
        - DISABLING
        - DISABLE_FAILED
        - ENABLED
        - ENABLING
        - ENABLE_FAILED
    Any:
      description: >-
        `Any` contains an arbitrary serialized protocol buffer message along
        with a

        URL that describes the type of the serialized message.


        Protobuf library provides support to pack/unpack Any values in the form

        of utility functions or additional generated methods of the Any type.


        Example 1: Pack and unpack a message in C++.

            Foo foo = ...;
            Any any;
            any.PackFrom(foo);
            ...
            if (any.UnpackTo(&foo)) {
              ...
            }

        Example 2: Pack and unpack a message in Java.

            Foo foo = ...;
            Any any = Any.pack(foo);
            ...
            if (any.is(Foo.class)) {
              foo = any.unpack(Foo.class);
            }

         Example 3: Pack and unpack a message in Python.

            foo = Foo(...)
            any = Any()
            any.Pack(foo)
            ...
            if any.Is(Foo.DESCRIPTOR):
              any.Unpack(foo)
              ...

         Example 4: Pack and unpack a message in Go

             foo := &pb.Foo{...}
             any, err := ptypes.MarshalAny(foo)
             ...
             foo := &pb.Foo{}
             if err := ptypes.UnmarshalAny(any, foo); err != nil {
               ...
             }

        The pack methods provided by protobuf library will by default use

        'type.googleapis.com/full.type.name' as the type URL and the unpack

        methods only use the fully qualified type name after the last '/'

        in the type URL, for example "foo.bar.com/x/y.z" will yield type

        name "y.z".



        JSON

        ====

        The JSON representation of an `Any` value uses the regular

        representation of the deserialized, embedded message, with an

        additional field `@type` which contains the type URL. Example:

            package google.profile;
            message Person {
              string first_name = 1;
              string last_name = 2;
            }

            {
              "@type": "type.googleapis.com/google.profile.Person",
              "firstName": <string>,
              "lastName": <string>
            }

        If the embedded message type is well-known and has a custom JSON

        representation, that representation will be embedded adding a field

        `value` which holds the custom JSON in addition to the `@type`

        field. Example (for message [google.protobuf.Duration][]):

            {
              "@type": "type.googleapis.com/google.protobuf.Duration",
              "value": "1.212s"
            }
      type: object
      properties:
        '@type':
          description: >-
            A URL/resource name that uniquely identifies the type of the
            serialized

            protocol buffer message. This string must contain at least

            one "/" character. The last segment of the URL's path must represent

            the fully qualified name of the type (as in

            `path/google.protobuf.Duration`). The name should be in a canonical
            form

            (e.g., leading "." is not accepted).


            In practice, teams usually precompile into the binary all types that
            they

            expect it to use in the context of Any. However, for URLs which use
            the

            scheme `http`, `https`, or no scheme, one can optionally set up a
            type

            server that maps type URLs to message definitions as follows:


            * If no scheme is provided, `https` is assumed.

            * An HTTP GET on the URL must yield a [google.protobuf.Type][]
              value in binary format, or produce an error.
            * Applications are allowed to cache lookup results based on the
              URL, or have them precompiled into a binary to avoid any
              lookup. Therefore, binary compatibility needs to be preserved
              on changes to types. (Use versioned type names to manage
              breaking changes.)

            Note: this functionality is not currently available in the official

            protobuf release, and it is not used for type URLs beginning with

            type.googleapis.com.


            Schemes other than `http`, `https` (or the empty scheme) might be

            used with implementation specific semantics.
          type: string
      additionalProperties: {}
    LogExportGroup:
      description: |-
        LogExportGroup contains an export configuration for a single
        log group which can route logs for a subset of CRDB channels.
      type: object
      properties:
        channels:
          description: |-
            channels is a list of CRDB log channels to include in this
            group.
          type: array
          items:
            type: string
        log_name:
          description: log_name is the name of the group, reflected in the log sink.
          type: string
        min_level:
          $ref: '#/components/schemas/LogLevel'
        redact:
          description: |-
            redact is a boolean that governs whether this log group
            should aggregate redacted logs. Redaction settings will
            inherit from the cluster log export defaults if unset.
          type: boolean
      required:
        - log_name
        - channels
    LogExportType:
      description: |-
        LogExportType encodes the cloud selection that we're exporting to
        along with the cloud logging platform.

        Currently, each cloud has a single logging platform.
      type: string
      enum:
        - AWS_CLOUDWATCH
        - GCP_CLOUD_LOGGING
    LogLevel:
      description: |2-
         - LOG_LEVEL_UNSPECIFIED: The unspecified log level includes all logs.
         - WARNING: The WARNING severity is used for situations which may require
        special handling, where normal operation is expected to resume 
        automatically.
         - ERROR: The ERROR severity is used for situations that require special 
        handling, where normal operation could not proceed as expected. 
        Other operations can continue mostly unaffected.
         - FATAL: The FATAL severity is used for situations that require an 
        immediate, hard server shutdown. A report is also sent to 
        telemetry if telemetry is enabled.
      type: string
      enum:
        - LOG_LEVEL_UNSPECIFIED
        - WARNING
        - ERROR
        - FATAL
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer

````