@@ -1350,6 +1350,20 @@ components:
13501350 required: true
13511351 schema:
13521352 type: string
1353+ RumPermanentRetentionFilterApplicationIDParameter:
1354+ description: RUM application ID.
1355+ in: path
1356+ name: app_id
1357+ required: true
1358+ schema:
1359+ type: string
1360+ RumPermanentRetentionFilterIDParameter:
1361+ description: Permanent retention filter ID.
1362+ in: path
1363+ name: rf_id
1364+ required: true
1365+ schema:
1366+ type: string
13531367 RumRetentionFilterIDParameter:
13541368 description: Retention filter ID.
13551369 in: path
@@ -60288,6 +60302,221 @@ components:
6028860302 $ref: "#/components/schemas/RumMetricResponseData"
6028960303 type: array
6029060304 type: object
60305+ RumPermanentCrossProductSampling:
60306+ description: Cross-product retention settings for a permanent retention filter.
60307+ properties:
60308+ session_replay_enabled:
60309+ description: Indicates whether Session Replay cross-product retention is active. Read-only.
60310+ example: true
60311+ type: boolean
60312+ session_replay_sample_rate:
60313+ description: Percentage (0–100) of retained sessions (with an ingested replay) whose replay is kept.
60314+ example: 75.0
60315+ format: double
60316+ maximum: 100
60317+ minimum: 0
60318+ type: number
60319+ trace_enabled:
60320+ description: Indicates whether Trace cross-product retention is active. Read-only.
60321+ example: true
60322+ type: boolean
60323+ trace_sample_rate:
60324+ description: Percentage (0–100) of retained sessions (with ingested traces) whose traces are indexed.
60325+ example: 25.0
60326+ format: double
60327+ maximum: 100
60328+ minimum: 0
60329+ type: number
60330+ type: object
60331+ RumPermanentCrossProductSamplingEditability:
60332+ description: Flags indicating which `cross_product_sampling` rates can be updated for this filter. Read-only.
60333+ properties:
60334+ session_replay_sample_rate:
60335+ description: If `true`, `cross_product_sampling.session_replay_sample_rate` can be updated on this filter.
60336+ example: true
60337+ type: boolean
60338+ trace_sample_rate:
60339+ description: If `true`, `cross_product_sampling.trace_sample_rate` can be updated on this filter.
60340+ example: true
60341+ type: boolean
60342+ type: object
60343+ RumPermanentCrossProductSamplingUpdate:
60344+ description: |-
60345+ Partial update of the cross-product sample rates for a permanent retention filter.
60346+ Only rates with a matching `cross_product_sampling_editability` flag set to `true` can be updated.
60347+ properties:
60348+ session_replay_sample_rate:
60349+ description: |-
60350+ Percentage (0–100) of retained sessions (with an ingested replay) whose replay is kept.
60351+ Omit to leave unchanged. Rejected if the filter's `cross_product_sampling_editability.session_replay_sample_rate` is `false`.
60352+ example: 75.0
60353+ format: double
60354+ maximum: 100
60355+ minimum: 0
60356+ type: number
60357+ trace_sample_rate:
60358+ description: |-
60359+ Percentage (0–100) of retained sessions (with ingested traces) whose traces are indexed.
60360+ Omit to leave unchanged. Rejected if the filter's `cross_product_sampling_editability.trace_sample_rate` is `false`.
60361+ example: 25.0
60362+ format: double
60363+ maximum: 100
60364+ minimum: 0
60365+ type: number
60366+ type: object
60367+ RumPermanentRetentionFilterAttributes:
60368+ description: The attributes of a permanent retention filter.
60369+ properties:
60370+ cross_product_sampling:
60371+ $ref: "#/components/schemas/RumPermanentCrossProductSampling"
60372+ cross_product_sampling_editability:
60373+ $ref: "#/components/schemas/RumPermanentCrossProductSamplingEditability"
60374+ enabled:
60375+ $ref: "#/components/schemas/RumPermanentRetentionFilterEnabled"
60376+ event_type:
60377+ $ref: "#/components/schemas/RumPermanentRetentionFilterEventType"
60378+ name:
60379+ $ref: "#/components/schemas/RumPermanentRetentionFilterName"
60380+ query:
60381+ $ref: "#/components/schemas/RumPermanentRetentionFilterQuery"
60382+ sample_rate:
60383+ $ref: "#/components/schemas/RumPermanentRetentionFilterSampleRate"
60384+ type: object
60385+ RumPermanentRetentionFilterData:
60386+ description: A permanent retention filter.
60387+ properties:
60388+ attributes:
60389+ $ref: "#/components/schemas/RumPermanentRetentionFilterAttributes"
60390+ id:
60391+ $ref: "#/components/schemas/RumPermanentRetentionFilterID"
60392+ meta:
60393+ $ref: "#/components/schemas/RumPermanentRetentionFilterMeta"
60394+ type:
60395+ $ref: "#/components/schemas/RumPermanentRetentionFilterType"
60396+ type: object
60397+ RumPermanentRetentionFilterEnabled:
60398+ description: Indicates whether the permanent retention filter is active. Read-only.
60399+ example: true
60400+ type: boolean
60401+ RumPermanentRetentionFilterEventType:
60402+ description: The type of RUM events the filter applies to. Read-only.
60403+ enum:
60404+ - session
60405+ - view
60406+ - action
60407+ - error
60408+ - resource
60409+ - long_task
60410+ - vital
60411+ - operation
60412+ example: "session"
60413+ type: string
60414+ x-enum-varnames:
60415+ - SESSION
60416+ - VIEW
60417+ - ACTION
60418+ - ERROR
60419+ - RESOURCE
60420+ - LONG_TASK
60421+ - VITAL
60422+ - OPERATION
60423+ RumPermanentRetentionFilterID:
60424+ description: Permanent retention filter ID.
60425+ example: "4b95d361-f65d-4515-9824-c9aaeba5ac2a"
60426+ type: string
60427+ RumPermanentRetentionFilterMeta:
60428+ description: Metadata about the permanent retention filter.
60429+ properties:
60430+ source:
60431+ $ref: "#/components/schemas/RumPermanentRetentionFilterMetaSource"
60432+ updated_at:
60433+ description: Unix epoch (in milliseconds) of the last update.
60434+ example: 1735689600000
60435+ format: int64
60436+ type: integer
60437+ updated_by_handle:
60438+ description: Handle of the user who last updated the filter.
60439+ example: "jane.doe@example.com"
60440+ type: string
60441+ type: object
60442+ RumPermanentRetentionFilterMetaSource:
60443+ description: The source of the last update to a permanent retention filter.
60444+ enum:
60445+ - default
60446+ - ui
60447+ - terraform
60448+ example: "default"
60449+ type: string
60450+ x-enum-varnames:
60451+ - DEFAULT
60452+ - UI
60453+ - TERRAFORM
60454+ RumPermanentRetentionFilterName:
60455+ description: The name of a permanent retention filter. Read-only.
60456+ example: "Preconfigured permanent retention filter"
60457+ type: string
60458+ RumPermanentRetentionFilterQuery:
60459+ description: The query string for a permanent retention filter. Read-only.
60460+ example: "@type:session"
60461+ type: string
60462+ RumPermanentRetentionFilterResponse:
60463+ description: A permanent retention filter response body.
60464+ properties:
60465+ data:
60466+ $ref: "#/components/schemas/RumPermanentRetentionFilterData"
60467+ type: object
60468+ RumPermanentRetentionFilterSampleRate:
60469+ description: The retention sample rate for a permanent retention filter, from 0 to 100. Read-only.
60470+ example: 100.0
60471+ format: double
60472+ maximum: 100
60473+ minimum: 0
60474+ type: number
60475+ RumPermanentRetentionFilterType:
60476+ default: permanent_retention_filters
60477+ description: The resource type. The value must be `permanent_retention_filters`.
60478+ enum:
60479+ - permanent_retention_filters
60480+ example: permanent_retention_filters
60481+ type: string
60482+ x-enum-varnames: ["PERMANENT_RETENTION_FILTERS"]
60483+ RumPermanentRetentionFilterUpdateAttributes:
60484+ description: The attributes of a permanent retention filter that can be updated.
60485+ properties:
60486+ cross_product_sampling:
60487+ $ref: "#/components/schemas/RumPermanentCrossProductSamplingUpdate"
60488+ type: object
60489+ RumPermanentRetentionFilterUpdateData:
60490+ description: The permanent retention filter properties to update.
60491+ properties:
60492+ attributes:
60493+ $ref: "#/components/schemas/RumPermanentRetentionFilterUpdateAttributes"
60494+ id:
60495+ $ref: "#/components/schemas/RumPermanentRetentionFilterID"
60496+ type:
60497+ $ref: "#/components/schemas/RumPermanentRetentionFilterType"
60498+ required:
60499+ - id
60500+ - type
60501+ - attributes
60502+ type: object
60503+ RumPermanentRetentionFilterUpdateRequest:
60504+ description: The permanent retention filter body to update.
60505+ properties:
60506+ data:
60507+ $ref: "#/components/schemas/RumPermanentRetentionFilterUpdateData"
60508+ required:
60509+ - data
60510+ type: object
60511+ RumPermanentRetentionFiltersResponse:
60512+ description: All permanent retention filters for a RUM application.
60513+ properties:
60514+ data:
60515+ description: A list of RUM permanent retention filters.
60516+ items:
60517+ $ref: "#/components/schemas/RumPermanentRetentionFilterData"
60518+ type: array
60519+ type: object
6029160520 RumRetentionFilterAttributes:
6029260521 description: The object describing attributes of a RUM retention filter.
6029360522 properties:
@@ -117003,6 +117232,97 @@ paths:
117003117232 operator: OR
117004117233 permissions:
117005117234 - rum_apps_write
117235+ /api/v2/rum/applications/{app_id}/permanent_retention_filters:
117236+ get:
117237+ description: Get the list of permanent retention filters for a RUM application.
117238+ operationId: ListPermanentRetentionFilters
117239+ parameters:
117240+ - $ref: "#/components/parameters/RumPermanentRetentionFilterApplicationIDParameter"
117241+ responses:
117242+ "200":
117243+ content:
117244+ application/json:
117245+ schema:
117246+ $ref: "#/components/schemas/RumPermanentRetentionFiltersResponse"
117247+ description: OK
117248+ "403":
117249+ $ref: "#/components/responses/NotAuthorizedResponse"
117250+ "429":
117251+ $ref: "#/components/responses/TooManyRequestsResponse"
117252+ summary: Get all permanent retention filters
117253+ tags:
117254+ - Rum Permanent Retention Filters
117255+ /api/v2/rum/applications/{app_id}/permanent_retention_filters/{rf_id}:
117256+ get:
117257+ description: Get a single permanent retention filter for a RUM application.
117258+ operationId: GetPermanentRetentionFilter
117259+ parameters:
117260+ - $ref: "#/components/parameters/RumPermanentRetentionFilterApplicationIDParameter"
117261+ - $ref: "#/components/parameters/RumPermanentRetentionFilterIDParameter"
117262+ responses:
117263+ "200":
117264+ content:
117265+ application/json:
117266+ schema:
117267+ $ref: "#/components/schemas/RumPermanentRetentionFilterResponse"
117268+ description: OK
117269+ "403":
117270+ $ref: "#/components/responses/NotAuthorizedResponse"
117271+ "404":
117272+ $ref: "#/components/responses/NotFoundResponse"
117273+ "429":
117274+ $ref: "#/components/responses/TooManyRequestsResponse"
117275+ summary: Get a permanent retention filter
117276+ tags:
117277+ - Rum Permanent Retention Filters
117278+ patch:
117279+ description: |-
117280+ Update the cross-product sample rates of a permanent retention filter for a RUM application.
117281+ Only `cross_product_sampling.session_replay_sample_rate` and `cross_product_sampling.trace_sample_rate` can be updated,
117282+ and only when the matching flag in `cross_product_sampling_editability` is `true` on the filter.
117283+ Any other field, including `name`, `event_type`, `query`, `sample_rate`, `enabled`, `session_replay_enabled`,
117284+ `trace_enabled`, and `cross_product_sampling_editability`, is read-only and cannot be sent in the payload.
117285+ Returns the updated permanent retention filter when the request is successful.
117286+ operationId: UpdatePermanentRetentionFilter
117287+ parameters:
117288+ - $ref: "#/components/parameters/RumPermanentRetentionFilterApplicationIDParameter"
117289+ - $ref: "#/components/parameters/RumPermanentRetentionFilterIDParameter"
117290+ requestBody:
117291+ content:
117292+ application/json:
117293+ examples:
117294+ default:
117295+ value:
117296+ data:
117297+ attributes:
117298+ cross_product_sampling:
117299+ session_replay_sample_rate: 75.0
117300+ trace_sample_rate: 25.0
117301+ id: 4b95d361-f65d-4515-9824-c9aaeba5ac2a
117302+ type: permanent_retention_filters
117303+ schema:
117304+ $ref: "#/components/schemas/RumPermanentRetentionFilterUpdateRequest"
117305+ description: New cross-product sample rates for the permanent retention filter.
117306+ required: true
117307+ responses:
117308+ "200":
117309+ content:
117310+ application/json:
117311+ schema:
117312+ $ref: "#/components/schemas/RumPermanentRetentionFilterResponse"
117313+ description: Updated
117314+ "400":
117315+ $ref: "#/components/responses/BadRequestResponse"
117316+ "403":
117317+ $ref: "#/components/responses/NotAuthorizedResponse"
117318+ "404":
117319+ $ref: "#/components/responses/NotFoundResponse"
117320+ "429":
117321+ $ref: "#/components/responses/TooManyRequestsResponse"
117322+ summary: Update a permanent retention filter
117323+ tags:
117324+ - Rum Permanent Retention Filters
117325+ x-codegen-request-body-name: body
117006117326 /api/v2/rum/applications/{app_id}/relationships/retention_filters:
117007117327 patch:
117008117328 description: |-
@@ -135172,6 +135492,15 @@ tags:
135172135492 description: Find out more at
135173135493 url: https://docs.datadoghq.com/real_user_monitoring/platform/generate_metrics/
135174135494 name: Rum Metrics
135495+ - description: |-
135496+ Manage permanent retention filters through [Manage Applications](https://app.datadoghq.com/rum/list) in RUM for your organization.
135497+
135498+ Permanent retention filters are preconfigured filters that ship with each RUM application.
135499+ They cannot be created, deleted, or reordered. Their identity (`name`, `event_type`, `query`, `sample_rate`, `enabled`)
135500+ and cross-product enabled flags (`session_replay_enabled`, `trace_enabled`) are fixed.
135501+ You can adjust only the cross-product sample rates (`session_replay_sample_rate`, `trace_sample_rate`),
135502+ and only when the corresponding editability flag is `true`.
135503+ name: Rum Permanent Retention Filters
135175135504 - description: Manage heatmap snapshots for RUM replay sessions. Create, update, delete, and retrieve snapshots to visualize user interactions on specific views.
135176135505 name: Rum Replay Heatmaps
135177135506 - description: Create and manage playlists of RUM replay sessions. Organize, categorize, and share collections of replay sessions for analysis and collaboration.
0 commit comments