Datadog Retention API

The Retention API from Datadog — 6 operation(s) for retention.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

datadog-retention-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: support@datadoghq.com
    name: Datadog Support
    url: https://www.datadoghq.com/support/
  description: The Datadog API is an HTTP REST API. The API uses resource-oriented URLs to call the API, uses status codes to indicate the success or failure of requests, returns JSON from all requests, and uses standard HTTP response codes. Use the Datadog API to access the Datadog platform programmatically.
  title: Datadog Account Retention API
  version: '1.0'
servers:
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: The regional site for Datadog customers.
      enum:
      - datadoghq.com
      - us3.datadoghq.com
      - us5.datadoghq.com
      - ap1.datadoghq.com
      - datadoghq.eu
      - ddog-gov.com
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
- url: '{protocol}://{name}'
  variables:
    name:
      default: api.datadoghq.com
      description: Full site DNS name.
    protocol:
      default: https
      description: The protocol for accessing the API.
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: Any Datadog deployment.
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
security:
- apiKeyAuth: []
  appKeyAuth: []
tags:
- name: Retention
paths:
  /api/v2/apm/config/retention-filters:
    get:
      description: Get the list of APM retention filters.
      operationId: ListApmRetentionFilters
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetentionFiltersResponse'
          description: OK
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog List All Apm Retention Filters
      tags:
      - Retention
      x-menu-order: 1
      x-permission:
        operator: OR
        permissions:
        - apm_retention_filter_read
        - apm_pipelines_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      description: 'Create a retention filter to index spans in your organization.

        Returns the retention filter definition when the request is successful.


        Default filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor cannot be created.'
      operationId: CreateApmRetentionFilter
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RetentionFilterCreateRequest'
        description: The definition of the new retention filter.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetentionFilterCreateResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Create a Retention Filter
      tags:
      - Retention
      x-codegen-request-body-name: body
      x-given:
        retention_filter:
          parameters:
          - name: body
            value: "{\n    \"data\": {\n        \"attributes\": {\n            \"name\": \"demo retention filter\",\n            \"rate\": 0.90,\n            \"filter\": {\n                \"query\": \"@_top_level:1 test:service-demo\"\n            },\n            \"enabled\": true,\n            \"filter_type\": \"spans-sampling-processor\"\n        },\n        \"type\": \"apm_retention_filter\"\n    }\n}"
          step: there is a valid "retention_filter" in the system
      x-menu-order: 2
      x-permission:
        operator: OR
        permissions:
        - apm_retention_filter_write
        - apm_pipelines_write
      x-undo:
        operationId: DeleteApmRetentionFilter
        parameters:
        - name: filter_id
          source: data.id
        type: unsafe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/apm/config/retention-filters-execution-order:
    put:
      description: Re-order the execution order of retention filters.
      operationId: ReorderApmRetentionFilters
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderRetentionFiltersRequest'
        description: The list of retention filters in the new order.
        required: true
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Re-order Retention Filters
      tags:
      - Retention
      x-codegen-request-body-name: body
      x-menu-order: 6
      x-permission:
        operator: OR
        permissions:
        - apm_retention_filter_write
        - apm_pipelines_write
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/apm/config/retention-filters/{filter_id}:
    delete:
      description: 'Delete a specific retention filter from your organization.


        Default filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor cannot be deleted.'
      operationId: DeleteApmRetentionFilter
      parameters:
      - $ref: '#/components/parameters/RetentionFilterIdParam'
      responses:
        '200':
          description: OK
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Delete a Retention Filter
      tags:
      - Retention
      x-menu-order: 5
      x-permission:
        operator: OR
        permissions:
        - apm_retention_filter_write
        - apm_pipelines_write
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Get an APM retention filter.
      operationId: GetApmRetentionFilter
      parameters:
      - $ref: '#/components/parameters/RetentionFilterIdParam'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetentionFilterResponse'
          description: OK
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Get a Given Apm Retention Filter
      tags:
      - Retention
      x-menu-order: 3
      x-permission:
        operator: OR
        permissions:
        - apm_retention_filter_read
        - apm_pipelines_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      description: 'Update a retention filter from your organization.


        Default filters (filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor) cannot be renamed or removed.'
      operationId: UpdateApmRetentionFilter
      parameters:
      - $ref: '#/components/parameters/RetentionFilterIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RetentionFilterUpdateRequest'
        description: The updated definition of the retention filter.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetentionFilterResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Update a Retention Filter
      tags:
      - Retention
      x-codegen-request-body-name: body
      x-menu-order: 4
      x-permission:
        operator: OR
        permissions:
        - apm_retention_filter_write
        - apm_pipelines_write
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/rum/applications/{app_id}/relationships/retention_filters:
    patch:
      description: 'Order RUM retention filters for a RUM application.

        Returns RUM retention filter objects without attributes from the request body when the request is successful.'
      operationId: OrderRetentionFilters
      parameters:
      - $ref: '#/components/parameters/RumApplicationIDParameter'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RumRetentionFiltersOrderRequest'
        description: New definition of the RUM retention filter.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumRetentionFiltersOrderResponse'
          description: Ordered
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Order Rum Retention Filters
      tags:
      - Retention
      x-codegen-request-body-name: body
      x-menu-order: 6
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/rum/applications/{app_id}/retention_filters:
    get:
      description: Get the list of RUM retention filters for a RUM application.
      operationId: ListRetentionFilters
      parameters:
      - $ref: '#/components/parameters/RumApplicationIDParameter'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumRetentionFiltersResponse'
          description: OK
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Get All Rum Retention Filters
      tags:
      - Retention
      x-menu-order: 1
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      description: 'Create a RUM retention filter for a RUM application.

        Returns RUM retention filter objects from the request body when the request is successful.'
      operationId: CreateRetentionFilter
      parameters:
      - $ref: '#/components/parameters/RumApplicationIDParameter'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RumRetentionFilterCreateRequest'
        description: The definition of the new RUM retention filter.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumRetentionFilterResponse'
          description: Created
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Create a Rum Retention Filter
      tags:
      - Retention
      x-codegen-request-body-name: body
      x-menu-order: 3
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/rum/applications/{app_id}/retention_filters/{rf_id}:
    delete:
      description: Delete a RUM retention filter for a RUM application.
      operationId: DeleteRetentionFilter
      parameters:
      - $ref: '#/components/parameters/RumApplicationIDParameter'
      - $ref: '#/components/parameters/RumRetentionFilterIDParameter'
      responses:
        '204':
          description: No Content
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Delete a Rum Retention Filter
      tags:
      - Retention
      x-menu-order: 5
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Get a RUM retention filter for a RUM application.
      operationId: GetRetentionFilter
      parameters:
      - $ref: '#/components/parameters/RumApplicationIDParameter'
      - $ref: '#/components/parameters/RumRetentionFilterIDParameter'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumRetentionFilterResponse'
          description: OK
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Get a Rum Retention Filter
      tags:
      - Retention
      x-menu-order: 2
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      description: 'Update a RUM retention filter for a RUM application.

        Returns RUM retention filter objects from the request body when the request is successful.'
      operationId: UpdateRetentionFilter
      parameters:
      - $ref: '#/components/parameters/RumApplicationIDParameter'
      - $ref: '#/components/parameters/RumRetentionFilterIDParameter'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RumRetentionFilterUpdateRequest'
        description: New definition of the RUM retention filter.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RumRetentionFilterResponse'
          description: Updated
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Update a Rum Retention Filter
      tags:
      - Retention
      x-codegen-request-body-name: body
      x-menu-order: 4
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    RumRetentionFilterEnabled:
      description: Whether the retention filter is enabled.
      example: true
      type: boolean
    SpansFilterCreate:
      description: The spans filter. Spans matching this filter will be indexed and stored.
      properties:
        query:
          description: The search query - following the [span search syntax](https://docs.datadoghq.com/tracing/trace_explorer/query_syntax/).
          example: '@http.status_code:200 service:my-service'
          type: string
      required:
      - query
      type: object
    RetentionFilterCreateAttributes:
      description: The object describing the configuration of the retention filter to create/update.
      properties:
        enabled:
          description: Enable/Disable the retention filter.
          example: true
          type: boolean
        filter:
          $ref: '#/components/schemas/SpansFilterCreate'
        filter_type:
          $ref: '#/components/schemas/RetentionFilterType'
        name:
          description: The name of the retention filter.
          example: my retention filter
          type: string
        rate:
          description: 'Sample rate to apply to spans going through this retention filter.

            A value of 1.0 keeps all spans matching the query.'
          example: 1
          format: double
          type: number
        trace_rate:
          description: 'Sample rate to apply to traces containing spans going through this retention filter.

            A value of 1.0 keeps all traces with spans matching the query.'
          example: 1
          format: double
          type: number
      required:
      - name
      - filter
      - enabled
      - filter_type
      - rate
      type: object
    RetentionFilterAll:
      description: The definition of the retention filter.
      properties:
        attributes:
          $ref: '#/components/schemas/RetentionFilterAllAttributes'
        id:
          description: The ID of the retention filter.
          example: 7RBOb7dLSYWI01yc3pIH8w
          type: string
        type:
          $ref: '#/components/schemas/ApmRetentionFilterType'
      required:
      - id
      - type
      - attributes
      type: object
    RumRetentionFilterType:
      default: retention_filters
      description: The type of the resource. The value should always be retention_filters.
      enum:
      - retention_filters
      example: retention_filters
      type: string
      x-enum-varnames:
      - RETENTION_FILTERS
    RumRetentionFiltersOrderData:
      description: The RUM retention filter data for ordering.
      properties:
        id:
          $ref: '#/components/schemas/RumRetentionFilterID'
        type:
          $ref: '#/components/schemas/RumRetentionFilterType'
      required:
      - id
      - type
      type: object
    RumRetentionFiltersOrderResponse:
      description: The list of RUM retention filter IDs along with type.
      properties:
        data:
          description: A list of RUM retention filter IDs along with type.
          items:
            $ref: '#/components/schemas/RumRetentionFiltersOrderData'
          type: array
      type: object
    RumRetentionFilterUpdateAttributes:
      description: The object describing attributes of a RUM retention filter to update.
      properties:
        enabled:
          $ref: '#/components/schemas/RumRetentionFilterEnabled'
        event_type:
          $ref: '#/components/schemas/RumRetentionFilterEventType'
        name:
          $ref: '#/components/schemas/RunRetentionFilterName'
        query:
          $ref: '#/components/schemas/RumRetentionFilterQuery'
        sample_rate:
          $ref: '#/components/schemas/RumRetentionFilterSampleRate'
      type: object
    RumRetentionFilterQuery:
      description: The query string for a RUM retention filter.
      example: '@session.has_replay:true'
      type: string
    RetentionFilterAllType:
      default: spans-sampling-processor
      description: The type of retention filter.
      enum:
      - spans-sampling-processor
      - spans-errors-sampling-processor
      - spans-appsec-sampling-processor
      example: spans-sampling-processor
      type: string
      x-enum-varnames:
      - SPANS_SAMPLING_PROCESSOR
      - SPANS_ERRORS_SAMPLING_PROCESSOR
      - SPANS_APPSEC_SAMPLING_PROCESSOR
    APIErrorResponse:
      description: API error response.
      properties:
        errors:
          description: A list of errors.
          example:
          - Bad Request
          items:
            description: A list of items.
            example: Bad Request
            type: string
          type: array
      required:
      - errors
      type: object
    RumRetentionFilterCreateRequest:
      description: The RUM retention filter body to create.
      properties:
        data:
          $ref: '#/components/schemas/RumRetentionFilterCreateData'
      required:
      - data
      type: object
    ReorderRetentionFiltersRequest:
      description: A list of retention filters to reorder.
      properties:
        data:
          description: A list of retention filters objects.
          items:
            $ref: '#/components/schemas/RetentionFilterWithoutAttributes'
          type: array
      required:
      - data
      type: object
    RetentionFilterCreateRequest:
      description: The body of the retention filter to be created.
      properties:
        data:
          $ref: '#/components/schemas/RetentionFilterCreateData'
      required:
      - data
      type: object
    RetentionFilterWithoutAttributes:
      description: The retention filter object .
      properties:
        id:
          description: The ID of the retention filter.
          example: 7RBOb7dLSYWI01yc3pIH8w
          type: string
        type:
          $ref: '#/components/schemas/ApmRetentionFilterType'
      required:
      - id
      - type
      type: object
    RumRetentionFilterEventType:
      description: The type of RUM events to filter on.
      enum:
      - session
      - view
      - action
      - error
      - resource
      - long_task
      - vital
      example: session
      type: string
      x-enum-varnames:
      - SESSION
      - VIEW
      - ACTION
      - ERROR
      - RESOURCE
      - LONG_TASK
      - VITAL
    RetentionFilterResponse:
      description: The retention filters definition.
      properties:
        data:
          $ref: '#/components/schemas/RetentionFilterAll'
      type: object
    RetentionFilter:
      description: The definition of the retention filter.
      properties:
        attributes:
          $ref: '#/components/schemas/RetentionFilterAttributes'
        id:
          description: The ID of the retention filter.
          example: 7RBOb7dLSYWI01yc3pIH8w
          type: string
        type:
          $ref: '#/components/schemas/ApmRetentionFilterType'
      required:
      - id
      - type
      - attributes
      type: object
    RetentionFilterCreateData:
      description: The body of the retention filter to be created.
      properties:
        attributes:
          $ref: '#/components/schemas/RetentionFilterCreateAttributes'
        type:
          $ref: '#/components/schemas/ApmRetentionFilterType'
      required:
      - attributes
      - type
      type: object
    RumRetentionFilterCreateData:
      description: The new RUM retention filter properties to create.
      properties:
        attributes:
          $ref: '#/components/schemas/RumRetentionFilterCreateAttributes'
        type:
          $ref: '#/components/schemas/RumRetentionFilterType'
      required:
      - type
      - attributes
      type: object
    RumRetentionFilterSampleRate:
      description: The sample rate for a RUM retention filter, between 0 and 100.
      example: 25
      format: int64
      maximum: 100
      minimum: 0
      type: integer
    RetentionFilterUpdateData:
      description: The body of the retention filter to be updated.
      properties:
        attributes:
          $ref: '#/components/schemas/RetentionFilterUpdateAttributes'
        id:
          description: The ID of the retention filter.
          example: retention-filter-id
          type: string
        type:
          $ref: '#/components/schemas/ApmRetentionFilterType'
      required:
      - id
      - attributes
      - type
      type: object
    RetentionFilterAllAttributes:
      description: The attributes of the retention filter.
      properties:
        created_at:
          description: The creation timestamp of the retention filter.
          format: int64
          type: integer
          example: 42
        created_by:
          description: The creator of the retention filter.
          type: string
          example: example_value
        editable:
          description: Shows whether the filter can be edited.
          example: true
          type: boolean
        enabled:
          description: The status of the retention filter (Enabled/Disabled).
          example: true
          type: boolean
        execution_order:
          description: The execution order of the retention filter.
          format: int64
          type: integer
          example: 42
        filter:
          $ref: '#/components/schemas/SpansFilter'
        filter_type:
          $ref: '#/components/schemas/RetentionFilterAllType'
        modified_at:
          description: The modification timestamp of the retention filter.
          format: int64
          type: integer
          example: 42
        modified_by:
          description: The modifier of the retention filter.
          type: string
          example: example_value
        name:
          description: The name of the retention filter.
          example: my retention filter
          type: string
        rate:
          description: 'Sample rate to apply to spans going through this retention filter.

            A value of 1.0 keeps all spans matching the query.'
          example: 1
          format: double
          type: number
        trace_rate:
          description: 'Sample rate to apply to traces containing spans going through this retention filter.

            A value of 1.0 keeps all traces with spans matching the query.'
          example: 1
          format: double
          type: number
      type: object
    RunRetentionFilterName:
      description: The name of a RUM retention filter.
      example: Retention filter for session
      type: string
    RumRetentionFiltersOrderRequest:
      description: 'The list of RUM retention filter IDs along with their corresponding type to reorder.

        All retention filter IDs should be included in the list created for a RUM application.'
      properties:
        data:
          description: A list of RUM retention filter IDs along with type.
          items:
            $ref: '#/components/schemas/RumRetentionFiltersOrderData'
          type: array
      type: object
    RumRetentionFilterID:
      description: ID of retention filter in UUID.
      example: 051601eb-54a0-abc0-03f9-cc02efa18892
      type: string
    RetentionFilterUpdateAttributes:
      description: The object describing the configuration of the retention filter to create/update.
      properties:
        enabled:
          description: Enable/Disable the retention filter.
          example: true
          type: boolean
        filter:
          $ref: '#/components/schemas/SpansFilterCreate'
        filter_type:
          $ref: '#/components/schemas/RetentionFilterAllType'
        name:
          description: The name of the retention filter.
          example: my retention filter
          type: string
        rate:
          description: 'Sample rate to apply to spans going through this retention filter.

            A value of 1.0 keeps all spans matching the query.'
          example: 1
          format: double
          type: number
        trace_rate:
          description: 'Sample rate to apply to traces containing spans going through this retention filter.

            A value of 1.0 keeps all traces with spans matching the query.'
          example: 1
          format: double
          type: number
      required:
      - name
      - filter
      - enabled
      - filter_type
      - rate
      type: object
    RetentionFilterAttributes:
      description: The attributes of the retention filter.
      properties:
        created_at:
          description: The creation timestamp of the retention filter.
          format: int64
          type: integer
          example: 42
        created_by:
          description: The creator of the retention filter.
          type: string
          example: example_value
        editable:
          description: Shows whether the filter can be edited.
          example: true
          type: boolean
        enabled:
          description: The status of the retention filter (Enabled/Disabled).
          example: true
          type: boolean
        execution_order:
          description: The execution order of the retention filter.
          format: int64
          type: integer
          example: 42
        filter:
          $ref: '#/components/schemas/SpansFilter'
        filter_type:
          $ref: '#/components/schemas/RetentionFilterType'
        modified_at:
          description: The modification timestamp of the retention filter.
          format: int64
          type: integer
          example: 42
        modified_by:
          description: The modifier of the retention filter.
          type: string
          example: example_value
        name:
          description: The name of the retention filter.
          example: my retention filter
          type: string
        rate:
          description: 'Sample rate to apply to spans going through this retention filter.

            A value of 1.0 keeps all spans matching the query.'
          example: 1
          format: double
          type: number
        trace_rate:
          description: 'Sample rate to apply to traces containing spans going through this retention filter.

            A value of 1.0 keeps all traces with spans matching the query.'
          example: 1
          format: double
          type: number
      type: object
    RumRetentionFilterUpdateRequest:
      description: The RUM retention filter body to update.
      properties:
        data:
          $ref: '#/components/schemas/RumRetentionFilterUpdateData'
      required:
      - data
      type: object
    RumRetentionFilterData:
      description: The RUM retention filter.
      properties:
        attributes:
          $ref: '#/components/schemas/RumRetentionFilterAttributes'
        id:
          $ref: '#/components/schemas/RumRetentionFilterID'
        type:
          $ref: '#/components/schemas/RumRetentionFilterType'
      type: object
    RumRetentionFilterAttributes:
      description: The object describing attributes of a RUM retention filter.
      properties:
        enabled:
          $ref: '#/components/schemas/RumRetentionFilterEnabled'
        event_type:
          $ref: '#/components/schemas/RumRetentionFilterEventType'
        name:
          $ref: '#/components/schemas/RunRetentionFilterName'
        query:
          $ref: '#/components/schemas/RumRetentionFilterQuery'
        sample_rate:
          $ref: '#/components/schemas/RumRetentionFilterSampleRate'
      type: object
    ApmRetentionFilterType:
      default: apm_retention_filter
      description: The type of the resource.
      enum:
      - apm_retention_filter
      example: apm_retention_filter
      type: string
      x-enum-varnames:
      - apm_retention_filter
    RetentionFiltersResponse:
      description: An ordered list of retention filters.
      properties:
        data:
          description: A list of retention filters objects.
          items:
            $ref: '#/components/schemas/RetentionFilt

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/openapi/datadog-retention-api-openapi.yml