Splunk Observability Cloud Synthetics tests

API for retrieving and deleting tests in Splunk Synthetic Monitoring.

OpenAPI Specification

splunk-observability-synthetics-tests-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Splunk Observability Cloud — Synthetics tests
  version: 1.0.4
  description: 'API for retrieving and deleting 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 need the Splunk Observability Cloud admin, power, or read_only role to use this API.'
  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:
    get:
      summary: getTests
      description: 'Returns a list of all tests.

        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: page
        in: query
        description: 'The page to return. Must be greater than 0, but will default to 1

          otherwise.'
        schema:
          type: integer
          default: 1
      - name: perPage
        in: query
        description: Number of tests to return for a given request.
        schema:
          type: integer
          default: 50
      - name: testType
        in: query
        description: 'Returns only tests based on the specified type. Possible values:


          browser: Browser tests

          api: API tests

          http: HTTP tests

          port: Port tests

          uptime: HTTP or Port tests

          ssl: SSL tests'
        schema:
          type: string
      - name: orderby
        in: query
        description: 'Sorts tests by the specified value. Possible values:


          id: Test ID

          name: Test name

          active: Active status

          type: Test type

          frequency: Test run frequency

          created_at: Date and time when tests were created.

          updated_at: Date and time when tests were last updated.

          scheduling_strategy: Scheduling strategy

          last_run_at: Date and time when tests were last run

          last_run_status: Status of the last time tests were run'
        schema:
          type: string
      - name: search
        in: query
        description: Returns a list of tests that have match the value you specified for Name or Type.
        schema:
          type: string
      - name: locationId
        in: query
        description: Returns a list of tests that are configured to run from the given locationId.
        schema:
          type: string
      - name: customProperties
        in: query
        description: Returns a list of tests which have the given customProperties. The properties should be in the format
          "key:value".
        schema:
          type: array
          items:
            type: string
            example: key:value
            properties:
              key:
                type: string
              value:
                type: string
      - name: testTypes
        in: query
        description: 'Returns only tests based on the specified types. Possible values:


          browser: Browser tests

          api: API tests

          http: HTTP tests

          port: Port tests

          uptime: HTTP or Port tests

          ssl: SSL tests'
        schema:
          type: array
          items:
            type: string
      - name: frequencies
        in: query
        description: Returns a list of tests that are configured to run with the given frequencies.
        schema:
          type: array
          items:
            type: integer
      - name: locationIds
        in: query
        description: Returns a list of tests that are configured to run from the given locationIds.
        schema:
          type: array
          items:
            type: string
      - name: lastRunStatus
        in: query
        description: 'Returns only tests based off of the lastRunStatus. Possible values:


          success: Last test run was successful

          failed: Last test run failed

          pending: Test has not been run yet'
        schema:
          type: array
          items:
            type: string
      - name: schedulingStragety
        in: query
        description: 'Returns only tests based on the specified schedulingStrategy. Possible values:


          round_robin

          concurrent'
        schema:
          type: string
      - name: active
        in: query
        description: When true, returns only active tests. When false, returns only paused tests.
        schema:
          type: boolean
      - name: X-SF-TOKEN
        in: header
        description: Authentication token
        required: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: Format of the request body. Always  "application/json".
        required: true
        schema:
          type: string
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  perPage:
                    type: string
                    example: 50
                    title: PerPage
                    description: 'Number of results per page. If perPage is not supplied, the value of

                      this field will be 50. If it is supplied, then the value will be what

                      was supplied.'
                  totalCount:
                    type: integer
                    format: int32
                    example: 1
                    title: TotalCount
                    description: 'Number of test in the result set that match the search criteria.

                      Note: Count is not the same as the number of objects returned

                      in the response body.'
                  nextPageLink:
                    type: integer
                    format: int32
                    description: 'The href to the next page of results. If there is not a next page,

                      this will be null.'
                  tests:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          format: int64
                          readOnly: true
                          example: 1
                          description: The unique ID of the test.
                        name:
                          type: string
                          example: My Test
                          description: Name of the test.
                        active:
                          type: boolean
                          example: true
                          description: Describes if the test is active.
                        automaticRetries:
                          type: integer
                          default: 0
                          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.
                        customProperties:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                example: foo
                              value:
                                type: string
                                example: bar
                          title: CustomProperties
                          description: An array of custom properties for the test.
                        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:
                          type: string
                          example: browser
                          description: 'Type of tests, for example:


                            browser

                            http

                            api

                            port'
                      title: Test
                      description: Properties of a test.
                    description: 'Query results, in the form of a JSON array of

                      objects. Each element is a test.'
                title: GetTestsResponse
                description: Returns a list of all tests.
              examples:
                example:
                  value:
                    nextPageLink: 0
                    perPage: 50
                    tests:
                    - active: true
                      automaticRetries: 1
                      createdAt: '2022-09-14T14:35:37.801Z'
                      createdBy: abcdefgh1234
                      customProperties:
                      - key: foo
                        value: bar
                      frequency: 5
                      id: 1
                      lastRunAt: '2022-09-14T14:36:45.156Z'
                      lastRunStatus: success
                      locationIds:
                      - aws-us-east-1
                      name: My Test
                      schedulingStrategy: round_robin
                      type: browser
                      updatedAt: '2022-09-14T14:35:38.099Z'
                      updatedBy: abcdefgh1234
                    totalCount: 1
      security:
      - SessionToken: []
      tags:
      - Synthetics tests
  /tests/{id}:
    delete:
      summary: deleteTest
      description: 'Deletes a 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
        '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 tests
  /tests/{id}/run_now:
    post:
      summary: runTestNow
      description: 'Triggers a run of the specified 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:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  runId:
                    type: string
                    format: uuid
                    example: 1c4d52be-e7e1-4611-97f9-73c6ddfbeed9
                    description: The UUID of the triggered run
                  testId:
                    type: string
                    example: '123'
                    description: The ID of the test
                  locationId:
                    type: string
                    example: aws-us-east-1
                    description: The location ID where the test was executed.
                  testName:
                    type: string
                    example: My Test
                    description: The name of the test.
                  testType:
                    type: string
                    example: api
                    description: The type of the test.
                title: RunNowResponse
              examples:
                example:
                  value:
                    locationId: aws-us-east-1
                    runId: 1c4d52be-e7e1-4611-97f9-73c6ddfbeed9
                    testId: '123'
                    testName: My Test
                    testType: api
        '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: 'Test is currently paused due to an active downtime configuration. Use {"force": true} to override.'
                  details:
                    type: object
                    example: '{}'
              examples:
                example:
                  value:
                    code: unprocessable_entity
                    details: '{}'
                    message: 'Test is currently paused due to an active downtime configuration. Use {"force": true} to override.'
      security:
      - SessionToken: []
      tags:
      - Synthetics tests
  /tests/{id}/runs:
    get:
      summary: retrieveRunsForTest
      description: 'Retrieve a paginated list of runs for a specific synthetic test.

        Requirements


        You must have an organization access token with the API permission or a session token to use the API.'
      parameters:
      - name: id
        in: path
        description: The ID of the test whose runs you want to retrieve.
        required: true
        schema:
          type: integer
          description: Integer ID for a persisted test.
      - name: startTime
        in: query
        description: Start time in ISO8601 format.
        schema:
          type: string
          format: date-time
      - name: endTime
        in: query
        description: End time for the runs to include, as an ISO8601 timestamp.
        schema:
          type: string
          format: date-time
      - name: success
        in: query
        description: 'Filter runs by success status. When true, only successful runs are returned.

          When false, only failed runs are returned.'
        schema:
          type: boolean
      - name: triggerType
        in: query
        description: 'Filter runs by trigger type. Possible values:


          scheduled

          manual'
        schema:
          type: string
          enum:
          - scheduled
          - manual
      - name: locationIds
        in: query
        description: Returns runs that were executed from the given locations.
        schema:
          type: array
          items:
            type: string
      - name: page
        in: query
        description: Page of runs to return. Must be greater than 0. Defaults to 1.
        schema:
          type: integer
          default: 1
      - name: perPage
        in: query
        description: Number of runs to return per page. Maximum 1000.
        schema:
          type: integer
          default: 20
      - 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
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  runs:
                    type: array
                    items:
                      type: object
                      properties:
                        runId:
                          type: string
                          description: The UUID of the run.
                        testId:
                          type: integer
                          description: The ID of the test associated with this run.
                        testType:
                          type: string
                          enum:
                          - browser
                          - api
                          - http
                          - port
                          - uptime
                          - ssl
                          description: The type of the test.
                        locationId:
                          type: string
                          description: The location ID of the run.
                        triggerType:
                          type: string
                          enum:
                          - scheduled
                          - manual
                          description: The type of trigger that initiated the run.
                        success:
                          type: boolean
                          description: Whether the run was successful.
                        message:
                          type: string
                          description: A description of any run failure. null if the run has completed successfully.
                        timestamp:
                          type: string
                          description: This field is only used internally and has no relevance for API consumers
                        artifactsTimestampMs:
                          type: integer
                          description: Time since epoch in milliseconds when artifacts were generated and stored.
                        autoRetry:
                          type: boolean
                          description: Whether the run was automatically retried.
                        location:
                          type: string
                          description: The human readable location of the run.
                        runDurationMs:
                          type: integer
                          description: Duration of the run in milliseconds.
                      description: Summary information for a run.
                  page:
                    type: integer
                    description: Current page of results.
                  perPage:
                    type: integer
                    description: Number of runs per page.
                  nextPageLink:
                    type: string
                    nullable: true
                    description: URL to the next page of results, if any.
                  totalCount:
                    type: integer
                    description: Total number of runs matching the filters.
              examples:
                example:
                  value:
                    nextPageLink: string
                    page: 0
                    perPage: 0
                    runs:
                    - artifactsTimestampMs: 0
                      autoRetry: true
                      location: string
                      locationId: string
                      message: string
                      runDurationMs: 0
                      runId: string
                      success: true
                      testId: 0
                      testType: browser
                      timestamp: string
                      triggerType: scheduled
                    totalCount: 0
        '400':
          description: HTTP 400 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: bad_request
                  message:
                    type: string
                    example: Invalid query params
                  details:
                    type: object
              examples:
                example:
                  value:
                    code: bad_request
                    message: Invalid query params
        '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 tests
  /tests/bulk_delete:
    post:
      summary: deleteMultipleTests
      description: 'Deletes the tests specified in requestBody. Maximum of 500 test IDs in one request.

        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: X-SF-TOKEN
        in: header
        description: Authentication token
        required: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: Format of the request body. Always "application/json".
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                testIds:
                  type: array
                  example:
                  - 15
                  - 123
                  - 19955
                  items:
                    type: integer
                    format: int32
              title: ListOfIds
              description: List of Test IDs
            examples:
              example:
                value:
                  testIds:
                  - 15
                  - 123
                  - 19955
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                title: OkResponse
              examples:
                example:
                  value:
                    success: true
        '422':
          description: HTTP 422 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: unprocessable_entity
                  message:
                    type: string
                    example: Invalid request body
                  details:
                    type: object
                    properties:
                      testIds:
                        type: object
                        properties:
                          '0':
                            type: array
                            items:
                              type: string
                              example: must be an integer
                          '2':
                            type: array
                            items:
                              type: string
                              example: must be an integer
                title: UnprocessableEntity
                description: UnprocessableEntity
              examples:
                example:
                  value:
                    code: unprocessable_entity
                    details:
                      testIds:
                        '0':
                        - must be an integer
                        '2':
                        - must be an integer
                    message: Invalid request body
      security:
      - SessionToken: []
      tags:
      - Synthetics tests
  /tests/pause:
    put:
      summary: pauseMultipleTests
      description: 'Deactivates the tests specified in requestBody. Maximum of 500 test IDs in one request.

        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: X-SF-TOKEN
        in: header
        description: Authentication token
        required: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: Format of the request body. Always "application/json".
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                testIds:
                  type: array
                  example:
                  - 15
                  - 123
                  - 19955
                  items:
                    type: integer
                    format: int32
              title: ListOfIds
              description: List of Test IDs
            examples:
              example:
                value:
                  testIds:
                  - 15
                  - 123
                  - 19955
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                title: OkResponse
              examples:
                example:
                  value:
                    success: true
        '422':
          description: HTTP 422 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: unprocessable_entity
                  message:
                    type: string
                    example: Invalid request body
                  details:
                    type: object
                    properties:
                      testIds:
                        type: object
                        properties:
                          '0':
                            type: array
                            items:
                              type: string
                              example: must be an integer
                    

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/splunk-observability/refs/heads/main/openapi/splunk-observability-synthetics-tests-openapi.yml