Splunk Observability Cloud Synthetics Port tests
API for creating, updating, retrieving, and deleting Port tests in Splunk Synthetic Monitoring.
API for creating, updating, retrieving, and deleting Port tests in Splunk Synthetic Monitoring.
openapi: 3.0.3
info:
title: Splunk Observability Cloud — Synthetics Port tests
version: 1.0.1
description: 'API for creating, updating, retrieving, and deleting Port tests in Splunk Synthetic Monitoring.
Requirements
You must have an organization access token with the API permission or a session token to use the API.
You have to have the Splunk Observability Cloud admin or power role to use the POST /tests/port/try_now, POST /tests/port/validate,
PUT /tests/port/{id}/validate, POST /tests/port, PUT /tests/port/{id}, and DELETE /tests/port/{id} operations.
You have to have the Splunk Observability Cloud admin, power, or read_only role to use the GET /tests/port/{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: 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:
/tests/port:
post:
summary: createPortTest
description: 'Creates a new Port test, based on the specifications in the request body.
Requirements
You must have an organization access token with the API permission or a session token to use the API.
You need the Splunk Observability Cloud admin or power role.'
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:
name:
type: string
example: My Port test
locationIds:
type: array
items:
type: string
example:
- aws-us-east-1
title: LocationIds
description: An array of location IDs where the test runs.
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'
protocol:
type: string
example: tcp
host:
type: string
example: splunk.com
port:
type: integer
format: int32
active:
type: boolean
example: true
automaticRetries:
default: 0
type: integer
example: 1
description: Automatically retry if the run fails
customProperties:
type: array
items:
type: object
required:
- key
- value
properties:
key:
type: string
example: Env
value:
type: string
example: production
title: CustomProperties
description: An array of custom properties. The section Custom Properties Criteria lists the requirements
for custom property names and values.
title: PortTestValidateRequest
description: Request body to validate Port tests.
examples:
example:
value:
test:
active: true
automaticRetries: 1
customProperties:
- key: Env
value: production
frequency: 5
host: splunk.com
locationIds:
- aws-us-east-1
name: My Port test
port: 0
protocol: tcp
schedulingStrategy: round_robin
responses:
'201':
description: HTTP 201 response
content:
application/json:
schema:
properties:
test:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: My Port test
active:
type: boolean
example: true
automaticRetries:
default: 0
type: integer
example: 1
description: Automatically retry if the run fails
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'
createdAt:
type: string
readOnly: true
example: '2022-09-14T14:35:37.801Z'
title: CreatedAt
description: 'Timestamp of when the test was last updated, in UTC.
This field is read-only, and the system always sets the value.'
createdBy:
type: string
readOnly: true
example: abcdefgh1234
title: CreatedBy
description: 'Member ID of who created the test.
This field is read-only, and the system always sets the value.'
updatedAt:
type: string
readOnly: true
example: '2022-09-14T14:35:38.099Z'
title: UpdatedAt
description: 'Timestamp of when the test was last updated, in UTC.
This field is read-only, and the system always sets the value.'
updatedBy:
type: string
readOnly: true
example: abcdefgh1234
title: UpdatedBy
description: 'Member ID of who last updated the test.
This field is read-only, and the system always sets the value.'
locationIds:
type: array
items:
type: string
example:
- aws-us-east-1
title: LocationIds
description: An array of location IDs where the test runs.
type:
type: string
example: http
protocol:
type: string
example: tcp
host:
type: string
example: splunk.com
port:
type: integer
format: int32
example: 443
customProperties:
type: array
items:
type: object
required:
- key
- value
properties:
key:
type: string
example: Env
value:
type: string
example: production
title: CustomProperties
description: An array of custom properties. The section Custom Properties Criteria lists the requirements
for custom property names and values.
lastRunStatus:
type: string
example: success
enum:
- pending
- success
- failed
title: LastRunStatus
description: Status of the last test run.
lastRunAt:
type: string
readOnly: true
example: '2022-09-14T14:36:45.156Z'
title: LastRunAt
description: 'Timestamp of when the test was last run, in UTC.
This field is read-only, and the system always sets the value.'
type: object
examples:
example:
value:
test:
active: true
automaticRetries: 1
createdAt: '2022-09-14T14:35:37.801Z'
createdBy: abcdefgh1234
customProperties:
- key: Env
value: production
frequency: 5
host: splunk.com
id: 1
lastRunAt: '2022-09-14T14:36:45.156Z'
lastRunStatus: success
locationIds:
- aws-us-east-1
name: My Port test
port: 443
protocol: tcp
schedulingStrategy: round_robin
type: http
updatedAt: '2022-09-14T14:35:38.099Z'
updatedBy: abcdefgh1234
'422':
description: HTTP 422 response
content:
application/json:
schema:
properties:
code:
type: string
example: unprocessable_entity
message:
type: string
example: Can't create a Port test.
details:
type: object
properties:
device:
type: array
items:
type: string
example: must exist
description: 'This is a dynamic schema that consists of:
"fieldName": ["reason"]'
type: object
examples:
example:
value:
code: unprocessable_entity
details:
device:
- must exist
message: Can't create a Port test.
security:
- SessionToken: []
tags:
- Synthetics Port tests
/tests/port/{id}:
get:
summary: getSinglePortTest
description: 'Retrieves a single Port test.
Requirements
You must have an organization access token with the API permission or a session token to use the API.
You need the Splunk Observability Cloud admin, power, or read_only role.'
parameters:
- name: id
in: path
description: The ID of a Port to retrieve.
required: true
schema:
type: string
- name: X-SF-TOKEN
in: header
description: Authentication token.
required: true
schema:
type: string
responses:
'200':
description: HTTP 200 response
content:
application/json:
schema:
type: object
properties:
test:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: My Port test
active:
type: boolean
example: true
automaticRetries:
default: 0
type: integer
example: 1
description: Automatically retry if the run fails
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'
createdAt:
type: string
readOnly: true
example: '2022-09-14T14:35:37.801Z'
title: CreatedAt
description: 'Timestamp of when the test was last updated, in UTC.
This field is read-only, and the system always sets the value.'
createdBy:
type: string
readOnly: true
example: abcdefgh1234
title: CreatedBy
description: 'Member ID of who created the test.
This field is read-only, and the system always sets the value.'
updatedAt:
type: string
readOnly: true
example: '2022-09-14T14:35:38.099Z'
title: UpdatedAt
description: 'Timestamp of when the test was last updated, in UTC.
This field is read-only, and the system always sets the value.'
updatedBy:
type: string
readOnly: true
example: abcdefgh1234
title: UpdatedBy
description: 'Member ID of who last updated the test.
This field is read-only, and the system always sets the value.'
locationIds:
type: array
items:
type: string
example:
- aws-us-east-1
title: LocationIds
description: An array of location IDs where the test runs.
type:
type: string
example: http
protocol:
type: string
example: tcp
host:
type: string
example: splunk.com
port:
type: integer
format: int32
example: 443
customProperties:
type: array
items:
type: object
required:
- key
- value
properties:
key:
type: string
example: Env
value:
type: string
example: production
title: CustomProperties
description: An array of custom properties. The section Custom Properties Criteria lists the requirements
for custom property names and values.
lastRunStatus:
type: string
example: success
enum:
- pending
- success
- failed
title: LastRunStatus
description: Status of the last test run.
lastRunAt:
type: string
readOnly: true
example: '2022-09-14T14:36:45.156Z'
title: LastRunAt
description: 'Timestamp of when the test was last run, in UTC.
This field is read-only, and the system always sets the value.'
title: PortTestResponse
examples:
example:
value:
test:
active: true
automaticRetries: 1
createdAt: '2022-09-14T14:35:37.801Z'
createdBy: abcdefgh1234
customProperties:
- key: Env
value: production
frequency: 5
host: splunk.com
id: 1
lastRunAt: '2022-09-14T14:36:45.156Z'
lastRunStatus: success
locationIds:
- aws-us-east-1
name: My Port test
port: 443
protocol: tcp
schedulingStrategy: round_robin
type: http
updatedAt: '2022-09-14T14:35:38.099Z'
updatedBy: abcdefgh1234
'404':
description: HTTP 404 response
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: not_found
message:
type: string
example: Can't find test.
details:
type: object
example: '{}'
title: NotFound
description: Not Found
examples:
example:
value:
code: not_found
details: '{}'
message: Can't find test.
security:
- SessionToken: []
tags:
- Synthetics Port tests
put:
summary: updateSinglePortTest
description: 'Update an existing Port test.
Requirements
You must have an organization access token with the API permission or a session token to use the API.
You need the Splunk Observability Cloud admin or power role.'
parameters:
- name: id
in: path
description: The ID of the Port test you want to validate.
required: true
schema:
type: integer
example: 1
- 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:
name:
type: string
example: My Port test
locationIds:
type: array
items:
type: string
example:
- aws-us-east-1
title: LocationIds
description: An array of location IDs where the test runs.
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'
protocol:
type: string
example: tcp
host:
type: string
example: splunk.com
port:
type: integer
format: int32
active:
type: boolean
example: true
automaticRetries:
default: 0
type: integer
example: 1
description: Automatically retry if the run fails
customProperties:
type: array
items:
type: object
required:
- key
- value
properties:
key:
type: string
example: Env
value:
type: string
example: production
title: CustomProperties
description: An array of custom properties. The section Custom Properties Criteria lists the requirements
for custom property names and values.
title: PortTestValidateRequest
description: Request body to validate Port tests.
examples:
example:
value:
test:
active: true
automaticRetries: 1
customProperties:
- key: Env
value: production
frequency: 5
host: splunk.com
locationIds:
- aws-us-east-1
name: My Port test
port: 0
protocol: tcp
schedulingStrategy: round_robin
responses:
'200':
description: HTTP 200 response
'404':
description: HTTP 404 response
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: not_found
message:
type: string
example: Can't find test.
details:
type: object
example: '{}'
title: NotFound
description: Not Found
examples:
example:
value:
code: not_found
details: '{}'
message: Can't find test.
'422':
description: HTTP 422 response
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: unprocessable_entity
message:
type: string
example: Could not create API test.
details:
type: object
properties:
device:
type: array
items:
type: string
example: must exist
description: 'This is a dynamic schema that consists of:
"fieldName": ["reason"]'
title: UnprocessableEntity
description: UnprocessableEntity
examples:
example:
value:
code: unprocessable_entity
details:
device:
- must exist
message: Could not create API test.
security:
- SessionToken: []
tags:
- Synthetics Port tests
delete:
summary: deletePortTest
description: 'Deletes a Port test.
Requirements
You must have an organization access token with the API permission or a session token to use the API.
You need the Splunk Observability Cloud admin or power role.'
parameters:
- name: id
in: path
description: The ID of a test.
required: true
schema:
type: string
- name: X-SF-TOKEN
in: header
description: Authentication token.
required: true
schema:
type: string
responses:
'204':
description: HTTP 204 response
security:
- SessionToken: []
tags:
- Synthetics Port tests
/tests/port/{id}/validate:
put:
summary: validateSinglePortTest
description: 'Validate an port test. This can also be a PATCH operation.
Requirements
You must have an organization access token with the API permission or a session token to use the API.
You need the Splunk Observability Cloud admin or power role.'
parameters:
- name: id
in: path
description: The ID of the Port test you want to validate.
required: true
schema:
type: integer
example: 1
- 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:
name:
type: string
example: My Port test
locationIds:
type: array
items:
type: string
example:
- aws-us-east-1
title: LocationIds
description: An array of location IDs where the test runs.
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'
protocol:
type: string
example: tcp
host:
type: string
example: splunk.com
port:
type: integer
format: int32
active:
type: boolean
example: true
automaticRetries:
default: 0
type: integer
example: 1
description: Automatically retry if the run fails
customProperties:
type: array
items:
type: object
required:
- key
- value
properties:
key:
type: string
example: Env
value:
type: string
example: production
title: CustomProperties
description: An array of custom properties. The section Custom Properties Criteria lists the requirements
for custom property names and values.
title: PortTestValidateRequest
description: Request body to validate Port tests.
examples:
example:
value:
test:
active: true
automaticRetries: 1
customProperties:
- key: Env
value: production
frequency: 5
host: splunk.com
locationIds:
- aws-us-east-1
name: My Port test
port: 0
protocol: tcp
schedulingStrategy: round_robin
responses:
'200':
description: HTTP 200 response
content:
application/json:
schema:
type: object
properties:
valid:
type: boolean
example: false
message:
type: string
example: Port
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/splunk-observability/refs/heads/main/openapi/splunk-observability-synthetics-ports-tests-openapi.yml