Skip to content

Update part of a RUM application: settings merge into the stored ones, unknown keys are a 400; privacy, retention and network body or header changes need an admin. Publishes.

PATCH
/rum/{app_id}
curl --request PATCH \
--url https://api.siteqwality.com/rum/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "domain": "example", "settings": "example", "allowed_origins": [ "example" ], "replay_monthly_target": 1 }'
app_id
required
string format: uuid

RUM application identifier

Media type application/json

Body of PATCH /rum/{app_id}. Everything is optional; what is left out keeps its value.

object
name
string | null
domain

null clears the domain; leaving the field out keeps it.

string | null
settings

Any subset of the settings: objects merge, others replace, null sets a nullable key. Unknown keys are a 400; privacy, retention and body or header capture need an admin.

object | null
allowed_origins

Origins allowed to send data (https://app.example.com, https://*.example.com, example.com), at most 100. Empty allows all.

array | null
replay_monthly_target

Monthly replay target for Auto sampling; null clears it.

integer | null format: int32
Example generated
{
"name": "example",
"domain": "example",
"settings": "example",
"allowed_origins": [
"example"
],
"replay_monthly_target": 1
}

RUM application updated

Media type application/json
object
id
required
string format: uuid
account_id
required
string format: uuid
name
required
string
domain
string | null
client_token
required
string
settings
required
object
privacy
object
mask_inputs

Mask the value of every form input before it leaves the browser. Defaults to ON.

boolean
mask_text

Mask all user-visible page text. Defaults to OFF: a replay with every text node masked is unreadable, so this is opt-in. Anything the page renders is therefore recorded verbatim unless the customer turns this on, and every document that describes replay has to say so.

boolean
hide_action_text

Name clicks by tag and class only, never by element text. Defaults to OFF. When on, the ingestor also drops click names an SDK sends anyway.

boolean
level
One of:
null
mask_selectors
Array<string>
unmask_selectors
Array<string>
block_selectors
Array<string>
ignore_input_selectors
Array<string>
pii_patterns

Patterns scrubbed from page text and free text. None for legacy applications.

Array<string>
Allowed values: email card digits9
never_record_urls

URL patterns where replay pauses and Analyze events drop.

Array<string>
require_consent
boolean
honor_gpc

Treat Global Privacy Control as an opt-out. Off for legacy applications.

boolean
cookieless
boolean
capture_user_email

Keep the email passed to setUser. On by default.

boolean
retention

The customer’s own maximum retention for this application’s data, in days. Absent, and by default, means no limit beyond the account’s entitlement. See common::retention::ceiling: the entitlement is a MAX over the account’s packs, which makes every window a floor, and this is the only thing that lets a customer go below it.

object
observe_days

Caps rum_measures (RUM Observe), the 458-day table.

integer | null format: int32
analyze_days

Caps rum_events (RUM Analyze).

integer | null format: int32
session_replay_days

Replay retention ceiling, 7, 14 or 30 days, capped by the account entitlement.

integer | null format: int32
capture

Network, console, error and canvas capture (Wave 2). Omitted while default, like every Wave 2 key: see rum_settings.

object
network
One of:

Network request capture. Method, status, timing and sizes are always recorded; headers only when allowlisted, bodies only for matching URLs.

object
header_allowlist

Lower-case header names recorded on requests and responses.

Array<string>
default: content-type,x-request-id
body_urls

URL prefixes (a path on the page’s origin, or an http(s) URL) whose JSON or text bodies are recorded.

Array<string>
default:
trace_urls

URL prefixes, as body_urls, that receive a traceparent header.

Array<string>
default:
max_body_bytes

Body capture limit, at most [MAX_NETWORK_BODY_BYTES].

integer format: int32
default: 10240
console

Console levels recorded. Default: error and warn.

Array<string>
default: error,warn
Allowed values: error warn info log debug
errors
One of:

Error filters delivered to the SDK and applied again at ingest.

object
ignore

Message patterns whose errors are dropped.

Array<string>
default:
deny_urls

Script URL patterns: errors whose top in-app frame matches are dropped.

Array<string>
default:
console_errors_as_issues

Whether console.error calls also become issues.

boolean
canvas
One of:

Opt-in canvas recording (design 5.5, Phase 7).

object
enabled
boolean
selectors

Canvases recorded; empty means all.

Array<string>
default:
fps

Frames per second, 1 to 4.

integer format: int32
default: 2
quality

WebP quality, 0.2 to 0.8.

number format: double
default: 0.4
routes

Route rules applied at ingest before automatic id collapse.

Array<object>

A customer route rule: URLs matching pattern (/profiles/:id) get its route, named name when given.

object
pattern
required
string
name
string | null
issues

Issue lifecycle settings.

object
auto_resolve_days

Open issues with no events for this many days are resolved. null turns it off.

integer | null format: int32
default: 14
observe_sample_rate

Share of sessions that send Observe data, 0 to 1. Default 1.

number format: double
allow_requests_without_origin

Accept ingest requests without an Origin header (server-side senders).

boolean
resource_exclusions

Resource URLs not recorded as resource events: a path on the page’s origin (“/api/heartbeat”) or an absolute http(s) URL (“https://analytics.example.com”). At most 50.

Array<string>
frustration_ignore_selectors

CSS selectors whose clicks never count as rage or dead clicks, delivered to the SDK. Whitespace around each is trimmed and empty or repeated entries are dropped; then at most 50 remain, each up to 256 characters with no control characters, else the save is a 400.

Array<string>
allowed_origins
required

Origins allowed to send data; empty allows all.

Array<string>
replay_monthly_target

Monthly replay target that Auto sampling aims for, when set.

integer | null format: int32
config_revision
required

Revision of the published SDK config; increases on every settings or rule change.

integer format: int64
data_region
required

Where the application’s data is stored (us).

string
created_at
required
string format: date-time
updated_at
required
string format: date-time
Example
{
"settings": {
"privacy": {
"level": "strict",
"pii_patterns": [
"email"
]
},
"capture": {
"network": {
"body_urls": [],
"header_allowlist": [
"content-type",
"x-request-id"
],
"max_body_bytes": 10240,
"trace_urls": []
},
"console": [
"error",
"warn"
],
"errors": {
"console_errors_as_issues": false,
"deny_urls": [],
"ignore": []
},
"canvas": {
"enabled": false,
"fps": 2,
"quality": 0.4,
"selectors": []
}
},
"issues": {
"auto_resolve_days": 14
}
}
}

Invalid or unknown setting

Missing or invalid authentication

Privacy, retention, body_urls or header_allowlist changes need an account admin

Application not found

Internal server error

The SDK config could not be published; nothing was changed