@@ -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
@@ -59796,6 +59810,221 @@ components:
5979659810 $ref: "#/components/schemas/RumMetricResponseData"
5979759811 type: array
5979859812 type: object
59813+ RumPermanentCrossProductSampling:
59814+ description: Cross-product retention settings for a permanent retention filter.
59815+ properties:
59816+ session_replay_enabled:
59817+ description: Indicates whether Session Replay cross-product retention is active. Read-only.
59818+ example: true
59819+ type: boolean
59820+ session_replay_sample_rate:
59821+ description: Percentage (0–100) of retained sessions (with an ingested replay) whose replay is kept.
59822+ example: 75.0
59823+ format: double
59824+ maximum: 100
59825+ minimum: 0
59826+ type: number
59827+ trace_enabled:
59828+ description: Indicates whether Trace cross-product retention is active. Read-only.
59829+ example: true
59830+ type: boolean
59831+ trace_sample_rate:
59832+ description: Percentage (0–100) of retained sessions (with ingested traces) whose traces are indexed.
59833+ example: 25.0
59834+ format: double
59835+ maximum: 100
59836+ minimum: 0
59837+ type: number
59838+ type: object
59839+ RumPermanentCrossProductSamplingEditability:
59840+ description: Flags indicating which `cross_product_sampling` rates can be updated for this filter. Read-only.
59841+ properties:
59842+ session_replay_sample_rate:
59843+ description: If `true`, `cross_product_sampling.session_replay_sample_rate` can be updated on this filter.
59844+ example: true
59845+ type: boolean
59846+ trace_sample_rate:
59847+ description: If `true`, `cross_product_sampling.trace_sample_rate` can be updated on this filter.
59848+ example: true
59849+ type: boolean
59850+ type: object
59851+ RumPermanentCrossProductSamplingUpdate:
59852+ description: |-
59853+ Partial update of the cross-product sample rates for a permanent retention filter.
59854+ Only rates with a matching `cross_product_sampling_editability` flag set to `true` can be updated.
59855+ properties:
59856+ session_replay_sample_rate:
59857+ description: |-
59858+ Percentage (0–100) of retained sessions (with an ingested replay) whose replay is kept.
59859+ Omit to leave unchanged. Rejected if the filter's `cross_product_sampling_editability.session_replay_sample_rate` is `false`.
59860+ example: 75.0
59861+ format: double
59862+ maximum: 100
59863+ minimum: 0
59864+ type: number
59865+ trace_sample_rate:
59866+ description: |-
59867+ Percentage (0–100) of retained sessions (with ingested traces) whose traces are indexed.
59868+ Omit to leave unchanged. Rejected if the filter's `cross_product_sampling_editability.trace_sample_rate` is `false`.
59869+ example: 25.0
59870+ format: double
59871+ maximum: 100
59872+ minimum: 0
59873+ type: number
59874+ type: object
59875+ RumPermanentRetentionFilterAttributes:
59876+ description: The attributes of a permanent retention filter.
59877+ properties:
59878+ cross_product_sampling:
59879+ $ref: "#/components/schemas/RumPermanentCrossProductSampling"
59880+ cross_product_sampling_editability:
59881+ $ref: "#/components/schemas/RumPermanentCrossProductSamplingEditability"
59882+ enabled:
59883+ $ref: "#/components/schemas/RumPermanentRetentionFilterEnabled"
59884+ event_type:
59885+ $ref: "#/components/schemas/RumPermanentRetentionFilterEventType"
59886+ name:
59887+ $ref: "#/components/schemas/RumPermanentRetentionFilterName"
59888+ query:
59889+ $ref: "#/components/schemas/RumPermanentRetentionFilterQuery"
59890+ sample_rate:
59891+ $ref: "#/components/schemas/RumPermanentRetentionFilterSampleRate"
59892+ type: object
59893+ RumPermanentRetentionFilterData:
59894+ description: A permanent retention filter.
59895+ properties:
59896+ attributes:
59897+ $ref: "#/components/schemas/RumPermanentRetentionFilterAttributes"
59898+ id:
59899+ $ref: "#/components/schemas/RumPermanentRetentionFilterID"
59900+ meta:
59901+ $ref: "#/components/schemas/RumPermanentRetentionFilterMeta"
59902+ type:
59903+ $ref: "#/components/schemas/RumPermanentRetentionFilterType"
59904+ type: object
59905+ RumPermanentRetentionFilterEnabled:
59906+ description: Indicates whether the permanent retention filter is active. Read-only.
59907+ example: true
59908+ type: boolean
59909+ RumPermanentRetentionFilterEventType:
59910+ description: The type of RUM events the filter applies to. Read-only.
59911+ enum:
59912+ - session
59913+ - view
59914+ - action
59915+ - error
59916+ - resource
59917+ - long_task
59918+ - vital
59919+ - operation
59920+ example: "session"
59921+ type: string
59922+ x-enum-varnames:
59923+ - SESSION
59924+ - VIEW
59925+ - ACTION
59926+ - ERROR
59927+ - RESOURCE
59928+ - LONG_TASK
59929+ - VITAL
59930+ - OPERATION
59931+ RumPermanentRetentionFilterID:
59932+ description: Permanent retention filter ID.
59933+ example: "4b95d361-f65d-4515-9824-c9aaeba5ac2a"
59934+ type: string
59935+ RumPermanentRetentionFilterMeta:
59936+ description: Metadata about the permanent retention filter.
59937+ properties:
59938+ source:
59939+ $ref: "#/components/schemas/RumPermanentRetentionFilterMetaSource"
59940+ updated_at:
59941+ description: Unix epoch (in milliseconds) of the last update.
59942+ example: 1735689600000
59943+ format: int64
59944+ type: integer
59945+ updated_by_handle:
59946+ description: Handle of the user who last updated the filter.
59947+ example: "jane.doe@example.com"
59948+ type: string
59949+ type: object
59950+ RumPermanentRetentionFilterMetaSource:
59951+ description: The source of the last update to a permanent retention filter.
59952+ enum:
59953+ - default
59954+ - ui
59955+ - terraform
59956+ example: "default"
59957+ type: string
59958+ x-enum-varnames:
59959+ - DEFAULT
59960+ - UI
59961+ - TERRAFORM
59962+ RumPermanentRetentionFilterName:
59963+ description: The name of a permanent retention filter. Read-only.
59964+ example: "Preconfigured permanent retention filter"
59965+ type: string
59966+ RumPermanentRetentionFilterQuery:
59967+ description: The query string for a permanent retention filter. Read-only.
59968+ example: "@type:session"
59969+ type: string
59970+ RumPermanentRetentionFilterResponse:
59971+ description: A permanent retention filter response body.
59972+ properties:
59973+ data:
59974+ $ref: "#/components/schemas/RumPermanentRetentionFilterData"
59975+ type: object
59976+ RumPermanentRetentionFilterSampleRate:
59977+ description: The retention sample rate for a permanent retention filter, from 0 to 100. Read-only.
59978+ example: 100.0
59979+ format: double
59980+ maximum: 100
59981+ minimum: 0
59982+ type: number
59983+ RumPermanentRetentionFilterType:
59984+ default: permanent_retention_filters
59985+ description: The resource type. The value must be `permanent_retention_filters`.
59986+ enum:
59987+ - permanent_retention_filters
59988+ example: permanent_retention_filters
59989+ type: string
59990+ x-enum-varnames: ["PERMANENT_RETENTION_FILTERS"]
59991+ RumPermanentRetentionFilterUpdateAttributes:
59992+ description: The attributes of a permanent retention filter that can be updated.
59993+ properties:
59994+ cross_product_sampling:
59995+ $ref: "#/components/schemas/RumPermanentCrossProductSamplingUpdate"
59996+ type: object
59997+ RumPermanentRetentionFilterUpdateData:
59998+ description: The permanent retention filter properties to update.
59999+ properties:
60000+ attributes:
60001+ $ref: "#/components/schemas/RumPermanentRetentionFilterUpdateAttributes"
60002+ id:
60003+ $ref: "#/components/schemas/RumPermanentRetentionFilterID"
60004+ type:
60005+ $ref: "#/components/schemas/RumPermanentRetentionFilterType"
60006+ required:
60007+ - id
60008+ - type
60009+ - attributes
60010+ type: object
60011+ RumPermanentRetentionFilterUpdateRequest:
60012+ description: The permanent retention filter body to update.
60013+ properties:
60014+ data:
60015+ $ref: "#/components/schemas/RumPermanentRetentionFilterUpdateData"
60016+ required:
60017+ - data
60018+ type: object
60019+ RumPermanentRetentionFiltersResponse:
60020+ description: All permanent retention filters for a RUM application.
60021+ properties:
60022+ data:
60023+ description: A list of RUM permanent retention filters.
60024+ items:
60025+ $ref: "#/components/schemas/RumPermanentRetentionFilterData"
60026+ type: array
60027+ type: object
5979960028 RumRetentionFilterAttributes:
5980060029 description: The object describing attributes of a RUM retention filter.
5980160030 properties:
@@ -115800,6 +116029,97 @@ paths:
115800116029 operator: OR
115801116030 permissions:
115802116031 - rum_apps_write
116032+ /api/v2/rum/applications/{app_id}/permanent_retention_filters:
116033+ get:
116034+ description: Get the list of permanent retention filters for a RUM application.
116035+ operationId: ListPermanentRetentionFilters
116036+ parameters:
116037+ - $ref: "#/components/parameters/RumPermanentRetentionFilterApplicationIDParameter"
116038+ responses:
116039+ "200":
116040+ content:
116041+ application/json:
116042+ schema:
116043+ $ref: "#/components/schemas/RumPermanentRetentionFiltersResponse"
116044+ description: OK
116045+ "403":
116046+ $ref: "#/components/responses/NotAuthorizedResponse"
116047+ "429":
116048+ $ref: "#/components/responses/TooManyRequestsResponse"
116049+ summary: Get all permanent retention filters
116050+ tags:
116051+ - Rum Permanent Retention Filters
116052+ /api/v2/rum/applications/{app_id}/permanent_retention_filters/{rf_id}:
116053+ get:
116054+ description: Get a single permanent retention filter for a RUM application.
116055+ operationId: GetPermanentRetentionFilter
116056+ parameters:
116057+ - $ref: "#/components/parameters/RumPermanentRetentionFilterApplicationIDParameter"
116058+ - $ref: "#/components/parameters/RumPermanentRetentionFilterIDParameter"
116059+ responses:
116060+ "200":
116061+ content:
116062+ application/json:
116063+ schema:
116064+ $ref: "#/components/schemas/RumPermanentRetentionFilterResponse"
116065+ description: OK
116066+ "403":
116067+ $ref: "#/components/responses/NotAuthorizedResponse"
116068+ "404":
116069+ $ref: "#/components/responses/NotFoundResponse"
116070+ "429":
116071+ $ref: "#/components/responses/TooManyRequestsResponse"
116072+ summary: Get a permanent retention filter
116073+ tags:
116074+ - Rum Permanent Retention Filters
116075+ patch:
116076+ description: |-
116077+ Update the cross-product sample rates of a permanent retention filter for a RUM application.
116078+ Only `cross_product_sampling.session_replay_sample_rate` and `cross_product_sampling.trace_sample_rate` can be updated,
116079+ and only when the matching flag in `cross_product_sampling_editability` is `true` on the filter.
116080+ Any other field — including `name`, `event_type`, `query`, `sample_rate`, `enabled`, `session_replay_enabled`,
116081+ `trace_enabled`, and `cross_product_sampling_editability` — is read-only and cannot be sent in the payload.
116082+ Returns the updated permanent retention filter when the request is successful.
116083+ operationId: UpdatePermanentRetentionFilter
116084+ parameters:
116085+ - $ref: "#/components/parameters/RumPermanentRetentionFilterApplicationIDParameter"
116086+ - $ref: "#/components/parameters/RumPermanentRetentionFilterIDParameter"
116087+ requestBody:
116088+ content:
116089+ application/json:
116090+ examples:
116091+ default:
116092+ value:
116093+ data:
116094+ attributes:
116095+ cross_product_sampling:
116096+ session_replay_sample_rate: 75.0
116097+ trace_sample_rate: 25.0
116098+ id: 4b95d361-f65d-4515-9824-c9aaeba5ac2a
116099+ type: permanent_retention_filters
116100+ schema:
116101+ $ref: "#/components/schemas/RumPermanentRetentionFilterUpdateRequest"
116102+ description: New cross-product sample rates for the permanent retention filter.
116103+ required: true
116104+ responses:
116105+ "200":
116106+ content:
116107+ application/json:
116108+ schema:
116109+ $ref: "#/components/schemas/RumPermanentRetentionFilterResponse"
116110+ description: Updated
116111+ "400":
116112+ $ref: "#/components/responses/BadRequestResponse"
116113+ "403":
116114+ $ref: "#/components/responses/NotAuthorizedResponse"
116115+ "404":
116116+ $ref: "#/components/responses/NotFoundResponse"
116117+ "429":
116118+ $ref: "#/components/responses/TooManyRequestsResponse"
116119+ summary: Update a permanent retention filter
116120+ tags:
116121+ - Rum Permanent Retention Filters
116122+ x-codegen-request-body-name: body
115803116123 /api/v2/rum/applications/{app_id}/relationships/retention_filters:
115804116124 patch:
115805116125 description: |-
@@ -133318,6 +133638,15 @@ tags:
133318133638 description: Find out more at
133319133639 url: https://docs.datadoghq.com/real_user_monitoring/platform/generate_metrics/
133320133640 name: Rum Metrics
133641+ - description: |-
133642+ Manage permanent retention filters through [Manage Applications](https://app.datadoghq.com/rum/list) in RUM for your organization.
133643+
133644+ Permanent retention filters are preconfigured filters that ship with each RUM application.
133645+ They cannot be created, deleted, or reordered. Their identity (`name`, `event_type`, `query`, `sample_rate`, `enabled`)
133646+ and cross-product enabled flags (`session_replay_enabled`, `trace_enabled`) are fixed.
133647+ You can adjust only the cross-product sample rates (`session_replay_sample_rate`, `trace_sample_rate`),
133648+ and only when the corresponding editability flag is `true`.
133649+ name: Rum Permanent Retention Filters
133321133650 - description: Manage heatmap snapshots for RUM replay sessions. Create, update, delete, and retrieve snapshots to visualize user interactions on specific views.
133322133651 name: Rum Replay Heatmaps
133323133652 - description: Create and manage playlists of RUM replay sessions. Organize, categorize, and share collections of replay sessions for analysis and collaboration.
0 commit comments