openapi: 3.0.3 info: title: Splunk Observability Cloud — Synthetics HTTP tests version: 1.0.1 description: 'API for creating, updating, retrieving, and deleting Synthetics HTTP tests. 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/http/try_now, POST /tests/http/validate, PUT /tests/http/{id}/validate, POST /tests/http, PUT /tests/http/{id}, and DELETE /tests/http/{id} operations. You have to have the Splunk Observability Cloud admin, power, or read_only role to use the GET /tests/http/{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/http: post: summary: createHttpTest description: 'Creates a new HTTP 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 HTTP test 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' locationIds: type: array items: type: string example: - aws-us-east-1 title: LocationIds description: An array of location IDs where the test runs. authentication: type: object properties: username: type: string example: myuser password: type: string example: password123 title: Authentication url: type: string example: https://splunk.com description: URL to test active: type: boolean example: true 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. verifyCertificates: type: boolean example: true requestMethod: type: string example: POST title: RequestMethod description: 'Must be one of the following: GET POST PUT PATCH DELETE HEAD OPTIONS' body: type: string example: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' title: Body validations: type: array items: anyOf: - type: object properties: type: type: string example: assert_numeric description: 'Type of assertion. Possible values for this are: assert_string assert_numeric' actual: type: string example: '{{response.code}}' description: 'The actual value to validate. This can be any string, a variable, or a metric value. Valid options include: {{response.body}} {{response.code}} {{response.first_byte_time}} {{response.body_size}} {{response.dns_time}} {{response.response_time}} {{headers.}}' expected: type: string example: 200 description: What you expect the variable to be. comparator: type: string example: equals description: 'Comparator between the actual value and the expected value. Must be one of the following depending on the type: For assert_string: is_empty is_not_empty contains does_not_contain equals does_not_equal matches does_not_match For assert_numeric: is_less_than is_less_than_or_equal_to equals does_not_equal is_greater_than is_greater_than_or_equal_to' title: ValidationAssert description: Validation step to assert response value, response header, or response body. userAgent: type: string example: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 title: UserAgent description: Configure the User-Agent HTTP header port: type: integer format: int32 minimum: 0 maximum: 65535 nullable: true example: 3000 title: PortSchema description: Port number from 0-65535. Can be null. certificateId: type: integer format: int64 example: 1 nullable: true title: CertificateId description: The unique ID of the client certificate. title: HttpTestValidateRequest description: Request body to validate HTTP tests. examples: example: value: test: active: true authentication: password: password123 username: myuser automaticRetries: 1 body: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' certificateId: 1 customProperties: - key: Env value: production frequency: 5 locationIds: - aws-us-east-1 name: My HTTP test port: 3000 requestMethod: POST schedulingStrategy: round_robin url: https://splunk.com userAgent: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 validations: - actual: '{{response.code}}' comparator: equals expected: 200 type: assert_numeric verifyCertificates: true 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 HTTP test active: type: boolean example: true 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. authentication: type: object properties: username: type: string example: myuser password: type: string example: password123 title: Authentication type: type: string example: http url: type: string example: https://splunk.com 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. verifyCertificates: type: boolean example: true requestMethod: type: string example: POST title: RequestMethod description: 'Must be one of the following: GET POST PUT PATCH DELETE HEAD OPTIONS' body: type: string example: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' title: Body validations: type: array items: anyOf: - type: object properties: type: type: string example: assert_numeric description: 'Type of assertion. Possible values for this are: assert_string assert_numeric' actual: type: string example: '{{response.code}}' description: 'The actual value to validate. This can be any string, a variable, or a metric value. Valid options include: {{response.body}} {{response.code}} {{response.first_byte_time}} {{response.body_size}} {{response.dns_time}} {{response.response_time}} {{headers.}}' expected: type: string example: 200 description: What you expect the variable to be. comparator: type: string example: equals description: 'Comparator between the actual value and the expected value. Must be one of the following depending on the type: For assert_string: is_empty is_not_empty contains does_not_contain equals does_not_equal matches does_not_match For assert_numeric: is_less_than is_less_than_or_equal_to equals does_not_equal is_greater_than is_greater_than_or_equal_to' title: ValidationAssert description: Validation step to assert response value, response header, or response body. userAgent: type: string example: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 title: UserAgent description: Configure the User-Agent HTTP header 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.' port: type: integer format: int32 minimum: 0 maximum: 65535 nullable: true example: 3000 title: PortSchema description: Port number from 0-65535. Can be null. certificateId: type: integer format: int64 example: 1 nullable: true title: CertificateId description: The unique ID of the client certificate. type: object examples: example: value: test: active: true authentication: password: password123 username: myuser automaticRetries: 1 body: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' certificateId: 1 createdAt: '2022-09-14T14:35:37.801Z' createdBy: abcdefgh1234 customProperties: - key: Env value: production frequency: 5 id: 1 lastRunAt: '2022-09-14T14:36:45.156Z' lastRunStatus: success locationIds: - aws-us-east-1 name: My HTTP test port: 3000 requestMethod: POST schedulingStrategy: round_robin type: http updatedAt: '2022-09-14T14:35:38.099Z' updatedBy: abcdefgh1234 url: https://splunk.com userAgent: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 validations: - actual: '{{response.code}}' comparator: equals expected: 200 type: assert_numeric verifyCertificates: true '422': description: HTTP 422 response content: application/json: schema: properties: code: type: string example: unprocessable_entity message: type: string example: Could not create an HTTP 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: Could not create an HTTP test security: - SessionToken: [] tags: - Synthetics HTTP tests /tests/http/{id}: get: summary: getSingleHttpTest description: 'Retrieves a single HTTP 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 an HTTP test 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 HTTP test active: type: boolean example: true 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. authentication: type: object properties: username: type: string example: myuser password: type: string example: password123 title: Authentication type: type: string example: http url: type: string example: https://splunk.com 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. verifyCertificates: type: boolean example: true requestMethod: type: string example: POST title: RequestMethod description: 'Must be one of the following: GET POST PUT PATCH DELETE HEAD OPTIONS' body: type: string example: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' title: Body validations: type: array items: anyOf: - type: object properties: type: type: string example: assert_numeric description: 'Type of assertion. Possible values for this are: assert_string assert_numeric' actual: type: string example: '{{response.code}}' description: 'The actual value to validate. This can be any string, a variable, or a metric value. Valid options include: {{response.body}} {{response.code}} {{response.first_byte_time}} {{response.body_size}} {{response.dns_time}} {{response.response_time}} {{headers.}}' expected: type: string example: 200 description: What you expect the variable to be. comparator: type: string example: equals description: 'Comparator between the actual value and the expected value. Must be one of the following depending on the type: For assert_string: is_empty is_not_empty contains does_not_contain equals does_not_equal matches does_not_match For assert_numeric: is_less_than is_less_than_or_equal_to equals does_not_equal is_greater_than is_greater_than_or_equal_to' title: ValidationAssert description: Validation step to assert response value, response header, or response body. userAgent: type: string example: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 title: UserAgent description: Configure the User-Agent HTTP header 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.' port: type: integer format: int32 minimum: 0 maximum: 65535 nullable: true example: 3000 title: PortSchema description: Port number from 0-65535. Can be null. certificateId: type: integer format: int64 example: 1 nullable: true title: CertificateId description: The unique ID of the client certificate. title: HttpTestResponse examples: example: value: test: active: true authentication: password: password123 username: myuser automaticRetries: 1 body: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' certificateId: 1 createdAt: '2022-09-14T14:35:37.801Z' createdBy: abcdefgh1234 customProperties: - key: Env value: production frequency: 5 id: 1 lastRunAt: '2022-09-14T14:36:45.156Z' lastRunStatus: success locationIds: - aws-us-east-1 name: My HTTP test port: 3000 requestMethod: POST schedulingStrategy: round_robin type: http updatedAt: '2022-09-14T14:35:38.099Z' updatedBy: abcdefgh1234 url: https://splunk.com userAgent: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 validations: - actual: '{{response.code}}' comparator: equals expected: 200 type: assert_numeric verifyCertificates: true '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 HTTP tests put: summary: updateSingleHttpTest description: 'Update an existing HTTP 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 the HTTP test you want to update. 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 HTTP test 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' locationIds: type: array items: type: string example: - aws-us-east-1 title: LocationIds description: An array of location IDs where the test runs. authentication: type: object properties: username: type: string example: myuser password: type: string example: password123 title: Authentication url: type: string example: https://splunk.com description: URL to test active: type: boolean example: true 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. verifyCertificates: type: boolean example: true requestMethod: type: string example: POST title: RequestMethod description: 'Must be one of the following: GET POST PUT PATCH DELETE HEAD OPTIONS' body: type: string example: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' title: Body validations: type: array items: anyOf: - type: object properties: type: type: string example: assert_numeric description: 'Type of assertion. Possible values for this are: assert_string assert_numeric' actual: type: string example: '{{response.code}}' description: 'The actual value to validate. This can be any string, a variable, or a metric value. Valid options include: {{response.body}} {{response.code}} {{response.first_byte_time}} {{response.body_size}} {{response.dns_time}} {{response.response_time}} {{headers.}}' expected: type: string example: 200 description: What you expect the variable to be. comparator: type: string example: equals description: 'Comparator between the actual value and the expected value. Must be one of the following depending on the type: For assert_string: is_empty is_not_empty contains does_not_contain equals does_not_equal matches does_not_match For assert_numeric: is_less_than is_less_than_or_equal_to equals does_not_equal is_greater_than is_greater_than_or_equal_to' title: ValidationAssert description: Validation step to assert response value, response header, or response body. userAgent: type: string example: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 title: UserAgent description: Configure the User-Agent HTTP header port: type: integer format: int32 minimum: 0 maximum: 65535 nullable: true example: 3000 title: PortSchema description: Port number from 0-65535. Can be null. certificateId: type: integer format: int64 example: 1 nullable: true title: CertificateId description: The unique ID of the client certificate. title: HttpTestValidateRequest description: Request body to validate HTTP tests. examples: example: value: test: active: true authentication: password: password123 username: myuser automaticRetries: 1 body: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' certificateId: 1 customProperties: - key: Env value: production frequency: 5 locationIds: - aws-us-east-1 name: My HTTP test port: 3000 requestMethod: POST schedulingStrategy: round_robin url: https://splunk.com userAgent: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 validations: - actual: '{{response.code}}' comparator: equals expected: 200 type: assert_numeric verifyCertificates: true 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 HTTP tests delete: summary: deleteHttpTest description: 'Deletes an HTTP 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 HTTP tests /tests/http/{id}/validate: put: summary: validateSingleHttpTest description: 'Validate an HTTP 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 HTTP 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 HTTP test 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' locationIds: type: array items: type: string example: - aws-us-east-1 title: LocationIds description: An array of location IDs where the test runs. authentication: type: object properties: username: type: string example: myuser password: type: string example: password123 title: Authentication url: type: string example: https://splunk.com description: URL to test active: type: boolean example: true 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. verifyCertificates: type: boolean example: true requestMethod: type: string example: POST title: RequestMethod description: 'Must be one of the following: GET POST PUT PATCH DELETE HEAD OPTIONS' body: type: string example: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' title: Body validations: type: array items: anyOf: - type: object properties: type: type: string example: assert_numeric description: 'Type of assertion. Possible values for this are: assert_string assert_numeric' actual: type: string example: '{{response.code}}' description: 'The actual value to validate. This can be any string, a variable, or a metric value. Valid options include: {{response.body}} {{response.code}} {{response.first_byte_time}} {{response.body_size}} {{response.dns_time}} {{response.response_time}} {{headers.}}' expected: type: string example: 200 description: What you expect the variable to be. comparator: type: string example: equals description: 'Comparator between the actual value and the expected value. Must be one of the following depending on the type: For assert_string: is_empty is_not_empty contains does_not_contain equals does_not_equal matches does_not_match For assert_numeric: is_less_than is_less_than_or_equal_to equals does_not_equal is_greater_than is_greater_than_or_equal_to' title: ValidationAssert description: Validation step to assert response value, response header, or response body. userAgent: type: string example: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 title: UserAgent description: Configure the User-Agent HTTP header port: type: integer format: int32 minimum: 0 maximum: 65535 nullable: true example: 3000 title: PortSchema description: Port number from 0-65535. Can be null. certificateId: type: integer format: int64 example: 1 nullable: true title: CertificateId description: The unique ID of the client certificate. title: HttpTestValidateRequest description: Request body to validate HTTP tests. examples: example: value: test: active: true authentication: password: password123 username: myuser automaticRetries: 1 body: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' certificateId: 1 customProperties: - key: Env value: production frequency: 5 locationIds: - aws-us-east-1 name: My HTTP test port: 3000 requestMethod: POST schedulingStrategy: round_robin url: https://splunk.com userAgent: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 validations: - actual: '{{response.code}}' comparator: equals expected: 200 type: assert_numeric verifyCertificates: true responses: '200': description: HTTP 200 response content: application/json: schema: type: object properties: valid: type: boolean example: false message: type: string example: HTTP test is not valid details: type: object properties: url: type: array items: type: string example: must be a valid URL description: 'Details of why HTTP test is invalid. The url key in the example is dynamic. If url is invalid, the key will be url. If frequency is invalid, there will be a frequency key. If the test is valid, this details field will be an empty array.' title: ValidateHttpTestResponse description: Response body for validating an HTTP test. examples: example: value: details: url: - must be a valid URL message: HTTP test is not valid valid: false '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 HTTP tests /tests/http/try_now: post: summary: createTryNowHTTPTest description: 'Create an HTTP test to use try now on to verify if your test passes. Run results aren''t stored. 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: locationId in: query description: The ID of the location to run your test from. required: true schema: type: string example: aws-us-east-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 HTTP test 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' locationIds: type: array items: type: string example: - aws-us-east-1 title: LocationIds description: An array of location IDs where the test runs. authentication: type: object properties: username: type: string example: myuser password: type: string example: password123 title: Authentication url: type: string example: https://splunk.com description: URL to test active: type: boolean example: true 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. verifyCertificates: type: boolean example: true requestMethod: type: string example: POST title: RequestMethod description: 'Must be one of the following: GET POST PUT PATCH DELETE HEAD OPTIONS' body: type: string example: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' title: Body validations: type: array items: anyOf: - type: object properties: type: type: string example: assert_numeric description: 'Type of assertion. Possible values for this are: assert_string assert_numeric' actual: type: string example: '{{response.code}}' description: 'The actual value to validate. This can be any string, a variable, or a metric value. Valid options include: {{response.body}} {{response.code}} {{response.first_byte_time}} {{response.body_size}} {{response.dns_time}} {{response.response_time}} {{headers.}}' expected: type: string example: 200 description: What you expect the variable to be. comparator: type: string example: equals description: 'Comparator between the actual value and the expected value. Must be one of the following depending on the type: For assert_string: is_empty is_not_empty contains does_not_contain equals does_not_equal matches does_not_match For assert_numeric: is_less_than is_less_than_or_equal_to equals does_not_equal is_greater_than is_greater_than_or_equal_to' title: ValidationAssert description: Validation step to assert response value, response header, or response body. userAgent: type: string example: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 title: UserAgent description: Configure the User-Agent HTTP header port: type: integer format: int32 minimum: 0 maximum: 65535 nullable: true example: 3000 title: PortSchema description: Port number from 0-65535. Can be null. certificateId: type: integer format: int64 example: 1 nullable: true title: CertificateId description: The unique ID of the client certificate. title: HttpTestValidateRequest description: Request body to validate HTTP tests. examples: example: value: test: active: true authentication: password: password123 username: myuser automaticRetries: 1 body: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' certificateId: 1 customProperties: - key: Env value: production frequency: 5 locationIds: - aws-us-east-1 name: My HTTP test port: 3000 requestMethod: POST schedulingStrategy: round_robin url: https://splunk.com userAgent: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 validations: - actual: '{{response.code}}' comparator: equals expected: 200 type: assert_numeric verifyCertificates: true 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 generated run testId: type: string format: uuid example: b8354c68-3fe8-4192-81b2-a4f7cb40e18b description: The UUID of the try now test locationId: type: string example: aws-us-east-1 description: The location ID where the test was executed. testName: type: string example: My HTTP test description: The name of the test. testType: type: string example: http description: The type of the test. title: TryNowResponse examples: example: value: locationId: aws-us-east-1 runId: 1c4d52be-e7e1-4611-97f9-73c6ddfbeed9 testId: b8354c68-3fe8-4192-81b2-a4f7cb40e18b testName: My HTTP test testType: http '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 HTTP tests /tests/http/validate: post: summary: validateHttpTest description: 'Validate an HTTP 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: 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 HTTP test 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' locationIds: type: array items: type: string example: - aws-us-east-1 title: LocationIds description: An array of location IDs where the test runs. authentication: type: object properties: username: type: string example: myuser password: type: string example: password123 title: Authentication url: type: string example: https://splunk.com description: URL to test active: type: boolean example: true 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. verifyCertificates: type: boolean example: true requestMethod: type: string example: POST title: RequestMethod description: 'Must be one of the following: GET POST PUT PATCH DELETE HEAD OPTIONS' body: type: string example: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' title: Body validations: type: array items: anyOf: - type: object properties: type: type: string example: assert_numeric description: 'Type of assertion. Possible values for this are: assert_string assert_numeric' actual: type: string example: '{{response.code}}' description: 'The actual value to validate. This can be any string, a variable, or a metric value. Valid options include: {{response.body}} {{response.code}} {{response.first_byte_time}} {{response.body_size}} {{response.dns_time}} {{response.response_time}} {{headers.}}' expected: type: string example: 200 description: What you expect the variable to be. comparator: type: string example: equals description: 'Comparator between the actual value and the expected value. Must be one of the following depending on the type: For assert_string: is_empty is_not_empty contains does_not_contain equals does_not_equal matches does_not_match For assert_numeric: is_less_than is_less_than_or_equal_to equals does_not_equal is_greater_than is_greater_than_or_equal_to' title: ValidationAssert description: Validation step to assert response value, response header, or response body. userAgent: type: string example: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 title: UserAgent description: Configure the User-Agent HTTP header port: type: integer format: int32 minimum: 0 maximum: 65535 nullable: true example: 3000 title: PortSchema description: Port number from 0-65535. Can be null. certificateId: type: integer format: int64 example: 1 nullable: true title: CertificateId description: The unique ID of the client certificate. title: HttpTestValidateRequest description: Request body to validate HTTP tests. examples: example: value: test: active: true authentication: password: password123 username: myuser automaticRetries: 1 body: '''{"alert_name":"the service is down","url":"https://foo.com/bar"}'' ' certificateId: 1 customProperties: - key: Env value: production frequency: 5 locationIds: - aws-us-east-1 name: My HTTP test port: 3000 requestMethod: POST schedulingStrategy: round_robin url: https://splunk.com userAgent: Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 validations: - actual: '{{response.code}}' comparator: equals expected: 200 type: assert_numeric verifyCertificates: true responses: '200': description: HTTP 200 response content: application/json: schema: type: object properties: valid: type: boolean example: false message: type: string example: HTTP test is not valid details: type: object properties: url: type: array items: type: string example: must be a valid URL description: 'Details of why HTTP test is invalid. The url key in the example is dynamic. If url is invalid, the key will be url. If frequency is invalid, there will be a frequency key. If the test is valid, this details field will be an empty array.' title: ValidateHttpTestResponse description: Response body for validating an HTTP test. examples: example: value: details: url: - must be a valid URL message: HTTP test is not valid valid: false security: - SessionToken: [] tags: - Synthetics HTTP tests