Splunk Observability Cloud Synthetics Browser tests V2
V2 API for creating, updating, retrieving, and deleting Splunk Synthetic Monitoring Browser tests.
V2 API for creating, updating, retrieving, and deleting Splunk Synthetic Monitoring Browser tests.
openapi: 3.0.3
info:
title: Splunk Observability Cloud — Synthetics Browser tests V2
version: 1.0.0
description: 'V2 API for creating, updating, retrieving, and deleting Splunk Synthetic Monitoring Browser tests.
Browser steps that target DOM elements use a selectors array. Each entry has type and value keys (for example, [{"type":"css","value":".btn"}]).
The legacy selectorType and selector fields are not accepted on this API; use selectors instead.
Requirements
You must have an organization access token with the API permission or a session token endpoint.
You have to have the Splunk Observability Cloud admin or power role to use the POST /v2/tests/browser/try_now, POST /v2/tests/browser/validate,
PUT /v2/tests/browser/{id}/validate, POST /v2/tests/browser, PUT /v2/tests/browser/{id}, and DELETE /v2/tests/browser/{id}`
operations.
You have to have the Splunk Observability Cloud admin, power, or read_only role to use the GET /v2/tests/browser/{id}
operation.'
x-provenance:
method: reconstructed
authored_by: Splunk (content) / API Evangelist (assembly)
reconstructed_by: API Evangelist
reconstructed_on: '2026-08-19'
first_party: false
provider_published: false
note: Splunk's own OpenAPI objects, extracted from the React Server Component payload embedded in each of the 48 API reference
pages at dev.splunk.com. The operations and schemas are Splunk's; the assembly into standalone documents is API Evangelist's.
Splunk serves no fetchable spec file — dev.splunk.com answers 200 with an identical 6,638-byte shell for every asset
path, including invented control paths — so this is NOT first-party publication and is not graded as such.
x-evidence:
- type: source
url: https://dev.splunk.com/observability/reference/
- type: source
url: https://dev.splunk.com/observability/docs/apibasics/api_list/
servers:
- url: https://api.{REALM}.observability.splunkcloud.com/v2/synthetics
description: Splunk Synthetic Monitoring Browser tests V2 endpoint URL
variables:
REALM:
default: us0
description: Splunk Observability Cloud realm the organization is provisioned in (for example us0, us1, eu0, jp0, au0).
security:
- SessionToken: []
components:
securitySchemes:
SessionToken:
type: apiKey
in: header
name: X-SF-Token
description: Splunk Observability Cloud session token or org access token.
paths:
/v2/tests/browser:
post:
summary: createBrowserTest
description: Creates a new Browser test, based on the specifications in the request body.
parameters:
- name: Content-Type
in: header
description: Format of the request body. Always "application/json".
required: true
schema:
type: string
- name: X-SF-TOKEN
in: header
description: Authentication token.
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
test:
type: object
properties:
active:
type: boolean
default: true
example: true
description: Describes if the test is active.
automaticRetries:
type: integer
default: 0
example: 1
description: Automatically retry if the run fails
deviceId:
type: integer
format: int32
example: 1
description: The unique ID of the device.
locationIds:
type: array
items:
type: string
example:
- aws-us-east-1
title: LocationIds
description: An array of location IDs where the test runs.
name:
type: string
example: My Test
frequency:
type: integer
format: int32
example: 5
title: Frequency
description: How often to run your test.
schedulingStrategy:
type: string
example: round_robin
title: SchedulingStrategy
description: 'Type of scheduling strategy. This can only be:
round_robin
concurrent'
transactions:
type: array
items:
type: object
properties:
name:
type: string
example: Example transaction
steps:
type: array
required:
- type
- name
items:
anyOf:
- title: ElementStep
properties:
selectors:
type: array
minItems: 1
items:
type: object
required:
- type
- value
properties:
type:
type: string
example: css
enum:
- id
- name
- xpath
- css
- link
- jspath
value:
type: string
example: .main
description: Ordered list of locator strategies. The runner evaluates entries in order
until a match is found.
waitForNav:
type: boolean
example: true
title: WaitForNav
waitForNavTimeout:
type: integer
example: 2000
minimum: 0
maximum: 20000
title: WaitForNavTimeout
description: The duration of time in milliseconds to wait for a navigation event.
name:
type: string
example: element step
type:
type: string
example: click_element
enum:
- click_element
- clear_element
type: object
- title: EnterValueStep
properties:
selectors:
type: array
minItems: 1
items:
type: object
required:
- type
- value
properties:
type:
type: string
example: css
enum:
- id
- name
- xpath
- css
- link
- jspath
value:
type: string
example: .main
description: Ordered list of locator strategies. The runner evaluates entries in order
until a match is found.
value:
type: string
example: my value
name:
type: string
example: value step
type:
type: string
example: enter_value
enum:
- enter_value
waitForNav:
type: boolean
example: true
title: WaitForNav
waitForNavTimeout:
type: integer
example: 2000
minimum: 0
maximum: 20000
title: WaitForNavTimeout
description: The duration of time in milliseconds to wait for a navigation event.
type: object
- title: AssertElementStep
properties:
selectors:
type: array
minItems: 1
items:
type: object
required:
- type
- value
properties:
type:
type: string
example: css
enum:
- id
- name
- xpath
- css
- link
- jspath
value:
type: string
example: .main
description: Ordered list of locator strategies. The runner evaluates entries in order
until a match is found.
type:
type: string
example: assert_element_present
enum:
- assert_element_present
- assert_element_not_present
- assert_element_visible
- assert_element_not_visible
name:
type: string
example: assert element step
maxWaitTime:
type: integer
example: 1000
minimum: 0
maximum: 90000
default: 10000
title: MaxWaitTime
description: The duration of time in milliseconds to perform the action specified in the
type field. For example, a value of 1000 and type of assert_element_present will wait
1000 milliseconds for the element to be present.
type: object
- type: object
properties:
name:
type: string
example: dismiss alert step
type:
type: string
example: dismiss_alert
enum:
- accept_alert
- dismiss_alert
title: AlertStep
- type: object
properties:
type:
type: string
example: run_javascript
enum:
- run_javascript
value:
type: string
example: document.write('hello world')
waitForNav:
type: boolean
example: true
title: WaitForNav
waitForNavTimeout:
type: integer
example: 2000
minimum: 0
maximum: 20000
title: WaitForNavTimeout
description: The duration of time in milliseconds to wait for a navigation event.
name:
type: string
example: run javascript step
title: RunJavascript
- title: SelectOptionStep
properties:
selectors:
type: array
minItems: 1
items:
type: object
required:
- type
- value
properties:
type:
type: string
example: css
enum:
- id
- name
- xpath
- css
- link
- jspath
value:
type: string
example: .main
description: Ordered list of locator strategies. The runner evaluates entries in order
until a match is found.
optionSelectorType:
type: string
example: text
enum:
- index
- value
- text
optionSelector:
type: string
example: Option A
type:
type: string
example: select_option
enum:
- select_option
name:
type: string
example: select option step
waitForNav:
type: boolean
example: true
title: WaitForNav
waitForNavTimeout:
type: integer
example: 2000
minimum: 0
maximum: 20000
title: WaitForNavTimeout
description: The duration of time in milliseconds to wait for a navigation event.
type: object
- title: StoreVariableFromElement
properties:
selectors:
type: array
minItems: 1
items:
type: object
required:
- type
- value
properties:
type:
type: string
example: css
enum:
- id
- name
- xpath
- css
- link
- jspath
value:
type: string
example: .main
description: Ordered list of locator strategies. The runner evaluates entries in order
until a match is found.
type:
type: string
example: store_variable_from_element
enum:
- store_variable_from_element
name:
type: string
example: store variable from element step
variableName:
type: string
example: myVariable
type: object
- type: object
properties:
value:
type: string
example: foo
waitForNav:
type: boolean
example: true
title: WaitForNav
waitForNavTimeout:
type: integer
example: 2000
minimum: 0
maximum: 20000
title: WaitForNavTimeout
description: The duration of time in milliseconds to wait for a navigation event.
variableName:
type: string
example: myVariable
type:
type: string
example: store_variable_from_javascript
enum:
- store_variable_from_javascript
title: StoreVariableFromJavascript
- title: SwitchToIFrame
properties:
selectors:
type: array
minItems: 1
items:
type: object
required:
- type
- value
properties:
type:
type: string
example: css
enum:
- id
- name
- xpath
- css
- link
- jspath
value:
type: string
example: .main
description: Ordered list of locator strategies. The runner evaluates entries in order
until a match is found.
name:
type: string
example: switch to iframe step
type:
type: string
example: switch_to_iframe
enum:
- switch_to_iframe
type: object
- type: object
properties:
name:
type: string
example: switch to main frame
type:
type: string
example: switch_to_main
enum:
- switch_to_main
title: SwitchToMain
- type: object
properties:
name:
type: string
example: assert text step
type:
type: string
example: assert_text_present
enum:
- assert_text_present
- assert_text_not_present
value:
type: string
example: my text
maxWaitTime:
type: integer
example: 1000
minimum: 0
maximum: 90000
default: 10000
title: MaxWaitTime
description: The duration of time in milliseconds to perform the action specified in the
type field. For example, a value of 1000 and type of assert_element_present will wait
1000 milliseconds for the element to be present.
title: AssertTextStep
- type: object
properties:
name:
type: string
example: go to url step
type:
type: string
example: go_to_url
url:
type: string
example: https://splunk.com
title: Url
actions:
type: string
example: go_to_url
options:
type: object
properties:
url:
type: string
example: https://splunk.com
title: Url
title: GoToUrlStep
- type: object
required:
- type
- duration
properties:
type:
type: string
enum:
- wait
description: The wait step type. This must be wait for a wait step.
duration:
type: integer
minimum: 1
maximum: 200000
description: The duration of the wait time in milliseconds, must be between 1 and 200,000.
name:
type: string
nullable: true
description: The optional name of the wait step
title: WaitStep
title: BrowserTestTransactions
advancedSettings:
type: object
properties:
headers:
type: array
items:
type: object
required:
- name
- value
properties:
domain:
type: string
example: splunk.com
name:
type: string
example: Accept
value:
type: string
example: application/json
authentication:
type: object
properties:
username:
type: string
example: myuser
password:
type: string
example: password123
title: Authentication
cookies:
type: array
items:
type: object
required:
- key
- value
properties:
key:
type: string
example: qux
value:
type: string
example: qux
domain:
type: string
example: splunk.com
path:
type: string
example: /qux
title: Cookies
chromeFlags:
type: array
items:
type: object
required:
- name
properties:
name:
type: string
example: --proxy-server
description: For a list of supported Chrome flags, see https://quickdraw.splunk.com/redirect/?product=Observability&location=chrome.flags&version=current
value:
type: string
example: my-proxy-server:80
description: Some flags require additional parameters. See https://quickdraw.splunk.com/redirect/?product=Observability&location=chrome.flags&version=current
description: A list of Chrome flags to apply to the browser when running this test. These features
are used to test specialized use cases, like a proxy server.
title: ChromeFlags
hostOverrides:
type: array
items:
properties:
source:
type: string
example: example.com
description: The original host from which the request originates.
target:
type: string
example: staging.example.com
description: The new destination host to which the request is rerouted.
keepHostHeader:
type: boolean
example: true
description: Indicates whether to retain the original HOST header. If true, the original request's
headers remain intact. If false, a change in the HOST header to the new host might occur,
potentially leading to an internal direct (307).
required:
- source
- target
- keepHostHeader
title: HostOverrides
verifyCertificates:
type: boolean
example: true
collectInteractiveMetrics:
type: boolean
default: true
description: When interactive metric collection is on, the test waits until all interactive metrics
like first CPU idle, and time to first interactive (TTI) complete before continuing with the remaining
steps in the test. Tests with interactive metric collection might take longer to complete.
excludedFiles:
type: array
items:
type: object
# --- truncated at 32 KB (261 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/splunk-observability/refs/heads/main/openapi/splunk-observability-synthetics-browser-v2-openapi.yml