---
title: Edit a browser test
description: Edit the configuration of a Synthetic browser test.
breadcrumbs: Docs > API > Edit a browser test
---

> For the complete documentation index, see [llms.txt](https://dnd37xeb23o8n.cloudfront.net/jen.gilbert/astro-base/llms.txt).

# Edit a browser test

## v1 (latest)

| Datadog site      | API endpoint                                                                  |
| ----------------- | ----------------------------------------------------------------------------- |
| app.datadoghq.com | PUT https://api.datadoghq.com/api/v1/synthetics/tests/browser/{public_id}     |
| us3.datadoghq.com | PUT https://api.us3.datadoghq.com/api/v1/synthetics/tests/browser/{public_id} |
| us5.datadoghq.com | PUT https://api.us5.datadoghq.com/api/v1/synthetics/tests/browser/{public_id} |
| app.datadoghq.eu  | PUT https://api.datadoghq.eu/api/v1/synthetics/tests/browser/{public_id}      |
| ap1.datadoghq.com | PUT https://api.ap1.datadoghq.com/api/v1/synthetics/tests/browser/{public_id} |
| ap2.datadoghq.com | PUT https://api.ap2.datadoghq.com/api/v1/synthetics/tests/browser/{public_id} |
| uk1.datadoghq.com | PUT https://api.uk1.datadoghq.com/api/v1/synthetics/tests/browser/{public_id} |
| app.ddog-gov.com  | PUT https://api.ddog-gov.com/api/v1/synthetics/tests/browser/{public_id}      |
| us2.ddog-gov.com  | PUT https://api.us2.ddog-gov.com/api/v1/synthetics/tests/browser/{public_id}  |

### Overview

Edit the configuration of a Synthetic browser test.

This endpoint requires the `synthetics_write` permission.

OAuth apps require the `synthetics_write` authorization [scope](https://dnd37xeb23o8n.cloudfront.net/jen.gilbert/astro-base/api/latest/scopes.md#synthetics) to access this endpoint.

### Arguments

#### Path Parameters

| Field                  | Type   | Description                        |
| ---------------------- | ------ | ---------------------------------- |
| public_id [*required*] | string | The public ID of the test to edit. |

### Request

#### Body Data (required)

New test details to be saved.

{% tabs %}
{% tab label="Model" %}
| Parent field         | Field                               | Type      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------- | ----------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|                      | config [*required*]                 | object    | Configuration object for a Synthetic browser test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| config               | assertions [*required*]             | [<oneOf>] | Array of assertions used for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| assertions           | Object 1                            | object    | An assertion which uses a simple target.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Object 1             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `contains`, `doesNotContain`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`, `matches`, `doesNotMatch`, `validates`, `isInMoreThan`, `isInLessThan`, `doesNotExist`, `isUndefined`.                                                                                                                                                                                                                                                                                          |
| Object 1             | property                            | string    | The associated assertion property.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 1             | target [*required*]                 | <oneOf>   | Value used by the operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| target               | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| target               | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Object 1             | timingsScope                        | enum      | Timings scope for response time assertions. Allowed enum values: `all`, `withoutDNS`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Object 1             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 2                            | object    | An assertion which targets body hash.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Object 2             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `md5`, `sha1`, `sha256`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Object 2             | target [*required*]                 | <oneOf>   | Value used by the operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| target               | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| target               | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Object 2             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `bodyHash`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| assertions           | Object 3                            | object    | An assertion for the `validatesJSONPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 3             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `validatesJSONPath`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Object 3             | property                            | string    | The associated assertion property.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 3             | target                              | object    | Composed target for `validatesJSONPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| target               | elementsOperator                    | string    | The element from the list of results to assert on.  To choose from the first element in the list `firstElementMatches`, every element in the list `everyElementMatches`, at least one element in the list `atLeastOneElementMatches` or the serialized value of the list `serializationMatches`.                                                                                                                                                                                                                                                             |
| target               | jsonPath                            | string    | The JSON path to assert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| target               | operator                            | string    | The specific operator to use on the path.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| target               | targetValue                         | <oneOf>   | The path target value to compare to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| targetValue          | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| targetValue          | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Object 3             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 4                            | object    | An assertion for the `validatesJSONSchema` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Object 4             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `validatesJSONSchema`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Object 4             | target                              | object    | Composed target for `validatesJSONSchema` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| target               | jsonSchema                          | string    | The JSON Schema to assert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| target               | metaSchema                          | enum      | The JSON Schema meta-schema version used in the assertion. Allowed enum values: `draft-07`, `draft-06`.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Object 4             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 5                            | object    | An assertion for the `validatesXPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Object 5             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `validatesXPath`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Object 5             | property                            | string    | The associated assertion property.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 5             | target                              | object    | Composed target for `validatesXPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| target               | operator                            | string    | The specific operator to use on the path.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| target               | targetValue                         | <oneOf>   | The path target value to compare to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| targetValue          | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| targetValue          | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| target               | xPath                               | string    | The X path to assert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Object 5             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 6                            | object    | A JavaScript assertion.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Object 6             | code [*required*]                   | string    | The JavaScript code that performs the assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Object 6             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `javascript`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| assertions           | Object 7                            | object    | An assertion that checks that an MCP server advertises the expected capabilities.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Object 7             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `contains`, `doesNotContain`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`, `matches`, `doesNotMatch`, `validates`, `isInMoreThan`, `isInLessThan`, `doesNotExist`, `isUndefined`.                                                                                                                                                                                                                                                                                          |
| Object 7             | target [*required*]                 | [string]  | List of MCP server capabilities to assert against.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 7             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `mcpServerCapabilities`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| assertions           | Object 8                            | object    | An assertion that verifies the MCP server response respects the MCP specification.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 8             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `mcpRespectsSpecification`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| config               | configVariables                     | [object]  | Array of variables used for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| configVariables      | example                             | string    | Example for the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| configVariables      | id                                  | string    | ID of the variable for global variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| configVariables      | name [*required*]                   | string    | Name of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| configVariables      | pattern                             | string    | Pattern of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| configVariables      | secure                              | boolean   | Whether the value of this variable will be obfuscated in test results. Only for config variables of type `text`.                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| configVariables      | type [*required*]                   | enum      | Type of the configuration variable. Allowed enum values: `global`, `text`, `email`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| config               | request [*required*]                | object    | Object describing the Synthetic test request.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| request              | allow_insecure                      | boolean   | Allows loading insecure content for an HTTP request in a multistep test step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| request              | basicAuth                           | <oneOf>   | Object to handle basic authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| basicAuth            | <type=web>                          | object    | Object to handle basic authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <type=web>           | password                            | string    | Password to use for the basic authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=web>           | type                                | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `web`. Default: `web`.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=web>           | username                            | string    | Username to use for the basic authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| basicAuth            | <type=sigv4>                        | object    | Object to handle `SIGV4` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| <type=sigv4>         | accessKey [*required*]              | string    | Access key for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| <type=sigv4>         | region                              | string    | Region for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| <type=sigv4>         | secretKey [*required*]              | string    | Secret key for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| <type=sigv4>         | serviceName                         | string    | Service name for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| <type=sigv4>         | sessionToken                        | string    | Session token for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=sigv4>         | type [*required*]                   | enum      | The type of authentication to use when performing the test. Allowed enum values: `sigv4`. Default: `sigv4`.                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| basicAuth            | <type=ntlm>                         | object    | Object to handle `NTLM` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=ntlm>          | domain                              | string    | Domain for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=ntlm>          | password                            | string    | Password for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=ntlm>          | type [*required*]                   | enum      | The type of authentication to use when performing the test. Allowed enum values: `ntlm`. Default: `ntlm`.                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <type=ntlm>          | username                            | string    | Username for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=ntlm>          | workstation                         | string    | Workstation for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| basicAuth            | <type=digest>                       | object    | Object to handle digest authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=digest>        | password [*required*]               | string    | Password to use for the digest authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=digest>        | type [*required*]                   | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `digest`. Default: `digest`.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=digest>        | username [*required*]               | string    | Username to use for the digest authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| basicAuth            | <type=oauth-client>                 | object    | Object to handle `oauth client` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <type=oauth-client>  | accessTokenUrl [*required*]         | string    | Access token URL to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| <type=oauth-client>  | audience                            | string    | Audience to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-client>  | clientId [*required*]               | string    | Client ID to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| <type=oauth-client>  | clientSecret [*required*]           | string    | Client secret to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <type=oauth-client>  | resource                            | string    | Resource to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-client>  | scope                               | string    | Scope to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=oauth-client>  | tokenApiAuthentication [*required*] | enum      | Type of token to use when performing the authentication. Allowed enum values: `header`, `body`.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <type=oauth-client>  | type [*required*]                   | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `oauth-client`. Default: `oauth-client`.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| basicAuth            | <type=oauth-rop>                    | object    | Object to handle `oauth rop` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| <type=oauth-rop>     | accessTokenUrl [*required*]         | string    | Access token URL to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| <type=oauth-rop>     | audience                            | string    | Audience to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-rop>     | clientId                            | string    | Client ID to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| <type=oauth-rop>     | clientSecret                        | string    | Client secret to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <type=oauth-rop>     | password [*required*]               | string    | Password to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-rop>     | resource                            | string    | Resource to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-rop>     | scope                               | string    | Scope to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=oauth-rop>     | tokenApiAuthentication [*required*] | enum      | Type of token to use when performing the authentication. Allowed enum values: `header`, `body`.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <type=oauth-rop>     | type [*required*]                   | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `oauth-rop`. Default: `oauth-rop`.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <type=oauth-rop>     | username [*required*]               | string    | Username to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| basicAuth            | <type=jwt>                          | object    | Object to handle JWT authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=jwt>           | addClaims                           | object    | Standard JWT claims to automatically inject.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| addClaims            | exp                                 | boolean   | Whether to inject the `exp` (expiration) claim.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| addClaims            | iat                                 | boolean   | Whether to inject the `iat` (issued at) claim.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=jwt>           | algorithm [*required*]              | enum      | Algorithm to use for the JWT authentication. Allowed enum values: `HS256`, `RS256`, `ES256`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| <type=jwt>           | expiresIn                           | int64     | Token time-to-live in seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=jwt>           | header                              | string    | Custom JWT header as a JSON string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=jwt>           | payload [*required*]                | string    | JWT claims as a JSON string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| <type=jwt>           | secret [*required*]                 | string    | Signing key for the JWT authentication. Use the shared secret for `HS256` or the private key (PEM format) for `RS256` and `ES256`.                                                                                                                                                                                                                                                                                                                                                                                                                           |
| <type=jwt>           | tokenPrefix                         | string    | Prefix added before the token in the `Authorization` header. Defaults to `Bearer`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| <type=jwt>           | type [*required*]                   | enum      | The type of authentication to use when performing the test. Allowed enum values: `jwt`. Default: `jwt`.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| request              | body                                | string    | Body to include in the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | bodyType                            | enum      | Type of the request body. Allowed enum values: `text/plain`, `application/json`, `text/xml`, `text/html`, `application/x-www-form-urlencoded`, `graphql`, `application/octet-stream`, `multipart/form-data`.                                                                                                                                                                                                                                                                                                                                                 |
| request              | callType                            | enum      | The type of call to perform. Used by gRPC steps (`healthcheck`, `unary`) and MCP steps (`init`, `tool_list`, `tool_call`). Valid values depend on the parent step's `subtype`. Allowed enum values: `healthcheck`, `unary`, `init`, `tool_list`, `tool_call`.                                                                                                                                                                                                                                                                                                |
| request              | certificate                         | object    | Client certificate to use when performing the test request.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| certificate          | cert                                | object    | Define a request certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| cert                 | content                             | string    | Content of the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| cert                 | filename                            | string    | File name for the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| cert                 | updatedAt                           | string    | Date of update of the certificate or key, ISO format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| certificate          | key                                 | object    | Define a request certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| key                  | content                             | string    | Content of the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| key                  | filename                            | string    | File name for the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| key                  | updatedAt                           | string    | Date of update of the certificate or key, ISO format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| request              | certificateDomains                  | [string]  | By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in `certificateDomains`.                                                                                                                                                                                                                                                                                                                                             |
| request              | checkCertificateRevocation          | boolean   | Check for certificate revocation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | compressedJsonDescriptor            | string    | A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| request              | compressedProtoFile                 | string    | A protobuf file that needs to be gzipped first then base64 encoded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| request              | disableAiaIntermediateFetching      | boolean   | Disable fetching intermediate certificates from AIA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| request              | dnsServer                           | string    | DNS server to use for DNS tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | dnsServerPort                       | <oneOf>   | DNS server port to use for DNS tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| dnsServerPort        | Object 1                            | int64     | Integer DNS server port number to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| dnsServerPort        | Object 2                            | string    | String DNS server port number to use when performing the test. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | files                               | [object]  | Files to be used as part of the request in the test. Only valid if `bodyType` is `multipart/form-data`.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| files                | bucketKey                           | string    | Bucket key of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| files                | content                             | string    | Content of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| files                | encoding                            | string    | Encoding of the file content. The only supported value is `base64`, indicating the `content` field contains base64-encoded data.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| files                | name                                | string    | Name of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| files                | originalFileName                    | string    | Original name of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| files                | size                                | int64     | Size of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| files                | type                                | string    | Type of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | follow_redirects                    | boolean   | Specifies whether or not the request follows redirects.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| request              | form                                | object    | Form to be used as part of the request in the test. Only valid if `bodyType` is `multipart/form-data`.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| additionalProperties | <any-key>                           | string    | A single form entry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| request              | headers                             | object    | Headers to include when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| additionalProperties | <any-key>                           | string    | A single Header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | host                                | string    | Host name to perform the test with.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| request              | httpVersion                         | enum      | HTTP version to use for a Synthetic test. Allowed enum values: `http1`, `http2`, `any`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| request              | ignore_certificate_validation       | boolean   | For SSL tests, whether the test should ignore certificate validation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| request              | isMessageBase64Encoded              | boolean   | Whether the message is base64 encoded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| request              | mcpProtocolVersion                  | enum      | The MCP protocol version used by the step. See <https://modelcontextprotocol.io/specification>. Allowed enum values: `2025-06-18`.                                                                                                                                                                                                                                                                                                                                                                                                                           |
| request              | message                             | string    | Message to send for UDP or WebSocket tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| request              | metadata                            | object    | Metadata to include when performing the gRPC test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| additionalProperties | <any-key>                           | string    | A single metadatum.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| request              | method                              | string    | Either the HTTP method/verb to use or a gRPC method available on the service set in the `service` field. Required if `subtype` is `HTTP` or if `subtype` is `grpc` and `callType` is `unary`.                                                                                                                                                                                                                                                                                                                                                                |
| request              | noSavingResponseBody                | boolean   | Determines whether or not to save the response body.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| request              | numberOfPackets                     | int32     | Number of pings to use per test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | persistCookies                      | boolean   | Persist cookies across redirects.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | port                                | <oneOf>   | Port to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| port                 | Object 1                            | int64     | Integer Port number to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| port                 | Object 2                            | string    | String Port number to use when performing the test. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | proxy                               | object    | The proxy to perform the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| proxy                | headers                             | object    | Headers to include when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| additionalProperties | <any-key>                           | string    | A single Header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| proxy                | url [*required*]                    | string    | URL of the proxy to perform the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| request              | query                               | object    | Query to use for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| request              | servername                          | string    | For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.                                                                                                                                                                                                                                                                                                                                                         |
| request              | service                             | string    | The gRPC service on which you want to perform the gRPC call.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | shouldTrackHops                     | boolean   | Turns on a traceroute probe to discover all gateways along the path to the host destination.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | timeout                             | double    | Timeout in seconds for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | toolArgs                            | object    | Arguments to pass to the MCP tool. Free-form object whose shape depends on the tool. Used when `callType` is `tool_call`.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| request              | toolName                            | string    | The name of the MCP tool to call. Required when `callType` is `tool_call`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| request              | url                                 | string    | URL to perform the test with.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| config               | setCookie                           | string    | Cookies to be used for the request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax.                                                                                                                                                                                                                                                                                                                                                                                                                     |
| config               | variables                           | [object]  | Array of variables used for the test steps.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| variables            | example                             | string    | Example for the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| variables            | id                                  | string    | ID for the variable. Global variables require an ID.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| variables            | name [*required*]                   | string    | Name of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| variables            | pattern                             | string    | Pattern of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| variables            | secure                              | boolean   | Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type `text`.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| variables            | type [*required*]                   | enum      | Type of browser test variable. Allowed enum values: `element`, `email`, `global`, `text`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|                      | locations [*required*]              | [string]  | Array of locations used to run the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|                      | message [*required*]                | string    | Notification message associated with the test. Message can either be text or an empty string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|                      | name [*required*]                   | string    | Name of the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|                      | options [*required*]                | object    | Object describing the extra options for a Synthetic test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | accept_self_signed                  | boolean   | For SSL tests, whether or not the test should allow self signed certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| options              | allow_insecure                      | boolean   | Allows loading insecure content for an HTTP request in an API test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | bits_ai_auto_investigate            | boolean   | Whether Bits AI automatically investigates alerts from the test monitor.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| options              | blockedRequestPatterns              | [string]  | Array of URL patterns to block.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| options              | captureNetworkPayloads              | boolean   | Capture HTTP request/response headers and bodies for Fetch/XHR calls made during browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| options              | checkCertificateRevocation          | boolean   | For SSL tests, whether or not the test should fail on revoked certificate in stapled OCSP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| options              | ci                                  | object    | CI/CD options for a Synthetic test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ci                   | executionRule [*required*]          | enum      | Execution rule for a Synthetic test. Allowed enum values: `blocking`, `non_blocking`, `skipped`.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| options              | device_ids                          | [string]  | For browser test, array with the different device IDs used to run the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| options              | disableAiaIntermediateFetching      | boolean   | For SSL tests, whether or not the test should disable fetching intermediate certificates from AIA.                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| options              | disableCors                         | boolean   | Whether or not to disable CORS mechanism.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | disableCsp                          | boolean   | Disable Content Security Policy for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| options              | enableProfiling                     | boolean   | Enable profiling for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | enableSecurityTesting               | boolean   | **DEPRECATED**: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.                                                                                                                                                                                                                                                                                                                                                                                                            |
| options              | follow_redirects                    | boolean   | For API HTTP test, whether or not the test should follow redirects.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | httpVersion                         | enum      | HTTP version to use for a Synthetic test. Allowed enum values: `http1`, `http2`, `any`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| options              | ignoreServerCertificateError        | boolean   | Ignore server certificate error for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| options              | ignore_certificate_validation       | boolean   | For SSL tests, whether the test should ignore certificate validation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| options              | initialNavigationTimeout            | int64     | Timeout before declaring the initial step as failed (in seconds) for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | min_failure_duration                | int64     | Minimum amount of time in failure required to trigger an alert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| options              | min_location_failed                 | int64     | Minimum number of locations in failure required to trigger an alert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| options              | monitor_name                        | string    | The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | monitor_options                     | object    | Object containing the options for a Synthetic test as a monitor (for example, renotification).                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| monitor_options      | escalation_message                  | string    | Message to include in the escalation notification.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| monitor_options      | notification_preset_name            | enum      | The name of the preset for the notification for the monitor. Allowed enum values: `show_all`, `hide_all`, `hide_query`, `hide_handles`, `hide_query_and_handles`, `show_only_snapshot`, `hide_handles_and_footer`.                                                                                                                                                                                                                                                                                                                                           |
| monitor_options      | renotify_interval                   | int64     | Time interval before renotifying if the test is still failing (in minutes).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| monitor_options      | renotify_occurrences                | int64     | The number of times to renotify if the test is still failing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| options              | monitor_priority                    | int32     | Integer from 1 (high) to 5 (low) indicating alert severity.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| options              | noScreenshot                        | boolean   | Prevents saving screenshots of the steps.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | restricted_roles                    | [string]  | **DEPRECATED**: A list of role identifiers that can be pulled from the Roles API, for restricting read and write access. This field is deprecated. Use the restriction policies API to manage permissions.                                                                                                                                                                                                                                                                                                                                                   |
| options              | retry                               | object    | Object describing the retry strategy to apply to a Synthetic test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| retry                | count                               | int64     | Number of times a test needs to be retried before marking a location as failed. Defaults to 0.                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| retry                | interval                            | double    | Time interval between retries (in milliseconds). Defaults to 300ms.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | rumSettings                         | object    | The RUM data collection settings for the Synthetic browser test. **Note:** There are 3 ways to format RUM settings: `{ isEnabled: false }` RUM data is not collected. `{ isEnabled: true }` RUM data is collected from the Synthetic test's default application. `{ isEnabled: true, applicationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", clientTokenId: 12345 }` RUM data is collected using the specified application.                                                                                                                                   |
| rumSettings          | applicationId                       | string    | RUM application ID used to collect RUM data for the browser test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| rumSettings          | clientTokenId                       | int64     | RUM application API key ID used to collect RUM data for the browser test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| rumSettings          | isEnabled [*required*]              | boolean   | Determines whether RUM data is collected during test runs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| options              | scheduling                          | object    | Object containing timeframes and timezone used for advanced scheduling.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| scheduling           | timeframes [*required*]             | [object]  | Array containing objects describing the scheduling pattern to apply to each day.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| timeframes           | day [*required*]                    | int32     | Number representing the day of the week.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| timeframes           | from [*required*]                   | string    | The hour of the day on which scheduling starts.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| timeframes           | to [*required*]                     | string    | The hour of the day on which scheduling ends.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| scheduling           | timezone [*required*]               | string    | Timezone in which the timeframe is based.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | tick_every                          | int64     | The frequency at which to run the Synthetic test (in seconds).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|                      | status                              | enum      | Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Allowed enum values: `live`, `paused`.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|                      | steps                               | [object]  | Array of steps for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| steps                | allowFailure                        | boolean   | A boolean set to allow this step to fail.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| steps                | alwaysExecute                       | boolean   | A boolean set to always execute this step even if the previous step failed or was skipped.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| steps                | exitIfSucceed                       | boolean   | A boolean set to exit the test if the step succeeds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| steps                | isCritical                          | boolean   | A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| steps                | name                                | string    | The name of the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| steps                | noScreenshot                        | boolean   | A boolean set to skip taking a screenshot for the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| steps                | params                              | object    | The parameters of the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| steps                | public_id                           | string    | The public ID of the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| steps                | timeout                             | int64     | The time before declaring a step failed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| steps                | type                                | enum      | Step type used in your Synthetic test. Allowed enum values: `assertCurrentUrl`, `assertElementAttribute`, `assertElementContent`, `assertElementPresent`, `assertEmail`, `assertFileDownload`, `assertFromJavascript`, `assertPageContains`, `assertPageLacks`, `assertRequests`, `click`, `drag`, `drop`, `extractFromJavascript`, `extractFromEmailBody`, `extractVariable`, `goToEmailLink`, `goToUrl`, `goToUrlAndMeasureTti`, `hover`, `playSubTest`, `pressKey`, `refresh`, `runApiTest`, `scroll`, `selectOption`, `typeText`, `uploadFiles`, `wait`. |
|                      | tags                                | [string]  | Array of tags attached to the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|                      | type [*required*]                   | enum      | Type of the Synthetic test, `browser`. Allowed enum values: `browser`. Default: `browser`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
{% /tab %}

{% tab label="Example" %}
```json
{
  "config": {
    "assertions": [
      {
        "operator": "contains",
        "property": "string",
        "target": 0,
        "timingsScope": "string",
        "type": "statusCode"
      }
    ],
    "configVariables": [
      {
        "example": "string",
        "id": "string",
        "name": "VARIABLE_NAME",
        "pattern": "string",
        "secure": false,
        "type": "text"
      }
    ],
    "request": {
      "allow_insecure": false,
      "basicAuth": {
        "password": "PaSSw0RD!",
        "type": "web",
        "username": "my_username"
      },
      "body": "string",
      "bodyType": "text/plain",
      "callType": "unary",
      "certificate": {
        "cert": {
          "content": "string",
          "filename": "string",
          "updatedAt": "string"
        },
        "key": {
          "content": "string",
          "filename": "string",
          "updatedAt": "string"
        }
      },
      "certificateDomains": [],
      "checkCertificateRevocation": false,
      "compressedJsonDescriptor": "string",
      "compressedProtoFile": "string",
      "disableAiaIntermediateFetching": false,
      "dnsServer": "string",
      "dnsServerPort": {
        "description": "undefined",
        "format": "undefined",
        "type": "undefined"
      },
      "files": [
        {
          "bucketKey": "string",
          "content": "string",
          "encoding": "string",
          "name": "string",
          "originalFileName": "string",
          "size": "integer",
          "type": "string"
        }
      ],
      "follow_redirects": false,
      "form": {
        "<any-key>": "string"
      },
      "headers": {
        "<any-key>": "string"
      },
      "host": "string",
      "httpVersion": "string",
      "ignore_certificate_validation": false,
      "isMessageBase64Encoded": false,
      "mcpProtocolVersion": "2025-06-18",
      "message": "string",
      "metadata": {
        "<any-key>": "string"
      },
      "method": "string",
      "noSavingResponseBody": false,
      "numberOfPackets": "integer",
      "persistCookies": false,
      "port": {
        "description": "undefined",
        "format": "undefined",
        "type": "undefined"
      },
      "proxy": {
        "headers": {
          "<any-key>": "string"
        },
        "url": "https://example.com"
      },
      "query": {},
      "servername": "string",
      "service": "Greeter",
      "shouldTrackHops": false,
      "timeout": "number",
      "toolArgs": {},
      "toolName": "search",
      "url": "https://example.com"
    },
    "setCookie": "string",
    "variables": [
      {
        "example": "string",
        "id": "string",
        "name": "VARIABLE_NAME",
        "pattern": "string",
        "secure": false,
        "type": "text"
      }
    ]
  },
  "locations": [
    "aws:eu-west-3"
  ],
  "message": "",
  "name": "Example test name",
  "options": {
    "accept_self_signed": false,
    "allow_insecure": false,
    "bits_ai_auto_investigate": false,
    "blockedRequestPatterns": [],
    "captureNetworkPayloads": false,
    "checkCertificateRevocation": false,
    "ci": {
      "executionRule": "blocking"
    },
    "device_ids": [
      "chrome.laptop_large"
    ],
    "disableAiaIntermediateFetching": false,
    "disableCors": false,
    "disableCsp": false,
    "enableProfiling": false,
    "enableSecurityTesting": false,
    "follow_redirects": false,
    "httpVersion": "string",
    "ignoreServerCertificateError": false,
    "ignore_certificate_validation": false,
    "initialNavigationTimeout": "integer",
    "min_failure_duration": "integer",
    "min_location_failed": "integer",
    "monitor_name": "string",
    "monitor_options": {
      "escalation_message": "string",
      "notification_preset_name": "string",
      "renotify_interval": "integer",
      "renotify_occurrences": "integer"
    },
    "monitor_priority": "integer",
    "noScreenshot": false,
    "restricted_roles": [
      "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    ],
    "retry": {
      "count": "integer",
      "interval": "number"
    },
    "rumSettings": {
      "applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "clientTokenId": 12345,
      "isEnabled": true
    },
    "scheduling": {
      "timeframes": [
        {
          "day": 1,
          "from": "07:00",
          "to": "16:00"
        }
      ],
      "timezone": "America/New_York"
    },
    "tick_every": "integer"
  },
  "status": "live",
  "steps": [
    {
      "allowFailure": false,
      "alwaysExecute": false,
      "exitIfSucceed": false,
      "isCritical": false,
      "name": "string",
      "noScreenshot": false,
      "params": {},
      "public_id": "string",
      "timeout": "integer",
      "type": "assertElementContent"
    }
  ],
  "tags": [
    "env:prod"
  ],
  "type": "browser"
}
```
{% /tab %}
{% /tabs %}

### Response

{% tabs %}
{% tab label="200" %}
OK

{% tabs %}
{% tab label="Model" %}
Object containing details about a Synthetic browser test.

| Parent field         | Field                               | Type      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------- | ----------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|                      | config [*required*]                 | object    | Configuration object for a Synthetic browser test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| config               | assertions [*required*]             | [<oneOf>] | Array of assertions used for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| assertions           | Object 1                            | object    | An assertion which uses a simple target.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Object 1             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `contains`, `doesNotContain`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`, `matches`, `doesNotMatch`, `validates`, `isInMoreThan`, `isInLessThan`, `doesNotExist`, `isUndefined`.                                                                                                                                                                                                                                                                                          |
| Object 1             | property                            | string    | The associated assertion property.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 1             | target [*required*]                 | <oneOf>   | Value used by the operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| target               | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| target               | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Object 1             | timingsScope                        | enum      | Timings scope for response time assertions. Allowed enum values: `all`, `withoutDNS`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Object 1             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 2                            | object    | An assertion which targets body hash.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Object 2             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `md5`, `sha1`, `sha256`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Object 2             | target [*required*]                 | <oneOf>   | Value used by the operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| target               | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| target               | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Object 2             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `bodyHash`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| assertions           | Object 3                            | object    | An assertion for the `validatesJSONPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 3             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `validatesJSONPath`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Object 3             | property                            | string    | The associated assertion property.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 3             | target                              | object    | Composed target for `validatesJSONPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| target               | elementsOperator                    | string    | The element from the list of results to assert on.  To choose from the first element in the list `firstElementMatches`, every element in the list `everyElementMatches`, at least one element in the list `atLeastOneElementMatches` or the serialized value of the list `serializationMatches`.                                                                                                                                                                                                                                                             |
| target               | jsonPath                            | string    | The JSON path to assert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| target               | operator                            | string    | The specific operator to use on the path.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| target               | targetValue                         | <oneOf>   | The path target value to compare to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| targetValue          | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| targetValue          | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Object 3             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 4                            | object    | An assertion for the `validatesJSONSchema` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Object 4             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `validatesJSONSchema`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Object 4             | target                              | object    | Composed target for `validatesJSONSchema` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| target               | jsonSchema                          | string    | The JSON Schema to assert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| target               | metaSchema                          | enum      | The JSON Schema meta-schema version used in the assertion. Allowed enum values: `draft-07`, `draft-06`.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Object 4             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 5                            | object    | An assertion for the `validatesXPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Object 5             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `validatesXPath`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Object 5             | property                            | string    | The associated assertion property.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 5             | target                              | object    | Composed target for `validatesXPath` operator.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| target               | operator                            | string    | The specific operator to use on the path.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| target               | targetValue                         | <oneOf>   | The path target value to compare to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| targetValue          | Object 1                            | double    | Numeric value used by the operator in assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| targetValue          | Object 2                            | string    | String value used by the operator in assertions. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| target               | xPath                               | string    | The X path to assert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Object 5             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `body`, `header`, `statusCode`, `certificate`, `responseTime`, `property`, `recordEvery`, `recordSome`, `tlsVersion`, `minTlsVersion`, `latency`, `packetLossPercentage`, `packetsReceived`, `networkHop`, `receivedMessage`, `grpcHealthcheckStatus`, `grpcMetadata`, `grpcProto`, `connection`, `multiNetworkHop`, `jitter`, `mcpToolNameLength`, `mcpToolCount`.                                                                                                                                              |
| assertions           | Object 6                            | object    | A JavaScript assertion.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Object 6             | code [*required*]                   | string    | The JavaScript code that performs the assertions.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Object 6             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `javascript`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| assertions           | Object 7                            | object    | An assertion that checks that an MCP server advertises the expected capabilities.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Object 7             | operator [*required*]               | enum      | Assertion operator to apply. Allowed enum values: `contains`, `doesNotContain`, `is`, `isNot`, `lessThan`, `lessThanOrEqual`, `moreThan`, `moreThanOrEqual`, `matches`, `doesNotMatch`, `validates`, `isInMoreThan`, `isInLessThan`, `doesNotExist`, `isUndefined`.                                                                                                                                                                                                                                                                                          |
| Object 7             | target [*required*]                 | [string]  | List of MCP server capabilities to assert against.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 7             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `mcpServerCapabilities`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| assertions           | Object 8                            | object    | An assertion that verifies the MCP server response respects the MCP specification.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Object 8             | type [*required*]                   | enum      | Type of the assertion. Allowed enum values: `mcpRespectsSpecification`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| config               | configVariables                     | [object]  | Array of variables used for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| configVariables      | example                             | string    | Example for the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| configVariables      | id                                  | string    | ID of the variable for global variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| configVariables      | name [*required*]                   | string    | Name of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| configVariables      | pattern                             | string    | Pattern of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| configVariables      | secure                              | boolean   | Whether the value of this variable will be obfuscated in test results. Only for config variables of type `text`.                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| configVariables      | type [*required*]                   | enum      | Type of the configuration variable. Allowed enum values: `global`, `text`, `email`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| config               | request [*required*]                | object    | Object describing the Synthetic test request.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| request              | allow_insecure                      | boolean   | Allows loading insecure content for an HTTP request in a multistep test step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| request              | basicAuth                           | <oneOf>   | Object to handle basic authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| basicAuth            | <type=web>                          | object    | Object to handle basic authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <type=web>           | password                            | string    | Password to use for the basic authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=web>           | type                                | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `web`. Default: `web`.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=web>           | username                            | string    | Username to use for the basic authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| basicAuth            | <type=sigv4>                        | object    | Object to handle `SIGV4` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| <type=sigv4>         | accessKey [*required*]              | string    | Access key for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| <type=sigv4>         | region                              | string    | Region for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| <type=sigv4>         | secretKey [*required*]              | string    | Secret key for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| <type=sigv4>         | serviceName                         | string    | Service name for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| <type=sigv4>         | sessionToken                        | string    | Session token for the `SIGV4` authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=sigv4>         | type [*required*]                   | enum      | The type of authentication to use when performing the test. Allowed enum values: `sigv4`. Default: `sigv4`.                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| basicAuth            | <type=ntlm>                         | object    | Object to handle `NTLM` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=ntlm>          | domain                              | string    | Domain for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=ntlm>          | password                            | string    | Password for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=ntlm>          | type [*required*]                   | enum      | The type of authentication to use when performing the test. Allowed enum values: `ntlm`. Default: `ntlm`.                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <type=ntlm>          | username                            | string    | Username for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=ntlm>          | workstation                         | string    | Workstation for the authentication to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| basicAuth            | <type=digest>                       | object    | Object to handle digest authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=digest>        | password [*required*]               | string    | Password to use for the digest authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=digest>        | type [*required*]                   | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `digest`. Default: `digest`.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=digest>        | username [*required*]               | string    | Username to use for the digest authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| basicAuth            | <type=oauth-client>                 | object    | Object to handle `oauth client` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <type=oauth-client>  | accessTokenUrl [*required*]         | string    | Access token URL to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| <type=oauth-client>  | audience                            | string    | Audience to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-client>  | clientId [*required*]               | string    | Client ID to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| <type=oauth-client>  | clientSecret [*required*]           | string    | Client secret to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <type=oauth-client>  | resource                            | string    | Resource to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-client>  | scope                               | string    | Scope to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=oauth-client>  | tokenApiAuthentication [*required*] | enum      | Type of token to use when performing the authentication. Allowed enum values: `header`, `body`.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <type=oauth-client>  | type [*required*]                   | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `oauth-client`. Default: `oauth-client`.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| basicAuth            | <type=oauth-rop>                    | object    | Object to handle `oauth rop` authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| <type=oauth-rop>     | accessTokenUrl [*required*]         | string    | Access token URL to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| <type=oauth-rop>     | audience                            | string    | Audience to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-rop>     | clientId                            | string    | Client ID to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| <type=oauth-rop>     | clientSecret                        | string    | Client secret to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| <type=oauth-rop>     | password [*required*]               | string    | Password to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-rop>     | resource                            | string    | Resource to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=oauth-rop>     | scope                               | string    | Scope to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <type=oauth-rop>     | tokenApiAuthentication [*required*] | enum      | Type of token to use when performing the authentication. Allowed enum values: `header`, `body`.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <type=oauth-rop>     | type [*required*]                   | enum      | The type of basic authentication to use when performing the test. Allowed enum values: `oauth-rop`. Default: `oauth-rop`.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <type=oauth-rop>     | username [*required*]               | string    | Username to use when performing the authentication.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| basicAuth            | <type=jwt>                          | object    | Object to handle JWT authentication when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <type=jwt>           | addClaims                           | object    | Standard JWT claims to automatically inject.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| addClaims            | exp                                 | boolean   | Whether to inject the `exp` (expiration) claim.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| addClaims            | iat                                 | boolean   | Whether to inject the `iat` (issued at) claim.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=jwt>           | algorithm [*required*]              | enum      | Algorithm to use for the JWT authentication. Allowed enum values: `HS256`, `RS256`, `ES256`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| <type=jwt>           | expiresIn                           | int64     | Token time-to-live in seconds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <type=jwt>           | header                              | string    | Custom JWT header as a JSON string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <type=jwt>           | payload [*required*]                | string    | JWT claims as a JSON string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| <type=jwt>           | secret [*required*]                 | string    | Signing key for the JWT authentication. Use the shared secret for `HS256` or the private key (PEM format) for `RS256` and `ES256`.                                                                                                                                                                                                                                                                                                                                                                                                                           |
| <type=jwt>           | tokenPrefix                         | string    | Prefix added before the token in the `Authorization` header. Defaults to `Bearer`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| <type=jwt>           | type [*required*]                   | enum      | The type of authentication to use when performing the test. Allowed enum values: `jwt`. Default: `jwt`.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| request              | body                                | string    | Body to include in the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | bodyType                            | enum      | Type of the request body. Allowed enum values: `text/plain`, `application/json`, `text/xml`, `text/html`, `application/x-www-form-urlencoded`, `graphql`, `application/octet-stream`, `multipart/form-data`.                                                                                                                                                                                                                                                                                                                                                 |
| request              | callType                            | enum      | The type of call to perform. Used by gRPC steps (`healthcheck`, `unary`) and MCP steps (`init`, `tool_list`, `tool_call`). Valid values depend on the parent step's `subtype`. Allowed enum values: `healthcheck`, `unary`, `init`, `tool_list`, `tool_call`.                                                                                                                                                                                                                                                                                                |
| request              | certificate                         | object    | Client certificate to use when performing the test request.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| certificate          | cert                                | object    | Define a request certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| cert                 | content                             | string    | Content of the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| cert                 | filename                            | string    | File name for the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| cert                 | updatedAt                           | string    | Date of update of the certificate or key, ISO format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| certificate          | key                                 | object    | Define a request certificate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| key                  | content                             | string    | Content of the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| key                  | filename                            | string    | File name for the certificate or key.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| key                  | updatedAt                           | string    | Date of update of the certificate or key, ISO format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| request              | certificateDomains                  | [string]  | By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in `certificateDomains`.                                                                                                                                                                                                                                                                                                                                             |
| request              | checkCertificateRevocation          | boolean   | Check for certificate revocation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | compressedJsonDescriptor            | string    | A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| request              | compressedProtoFile                 | string    | A protobuf file that needs to be gzipped first then base64 encoded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| request              | disableAiaIntermediateFetching      | boolean   | Disable fetching intermediate certificates from AIA.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| request              | dnsServer                           | string    | DNS server to use for DNS tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | dnsServerPort                       | <oneOf>   | DNS server port to use for DNS tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| dnsServerPort        | Object 1                            | int64     | Integer DNS server port number to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| dnsServerPort        | Object 2                            | string    | String DNS server port number to use when performing the test. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | files                               | [object]  | Files to be used as part of the request in the test. Only valid if `bodyType` is `multipart/form-data`.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| files                | bucketKey                           | string    | Bucket key of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| files                | content                             | string    | Content of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| files                | encoding                            | string    | Encoding of the file content. The only supported value is `base64`, indicating the `content` field contains base64-encoded data.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| files                | name                                | string    | Name of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| files                | originalFileName                    | string    | Original name of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| files                | size                                | int64     | Size of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| files                | type                                | string    | Type of the file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | follow_redirects                    | boolean   | Specifies whether or not the request follows redirects.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| request              | form                                | object    | Form to be used as part of the request in the test. Only valid if `bodyType` is `multipart/form-data`.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| additionalProperties | <any-key>                           | string    | A single form entry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| request              | headers                             | object    | Headers to include when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| additionalProperties | <any-key>                           | string    | A single Header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | host                                | string    | Host name to perform the test with.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| request              | httpVersion                         | enum      | HTTP version to use for a Synthetic test. Allowed enum values: `http1`, `http2`, `any`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| request              | ignore_certificate_validation       | boolean   | For SSL tests, whether the test should ignore certificate validation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| request              | isMessageBase64Encoded              | boolean   | Whether the message is base64 encoded.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| request              | mcpProtocolVersion                  | enum      | The MCP protocol version used by the step. See <https://modelcontextprotocol.io/specification>. Allowed enum values: `2025-06-18`.                                                                                                                                                                                                                                                                                                                                                                                                                           |
| request              | message                             | string    | Message to send for UDP or WebSocket tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| request              | metadata                            | object    | Metadata to include when performing the gRPC test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| additionalProperties | <any-key>                           | string    | A single metadatum.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| request              | method                              | string    | Either the HTTP method/verb to use or a gRPC method available on the service set in the `service` field. Required if `subtype` is `HTTP` or if `subtype` is `grpc` and `callType` is `unary`.                                                                                                                                                                                                                                                                                                                                                                |
| request              | noSavingResponseBody                | boolean   | Determines whether or not to save the response body.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| request              | numberOfPackets                     | int32     | Number of pings to use per test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | persistCookies                      | boolean   | Persist cookies across redirects.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | port                                | <oneOf>   | Port to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| port                 | Object 1                            | int64     | Integer Port number to use when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| port                 | Object 2                            | string    | String Port number to use when performing the test. Supports templated variables.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| request              | proxy                               | object    | The proxy to perform the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| proxy                | headers                             | object    | Headers to include when performing the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| additionalProperties | <any-key>                           | string    | A single Header.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| proxy                | url [*required*]                    | string    | URL of the proxy to perform the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| request              | query                               | object    | Query to use for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| request              | servername                          | string    | For SSL tests, it specifies on which server you want to initiate the TLS handshake, allowing the server to present one of multiple possible certificates on the same IP address and TCP port number.                                                                                                                                                                                                                                                                                                                                                         |
| request              | service                             | string    | The gRPC service on which you want to perform the gRPC call.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | shouldTrackHops                     | boolean   | Turns on a traceroute probe to discover all gateways along the path to the host destination.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| request              | timeout                             | double    | Timeout in seconds for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request              | toolArgs                            | object    | Arguments to pass to the MCP tool. Free-form object whose shape depends on the tool. Used when `callType` is `tool_call`.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| request              | toolName                            | string    | The name of the MCP tool to call. Required when `callType` is `tool_call`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| request              | url                                 | string    | URL to perform the test with.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| config               | setCookie                           | string    | Cookies to be used for the request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax.                                                                                                                                                                                                                                                                                                                                                                                                                     |
| config               | variables                           | [object]  | Array of variables used for the test steps.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| variables            | example                             | string    | Example for the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| variables            | id                                  | string    | ID for the variable. Global variables require an ID.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| variables            | name [*required*]                   | string    | Name of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| variables            | pattern                             | string    | Pattern of the variable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| variables            | secure                              | boolean   | Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type `text`.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| variables            | type [*required*]                   | enum      | Type of browser test variable. Allowed enum values: `element`, `email`, `global`, `text`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|                      | locations [*required*]              | [string]  | Array of locations used to run the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|                      | message [*required*]                | string    | Notification message associated with the test. Message can either be text or an empty string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|                      | monitor_id                          | int64     | The associated monitor ID. Read-only.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|                      | name [*required*]                   | string    | Name of the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|                      | options [*required*]                | object    | Object describing the extra options for a Synthetic test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | accept_self_signed                  | boolean   | For SSL tests, whether or not the test should allow self signed certificates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| options              | allow_insecure                      | boolean   | Allows loading insecure content for an HTTP request in an API test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | bits_ai_auto_investigate            | boolean   | Whether Bits AI automatically investigates alerts from the test monitor.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| options              | blockedRequestPatterns              | [string]  | Array of URL patterns to block.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| options              | captureNetworkPayloads              | boolean   | Capture HTTP request/response headers and bodies for Fetch/XHR calls made during browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| options              | checkCertificateRevocation          | boolean   | For SSL tests, whether or not the test should fail on revoked certificate in stapled OCSP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| options              | ci                                  | object    | CI/CD options for a Synthetic test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ci                   | executionRule [*required*]          | enum      | Execution rule for a Synthetic test. Allowed enum values: `blocking`, `non_blocking`, `skipped`.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| options              | device_ids                          | [string]  | For browser test, array with the different device IDs used to run the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| options              | disableAiaIntermediateFetching      | boolean   | For SSL tests, whether or not the test should disable fetching intermediate certificates from AIA.                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| options              | disableCors                         | boolean   | Whether or not to disable CORS mechanism.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | disableCsp                          | boolean   | Disable Content Security Policy for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| options              | enableProfiling                     | boolean   | Enable profiling for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | enableSecurityTesting               | boolean   | **DEPRECATED**: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.                                                                                                                                                                                                                                                                                                                                                                                                            |
| options              | follow_redirects                    | boolean   | For API HTTP test, whether or not the test should follow redirects.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | httpVersion                         | enum      | HTTP version to use for a Synthetic test. Allowed enum values: `http1`, `http2`, `any`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| options              | ignoreServerCertificateError        | boolean   | Ignore server certificate error for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| options              | ignore_certificate_validation       | boolean   | For SSL tests, whether the test should ignore certificate validation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| options              | initialNavigationTimeout            | int64     | Timeout before declaring the initial step as failed (in seconds) for browser tests.                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | min_failure_duration                | int64     | Minimum amount of time in failure required to trigger an alert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| options              | min_location_failed                 | int64     | Minimum number of locations in failure required to trigger an alert.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| options              | monitor_name                        | string    | The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | monitor_options                     | object    | Object containing the options for a Synthetic test as a monitor (for example, renotification).                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| monitor_options      | escalation_message                  | string    | Message to include in the escalation notification.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| monitor_options      | notification_preset_name            | enum      | The name of the preset for the notification for the monitor. Allowed enum values: `show_all`, `hide_all`, `hide_query`, `hide_handles`, `hide_query_and_handles`, `show_only_snapshot`, `hide_handles_and_footer`.                                                                                                                                                                                                                                                                                                                                           |
| monitor_options      | renotify_interval                   | int64     | Time interval before renotifying if the test is still failing (in minutes).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| monitor_options      | renotify_occurrences                | int64     | The number of times to renotify if the test is still failing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| options              | monitor_priority                    | int32     | Integer from 1 (high) to 5 (low) indicating alert severity.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| options              | noScreenshot                        | boolean   | Prevents saving screenshots of the steps.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | restricted_roles                    | [string]  | **DEPRECATED**: A list of role identifiers that can be pulled from the Roles API, for restricting read and write access. This field is deprecated. Use the restriction policies API to manage permissions.                                                                                                                                                                                                                                                                                                                                                   |
| options              | retry                               | object    | Object describing the retry strategy to apply to a Synthetic test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| retry                | count                               | int64     | Number of times a test needs to be retried before marking a location as failed. Defaults to 0.                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| retry                | interval                            | double    | Time interval between retries (in milliseconds). Defaults to 300ms.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| options              | rumSettings                         | object    | The RUM data collection settings for the Synthetic browser test. **Note:** There are 3 ways to format RUM settings: `{ isEnabled: false }` RUM data is not collected. `{ isEnabled: true }` RUM data is collected from the Synthetic test's default application. `{ isEnabled: true, applicationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", clientTokenId: 12345 }` RUM data is collected using the specified application.                                                                                                                                   |
| rumSettings          | applicationId                       | string    | RUM application ID used to collect RUM data for the browser test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| rumSettings          | clientTokenId                       | int64     | RUM application API key ID used to collect RUM data for the browser test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| rumSettings          | isEnabled [*required*]              | boolean   | Determines whether RUM data is collected during test runs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| options              | scheduling                          | object    | Object containing timeframes and timezone used for advanced scheduling.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| scheduling           | timeframes [*required*]             | [object]  | Array containing objects describing the scheduling pattern to apply to each day.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| timeframes           | day [*required*]                    | int32     | Number representing the day of the week.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| timeframes           | from [*required*]                   | string    | The hour of the day on which scheduling starts.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| timeframes           | to [*required*]                     | string    | The hour of the day on which scheduling ends.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| scheduling           | timezone [*required*]               | string    | Timezone in which the timeframe is based.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| options              | tick_every                          | int64     | The frequency at which to run the Synthetic test (in seconds).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|                      | public_id                           | string    | The public ID of the test. Read-only.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|                      | status                              | enum      | Define whether you want to start (`live`) or pause (`paused`) a Synthetic test. Allowed enum values: `live`, `paused`.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|                      | steps                               | [object]  | Array of steps for the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| steps                | allowFailure                        | boolean   | A boolean set to allow this step to fail.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| steps                | alwaysExecute                       | boolean   | A boolean set to always execute this step even if the previous step failed or was skipped.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| steps                | exitIfSucceed                       | boolean   | A boolean set to exit the test if the step succeeds.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| steps                | isCritical                          | boolean   | A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| steps                | name                                | string    | The name of the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| steps                | noScreenshot                        | boolean   | A boolean set to skip taking a screenshot for the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| steps                | params                              | object    | The parameters of the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| steps                | public_id                           | string    | The public ID of the step.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| steps                | timeout                             | int64     | The time before declaring a step failed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| steps                | type                                | enum      | Step type used in your Synthetic test. Allowed enum values: `assertCurrentUrl`, `assertElementAttribute`, `assertElementContent`, `assertElementPresent`, `assertEmail`, `assertFileDownload`, `assertFromJavascript`, `assertPageContains`, `assertPageLacks`, `assertRequests`, `click`, `drag`, `drop`, `extractFromJavascript`, `extractFromEmailBody`, `extractVariable`, `goToEmailLink`, `goToUrl`, `goToUrlAndMeasureTti`, `hover`, `playSubTest`, `pressKey`, `refresh`, `runApiTest`, `scroll`, `selectOption`, `typeText`, `uploadFiles`, `wait`. |
|                      | tags                                | [string]  | Array of tags attached to the test.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|                      | type [*required*]                   | enum      | Type of the Synthetic test, `browser`. Allowed enum values: `browser`. Default: `browser`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
{% /tab %}

{% tab label="Example" %}
```json
{
  "config": {
    "assertions": [
      {
        "operator": "contains",
        "property": "string",
        "target": 0,
        "timingsScope": "string",
        "type": "statusCode"
      }
    ],
    "configVariables": [
      {
        "example": "string",
        "id": "string",
        "name": "VARIABLE_NAME",
        "pattern": "string",
        "secure": false,
        "type": "text"
      }
    ],
    "request": {
      "allow_insecure": false,
      "basicAuth": {
        "password": "PaSSw0RD!",
        "type": "web",
        "username": "my_username"
      },
      "body": "string",
      "bodyType": "text/plain",
      "callType": "unary",
      "certificate": {
        "cert": {
          "content": "string",
          "filename": "string",
          "updatedAt": "string"
        },
        "key": {
          "content": "string",
          "filename": "string",
          "updatedAt": "string"
        }
      },
      "certificateDomains": [],
      "checkCertificateRevocation": false,
      "compressedJsonDescriptor": "string",
      "compressedProtoFile": "string",
      "disableAiaIntermediateFetching": false,
      "dnsServer": "string",
      "dnsServerPort": {
        "description": "undefined",
        "format": "undefined",
        "type": "undefined"
      },
      "files": [
        {
          "bucketKey": "string",
          "content": "string",
          "encoding": "string",
          "name": "string",
          "originalFileName": "string",
          "size": "integer",
          "type": "string"
        }
      ],
      "follow_redirects": false,
      "form": {
        "<any-key>": "string"
      },
      "headers": {
        "<any-key>": "string"
      },
      "host": "string",
      "httpVersion": "string",
      "ignore_certificate_validation": false,
      "isMessageBase64Encoded": false,
      "mcpProtocolVersion": "2025-06-18",
      "message": "string",
      "metadata": {
        "<any-key>": "string"
      },
      "method": "string",
      "noSavingResponseBody": false,
      "numberOfPackets": "integer",
      "persistCookies": false,
      "port": {
        "description": "undefined",
        "format": "undefined",
        "type": "undefined"
      },
      "proxy": {
        "headers": {
          "<any-key>": "string"
        },
        "url": "https://example.com"
      },
      "query": {},
      "servername": "string",
      "service": "Greeter",
      "shouldTrackHops": false,
      "timeout": "number",
      "toolArgs": {},
      "toolName": "search",
      "url": "https://example.com"
    },
    "setCookie": "string",
    "variables": [
      {
        "example": "string",
        "id": "string",
        "name": "VARIABLE_NAME",
        "pattern": "string",
        "secure": false,
        "type": "text"
      }
    ]
  },
  "locations": [
    "aws:eu-west-3"
  ],
  "message": "",
  "monitor_id": "integer",
  "name": "Example test name",
  "options": {
    "accept_self_signed": false,
    "allow_insecure": false,
    "bits_ai_auto_investigate": false,
    "blockedRequestPatterns": [],
    "captureNetworkPayloads": false,
    "checkCertificateRevocation": false,
    "ci": {
      "executionRule": "blocking"
    },
    "device_ids": [
      "chrome.laptop_large"
    ],
    "disableAiaIntermediateFetching": false,
    "disableCors": false,
    "disableCsp": false,
    "enableProfiling": false,
    "enableSecurityTesting": false,
    "follow_redirects": false,
    "httpVersion": "string",
    "ignoreServerCertificateError": false,
    "ignore_certificate_validation": false,
    "initialNavigationTimeout": "integer",
    "min_failure_duration": "integer",
    "min_location_failed": "integer",
    "monitor_name": "string",
    "monitor_options": {
      "escalation_message": "string",
      "notification_preset_name": "string",
      "renotify_interval": "integer",
      "renotify_occurrences": "integer"
    },
    "monitor_priority": "integer",
    "noScreenshot": false,
    "restricted_roles": [
      "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    ],
    "retry": {
      "count": "integer",
      "interval": "number"
    },
    "rumSettings": {
      "applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "clientTokenId": 12345,
      "isEnabled": true
    },
    "scheduling": {
      "timeframes": [
        {
          "day": 1,
          "from": "07:00",
          "to": "16:00"
        }
      ],
      "timezone": "America/New_York"
    },
    "tick_every": "integer"
  },
  "public_id": "string",
  "status": "live",
  "steps": [
    {
      "allowFailure": false,
      "alwaysExecute": false,
      "exitIfSucceed": false,
      "isCritical": false,
      "name": "string",
      "noScreenshot": false,
      "params": {},
      "public_id": "string",
      "timeout": "integer",
      "type": "assertElementContent"
    }
  ],
  "tags": [
    "env:prod"
  ],
  "type": "browser"
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="400" %}
- JSON format is wrong
- Updating sub-type is forbidden

{% tabs %}
{% tab label="Model" %}
Error response object.

| Field               | Type     | Description                          |
| ------------------- | -------- | ------------------------------------ |
| errors [*required*] | [string] | Array of errors returned by the API. |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    "Bad Request"
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="403" %}
Forbidden

{% tabs %}
{% tab label="Model" %}
Error response object.

| Field               | Type     | Description                          |
| ------------------- | -------- | ------------------------------------ |
| errors [*required*] | [string] | Array of errors returned by the API. |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    "Bad Request"
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="404" %}
- Synthetic Monitoring is not activated for the user
- Test is not owned by the user
- Test can't be found

{% tabs %}
{% tab label="Model" %}
Error response object.

| Field               | Type     | Description                          |
| ------------------- | -------- | ------------------------------------ |
| errors [*required*] | [string] | Array of errors returned by the API. |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    "Bad Request"
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="429" %}
Too many requests

{% tabs %}
{% tab label="Model" %}
Error response object.

| Field               | Type     | Description                          |
| ------------------- | -------- | ------------------------------------ |
| errors [*required*] | [string] | Array of errors returned by the API. |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    "Bad Request"
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}
{% /tabs %}

### Code Example

{% tabs %}
{% tab label="Curl" %}
```bash
# Path parameters
export public_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.com" # Or us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu, ap1.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com, ddog-gov.com, us2.ddog-gov.com
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "config": {
    "assertions": [],
    "request": {
      "method": "GET",
      "url": "https://example.com"
    }
  },
  "locations": [
    "aws:eu-west-3"
  ],
  "message": "",
  "name": "Example browser test",
  "options": {
    "device_ids": [
      "chrome.laptop_large"
    ],
    "tick_every": 3600
  },
  "status": "live",
  "steps": [
    {
      "name": "Check current URL",
      "params": {
        "check": "contains",
        "value": "example"
      },
      "type": "assertCurrentUrl"
    }
  ],
  "tags": [
    "env:production"
  ],
  "type": "browser"
}
EOF
```
{% /tab %}

{% tab label="Go" %}
```go
// Edit a browser test returns "OK" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)

func main() {
	body := datadogV1.SyntheticsBrowserTest{
		Config: datadogV1.SyntheticsBrowserTestConfig{
			Assertions: []datadogV1.SyntheticsAssertion{},
			ConfigVariables: []datadogV1.SyntheticsConfigVariable{
				{
					Name:   "VARIABLE_NAME",
					Secure: datadog.PtrBool(false),
					Type:   datadogV1.SYNTHETICSCONFIGVARIABLETYPE_TEXT,
				},
			},
			Request: datadogV1.SyntheticsTestRequest{
				BasicAuth: &datadogV1.SyntheticsBasicAuth{
					SyntheticsBasicAuthWeb: &datadogV1.SyntheticsBasicAuthWeb{
						Password: datadog.PtrString("PaSSw0RD!"),
						Type:     datadogV1.SYNTHETICSBASICAUTHWEBTYPE_WEB.Ptr(),
						Username: datadog.PtrString("my_username"),
					}},
				BodyType: datadogV1.SYNTHETICSTESTREQUESTBODYTYPE_TEXT_PLAIN.Ptr(),
				CallType: datadogV1.SYNTHETICSTESTCALLTYPE_UNARY.Ptr(),
				Certificate: &datadogV1.SyntheticsTestRequestCertificate{
					Cert: &datadogV1.SyntheticsTestRequestCertificateItem{},
					Key:  &datadogV1.SyntheticsTestRequestCertificateItem{},
				},
				CertificateDomains: []string{},
				Files: []datadogV1.SyntheticsTestRequestBodyFile{
					{},
				},
				HttpVersion:        datadogV1.SYNTHETICSTESTOPTIONSHTTPVERSION_HTTP1.Ptr(),
				McpProtocolVersion: datadogV1.SYNTHETICSMCPPROTOCOLVERSION_VERSION_2025_06_18.Ptr(),
				Proxy: &datadogV1.SyntheticsTestRequestProxy{
					Url: "https://example.com",
				},
				Service:  datadog.PtrString("Greeter"),
				ToolName: datadog.PtrString("search"),
				Url:      datadog.PtrString("https://example.com"),
			},
			Variables: []datadogV1.SyntheticsBrowserVariable{
				{
					Name: "VARIABLE_NAME",
					Type: datadogV1.SYNTHETICSBROWSERVARIABLETYPE_TEXT,
				},
			},
		},
		Locations: []string{
			"aws:eu-west-3",
		},
		Message: "",
		Name:    "Example test name",
		Options: datadogV1.SyntheticsTestOptions{
			BlockedRequestPatterns: []string{},
			Ci: &datadogV1.SyntheticsTestCiOptions{
				ExecutionRule: datadogV1.SYNTHETICSTESTEXECUTIONRULE_BLOCKING,
			},
			DeviceIds: []string{
				"chrome.laptop_large",
			},
			HttpVersion: datadogV1.SYNTHETICSTESTOPTIONSHTTPVERSION_HTTP1.Ptr(),
			MonitorOptions: &datadogV1.SyntheticsTestOptionsMonitorOptions{
				NotificationPresetName: datadogV1.SYNTHETICSTESTOPTIONSMONITOROPTIONSNOTIFICATIONPRESETNAME_SHOW_ALL.Ptr(),
			},
			RestrictedRoles: []string{
				"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
			},
			Retry: &datadogV1.SyntheticsTestOptionsRetry{},
			RumSettings: &datadogV1.SyntheticsBrowserTestRumSettings{
				ApplicationId: datadog.PtrString("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
				ClientTokenId: datadog.PtrInt64(12345),
				IsEnabled:     true,
			},
			Scheduling: &datadogV1.SyntheticsTestOptionsScheduling{
				Timeframes: []datadogV1.SyntheticsTestOptionsSchedulingTimeframe{
					{
						Day:  1,
						From: "07:00",
						To:   "16:00",
					},
					{
						Day:  3,
						From: "07:00",
						To:   "16:00",
					},
				},
				Timezone: "America/New_York",
			},
		},
		Status: datadogV1.SYNTHETICSTESTPAUSESTATUS_LIVE.Ptr(),
		Steps: []datadogV1.SyntheticsStep{
			{
				Type: datadogV1.SYNTHETICSSTEPTYPE_ASSERT_ELEMENT_CONTENT.Ptr(),
			},
		},
		Tags: []string{
			"env:prod",
		},
		Type: datadogV1.SYNTHETICSBROWSERTESTTYPE_BROWSER,
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV1.NewSyntheticsApi(apiClient)
	resp, r, err := api.UpdateBrowserTest(ctx, "public_id", body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `SyntheticsApi.UpdateBrowserTest`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `SyntheticsApi.UpdateBrowserTest`:\n%s\n", responseContent)
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
```
{% /tab %}

{% tab label="Java" %}
```java
// Edit a browser test returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.SyntheticsApi;
import com.datadog.api.client.v1.model.SyntheticsBasicAuth;
import com.datadog.api.client.v1.model.SyntheticsBasicAuthWeb;
import com.datadog.api.client.v1.model.SyntheticsBasicAuthWebType;
import com.datadog.api.client.v1.model.SyntheticsBrowserTest;
import com.datadog.api.client.v1.model.SyntheticsBrowserTestConfig;
import com.datadog.api.client.v1.model.SyntheticsBrowserTestRumSettings;
import com.datadog.api.client.v1.model.SyntheticsBrowserTestType;
import com.datadog.api.client.v1.model.SyntheticsBrowserVariable;
import com.datadog.api.client.v1.model.SyntheticsBrowserVariableType;
import com.datadog.api.client.v1.model.SyntheticsConfigVariable;
import com.datadog.api.client.v1.model.SyntheticsConfigVariableType;
import com.datadog.api.client.v1.model.SyntheticsMCPProtocolVersion;
import com.datadog.api.client.v1.model.SyntheticsStep;
import com.datadog.api.client.v1.model.SyntheticsStepType;
import com.datadog.api.client.v1.model.SyntheticsTestCallType;
import com.datadog.api.client.v1.model.SyntheticsTestCiOptions;
import com.datadog.api.client.v1.model.SyntheticsTestExecutionRule;
import com.datadog.api.client.v1.model.SyntheticsTestOptions;
import com.datadog.api.client.v1.model.SyntheticsTestOptionsHTTPVersion;
import com.datadog.api.client.v1.model.SyntheticsTestOptionsMonitorOptions;
import com.datadog.api.client.v1.model.SyntheticsTestOptionsMonitorOptionsNotificationPresetName;
import com.datadog.api.client.v1.model.SyntheticsTestOptionsRetry;
import com.datadog.api.client.v1.model.SyntheticsTestOptionsScheduling;
import com.datadog.api.client.v1.model.SyntheticsTestOptionsSchedulingTimeframe;
import com.datadog.api.client.v1.model.SyntheticsTestPauseStatus;
import com.datadog.api.client.v1.model.SyntheticsTestRequest;
import com.datadog.api.client.v1.model.SyntheticsTestRequestBodyFile;
import com.datadog.api.client.v1.model.SyntheticsTestRequestBodyType;
import com.datadog.api.client.v1.model.SyntheticsTestRequestCertificate;
import com.datadog.api.client.v1.model.SyntheticsTestRequestCertificateItem;
import com.datadog.api.client.v1.model.SyntheticsTestRequestProxy;
import java.util.Arrays;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
    SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);

    SyntheticsBrowserTest body =
        new SyntheticsBrowserTest()
            .config(
                new SyntheticsBrowserTestConfig()
                    .configVariables(
                        Collections.singletonList(
                            new SyntheticsConfigVariable()
                                .name("VARIABLE_NAME")
                                .secure(false)
                                .type(SyntheticsConfigVariableType.TEXT)))
                    .request(
                        new SyntheticsTestRequest()
                            .basicAuth(
                                new SyntheticsBasicAuth(
                                    new SyntheticsBasicAuthWeb()
                                        .password("PaSSw0RD!")
                                        .type(SyntheticsBasicAuthWebType.WEB)
                                        .username("my_username")))
                            .bodyType(SyntheticsTestRequestBodyType.TEXT_PLAIN)
                            .callType(SyntheticsTestCallType.UNARY)
                            .certificate(
                                new SyntheticsTestRequestCertificate()
                                    .cert(new SyntheticsTestRequestCertificateItem())
                                    .key(new SyntheticsTestRequestCertificateItem()))
                            .files(Collections.singletonList(new SyntheticsTestRequestBodyFile()))
                            .httpVersion(SyntheticsTestOptionsHTTPVersion.HTTP1)
                            .mcpProtocolVersion(SyntheticsMCPProtocolVersion.VERSION_2025_06_18)
                            .proxy(new SyntheticsTestRequestProxy().url("https://example.com"))
                            .service("Greeter")
                            .toolName("search")
                            .url("https://example.com"))
                    .variables(
                        Collections.singletonList(
                            new SyntheticsBrowserVariable()
                                .name("VARIABLE_NAME")
                                .type(SyntheticsBrowserVariableType.TEXT))))
            .locations(Collections.singletonList("aws:eu-west-3"))
            .message("")
            .name("Example test name")
            .options(
                new SyntheticsTestOptions()
                    .ci(
                        new SyntheticsTestCiOptions()
                            .executionRule(SyntheticsTestExecutionRule.BLOCKING))
                    .deviceIds(Collections.singletonList("chrome.laptop_large"))
                    .httpVersion(SyntheticsTestOptionsHTTPVersion.HTTP1)
                    .monitorOptions(
                        new SyntheticsTestOptionsMonitorOptions()
                            .notificationPresetName(
                                SyntheticsTestOptionsMonitorOptionsNotificationPresetName.SHOW_ALL))
                    .restrictedRoles(
                        Collections.singletonList("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"))
                    .retry(new SyntheticsTestOptionsRetry())
                    .rumSettings(
                        new SyntheticsBrowserTestRumSettings()
                            .applicationId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
                            .clientTokenId(12345L)
                            .isEnabled(true))
                    .scheduling(
                        new SyntheticsTestOptionsScheduling()
                            .timeframes(
                                Arrays.asList(
                                    new SyntheticsTestOptionsSchedulingTimeframe()
                                        .day(1)
                                        .from("07:00")
                                        .to("16:00"),
                                    new SyntheticsTestOptionsSchedulingTimeframe()
                                        .day(3)
                                        .from("07:00")
                                        .to("16:00")))
                            .timezone("America/New_York")))
            .status(SyntheticsTestPauseStatus.LIVE)
            .steps(
                Collections.singletonList(
                    new SyntheticsStep().type(SyntheticsStepType.ASSERT_ELEMENT_CONTENT)))
            .tags(Collections.singletonList("env:prod"))
            .type(SyntheticsBrowserTestType.BROWSER);

    try {
      SyntheticsBrowserTest result = apiInstance.updateBrowserTest("public_id", body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling SyntheticsApi#updateBrowserTest");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
```
{% /tab %}

{% tab label="Python" %}
```python
"""
Edit a browser test returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.synthetics_api import SyntheticsApi
from datadog_api_client.v1.model.synthetics_basic_auth_web import SyntheticsBasicAuthWeb
from datadog_api_client.v1.model.synthetics_basic_auth_web_type import SyntheticsBasicAuthWebType
from datadog_api_client.v1.model.synthetics_browser_test import SyntheticsBrowserTest
from datadog_api_client.v1.model.synthetics_browser_test_config import SyntheticsBrowserTestConfig
from datadog_api_client.v1.model.synthetics_browser_test_rum_settings import SyntheticsBrowserTestRumSettings
from datadog_api_client.v1.model.synthetics_browser_test_type import SyntheticsBrowserTestType
from datadog_api_client.v1.model.synthetics_browser_variable import SyntheticsBrowserVariable
from datadog_api_client.v1.model.synthetics_browser_variable_type import SyntheticsBrowserVariableType
from datadog_api_client.v1.model.synthetics_config_variable import SyntheticsConfigVariable
from datadog_api_client.v1.model.synthetics_config_variable_type import SyntheticsConfigVariableType
from datadog_api_client.v1.model.synthetics_mcp_protocol_version import SyntheticsMCPProtocolVersion
from datadog_api_client.v1.model.synthetics_restricted_roles import SyntheticsRestrictedRoles
from datadog_api_client.v1.model.synthetics_step import SyntheticsStep
from datadog_api_client.v1.model.synthetics_step_type import SyntheticsStepType
from datadog_api_client.v1.model.synthetics_test_call_type import SyntheticsTestCallType
from datadog_api_client.v1.model.synthetics_test_ci_options import SyntheticsTestCiOptions
from datadog_api_client.v1.model.synthetics_test_execution_rule import SyntheticsTestExecutionRule
from datadog_api_client.v1.model.synthetics_test_options import SyntheticsTestOptions
from datadog_api_client.v1.model.synthetics_test_options_http_version import SyntheticsTestOptionsHTTPVersion
from datadog_api_client.v1.model.synthetics_test_options_monitor_options import SyntheticsTestOptionsMonitorOptions
from datadog_api_client.v1.model.synthetics_test_options_monitor_options_notification_preset_name import (
    SyntheticsTestOptionsMonitorOptionsNotificationPresetName,
)
from datadog_api_client.v1.model.synthetics_test_options_retry import SyntheticsTestOptionsRetry
from datadog_api_client.v1.model.synthetics_test_options_scheduling import SyntheticsTestOptionsScheduling
from datadog_api_client.v1.model.synthetics_test_options_scheduling_timeframe import (
    SyntheticsTestOptionsSchedulingTimeframe,
)
from datadog_api_client.v1.model.synthetics_test_pause_status import SyntheticsTestPauseStatus
from datadog_api_client.v1.model.synthetics_test_request import SyntheticsTestRequest
from datadog_api_client.v1.model.synthetics_test_request_body_file import SyntheticsTestRequestBodyFile
from datadog_api_client.v1.model.synthetics_test_request_body_type import SyntheticsTestRequestBodyType
from datadog_api_client.v1.model.synthetics_test_request_certificate import SyntheticsTestRequestCertificate
from datadog_api_client.v1.model.synthetics_test_request_certificate_item import SyntheticsTestRequestCertificateItem
from datadog_api_client.v1.model.synthetics_test_request_proxy import SyntheticsTestRequestProxy

body = SyntheticsBrowserTest(
    config=SyntheticsBrowserTestConfig(
        assertions=[],
        config_variables=[
            SyntheticsConfigVariable(
                name="VARIABLE_NAME",
                secure=False,
                type=SyntheticsConfigVariableType.TEXT,
            ),
        ],
        request=SyntheticsTestRequest(
            basic_auth=SyntheticsBasicAuthWeb(
                password="PaSSw0RD!",
                type=SyntheticsBasicAuthWebType.WEB,
                username="my_username",
            ),
            body_type=SyntheticsTestRequestBodyType.TEXT_PLAIN,
            call_type=SyntheticsTestCallType.UNARY,
            certificate=SyntheticsTestRequestCertificate(
                cert=SyntheticsTestRequestCertificateItem(),
                key=SyntheticsTestRequestCertificateItem(),
            ),
            certificate_domains=[],
            files=[
                SyntheticsTestRequestBodyFile(),
            ],
            http_version=SyntheticsTestOptionsHTTPVersion.HTTP1,
            mcp_protocol_version=SyntheticsMCPProtocolVersion.VERSION_2025_06_18,
            proxy=SyntheticsTestRequestProxy(
                url="https://example.com",
            ),
            service="Greeter",
            tool_name="search",
            url="https://example.com",
        ),
        variables=[
            SyntheticsBrowserVariable(
                name="VARIABLE_NAME",
                type=SyntheticsBrowserVariableType.TEXT,
            ),
        ],
    ),
    locations=[
        "aws:eu-west-3",
    ],
    message="",
    name="Example test name",
    options=SyntheticsTestOptions(
        blocked_request_patterns=[],
        ci=SyntheticsTestCiOptions(
            execution_rule=SyntheticsTestExecutionRule.BLOCKING,
        ),
        device_ids=[
            "chrome.laptop_large",
        ],
        http_version=SyntheticsTestOptionsHTTPVersion.HTTP1,
        monitor_options=SyntheticsTestOptionsMonitorOptions(
            notification_preset_name=SyntheticsTestOptionsMonitorOptionsNotificationPresetName.SHOW_ALL,
        ),
        restricted_roles=SyntheticsRestrictedRoles(
            [
                "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            ]
        ),
        retry=SyntheticsTestOptionsRetry(),
        rum_settings=SyntheticsBrowserTestRumSettings(
            application_id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            client_token_id=12345,
            is_enabled=True,
        ),
        scheduling=SyntheticsTestOptionsScheduling(
            timeframes=[
                SyntheticsTestOptionsSchedulingTimeframe(
                    day=1,
                    _from="07:00",
                    to="16:00",
                ),
                SyntheticsTestOptionsSchedulingTimeframe(
                    day=3,
                    _from="07:00",
                    to="16:00",
                ),
            ],
            timezone="America/New_York",
        ),
    ),
    status=SyntheticsTestPauseStatus.LIVE,
    steps=[
        SyntheticsStep(
            type=SyntheticsStepType.ASSERT_ELEMENT_CONTENT,
        ),
    ],
    tags=[
        "env:prod",
    ],
    type=SyntheticsBrowserTestType.BROWSER,
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = SyntheticsApi(api_client)
    response = api_instance.update_browser_test(public_id="public_id", body=body)

    print(response)
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
```
{% /tab %}

{% tab label="Ruby" %}
```ruby
# Edit a browser test returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V1::SyntheticsAPI.new

body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
  config: DatadogAPIClient::V1::SyntheticsBrowserTestConfig.new({
    assertions: [],
    config_variables: [
      DatadogAPIClient::V1::SyntheticsConfigVariable.new({
        name: "VARIABLE_NAME",
        secure: false,
        type: DatadogAPIClient::V1::SyntheticsConfigVariableType::TEXT,
      }),
    ],
    request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
      basic_auth: DatadogAPIClient::V1::SyntheticsBasicAuthWeb.new({
        password: "PaSSw0RD!",
        type: DatadogAPIClient::V1::SyntheticsBasicAuthWebType::WEB,
        username: "my_username",
      }),
      body_type: DatadogAPIClient::V1::SyntheticsTestRequestBodyType::TEXT_PLAIN,
      call_type: DatadogAPIClient::V1::SyntheticsTestCallType::UNARY,
      certificate: DatadogAPIClient::V1::SyntheticsTestRequestCertificate.new({
        cert: DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({}),
        key: DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({}),
      }),
      certificate_domains: [],
      files: [
        DatadogAPIClient::V1::SyntheticsTestRequestBodyFile.new({}),
      ],
      http_version: DatadogAPIClient::V1::SyntheticsTestOptionsHTTPVersion::HTTP1,
      mcp_protocol_version: DatadogAPIClient::V1::SyntheticsMCPProtocolVersion::VERSION_2025_06_18,
      proxy: DatadogAPIClient::V1::SyntheticsTestRequestProxy.new({
        url: "https://example.com",
      }),
      service: "Greeter",
      tool_name: "search",
      url: "https://example.com",
    }),
    variables: [
      DatadogAPIClient::V1::SyntheticsBrowserVariable.new({
        name: "VARIABLE_NAME",
        type: DatadogAPIClient::V1::SyntheticsBrowserVariableType::TEXT,
      }),
    ],
  }),
  locations: [
    "aws:eu-west-3",
  ],
  message: "",
  name: "Example test name",
  options: DatadogAPIClient::V1::SyntheticsTestOptions.new({
    blocked_request_patterns: [],
    ci: DatadogAPIClient::V1::SyntheticsTestCiOptions.new({
      execution_rule: DatadogAPIClient::V1::SyntheticsTestExecutionRule::BLOCKING,
    }),
    device_ids: [
      "chrome.laptop_large",
    ],
    http_version: DatadogAPIClient::V1::SyntheticsTestOptionsHTTPVersion::HTTP1,
    monitor_options: DatadogAPIClient::V1::SyntheticsTestOptionsMonitorOptions.new({
      notification_preset_name: DatadogAPIClient::V1::SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
    }),
    restricted_roles: [
      "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    ],
    _retry: DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({}),
    rum_settings: DatadogAPIClient::V1::SyntheticsBrowserTestRumSettings.new({
      application_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      client_token_id: 12345,
      is_enabled: true,
    }),
    scheduling: DatadogAPIClient::V1::SyntheticsTestOptionsScheduling.new({
      timeframes: [
        DatadogAPIClient::V1::SyntheticsTestOptionsSchedulingTimeframe.new({
          day: 1,
          from: "07:00",
          to: "16:00",
        }),
        DatadogAPIClient::V1::SyntheticsTestOptionsSchedulingTimeframe.new({
          day: 3,
          from: "07:00",
          to: "16:00",
        }),
      ],
      timezone: "America/New_York",
    }),
  }),
  status: DatadogAPIClient::V1::SyntheticsTestPauseStatus::LIVE,
  steps: [
    DatadogAPIClient::V1::SyntheticsStep.new({
      type: DatadogAPIClient::V1::SyntheticsStepType::ASSERT_ELEMENT_CONTENT,
    }),
  ],
  tags: [
    "env:prod",
  ],
  type: DatadogAPIClient::V1::SyntheticsBrowserTestType::BROWSER,
})
p api_instance.update_browser_test("public_id", body)
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
```
{% /tab %}

{% tab label="Rust" %}
```rust
// Edit a browser test returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;
use datadog_api_client::datadogV1::model::SyntheticsBasicAuth;
use datadog_api_client::datadogV1::model::SyntheticsBasicAuthWeb;
use datadog_api_client::datadogV1::model::SyntheticsBasicAuthWebType;
use datadog_api_client::datadogV1::model::SyntheticsBrowserTest;
use datadog_api_client::datadogV1::model::SyntheticsBrowserTestConfig;
use datadog_api_client::datadogV1::model::SyntheticsBrowserTestRumSettings;
use datadog_api_client::datadogV1::model::SyntheticsBrowserTestType;
use datadog_api_client::datadogV1::model::SyntheticsBrowserVariable;
use datadog_api_client::datadogV1::model::SyntheticsBrowserVariableType;
use datadog_api_client::datadogV1::model::SyntheticsConfigVariable;
use datadog_api_client::datadogV1::model::SyntheticsConfigVariableType;
use datadog_api_client::datadogV1::model::SyntheticsMCPProtocolVersion;
use datadog_api_client::datadogV1::model::SyntheticsStep;
use datadog_api_client::datadogV1::model::SyntheticsStepType;
use datadog_api_client::datadogV1::model::SyntheticsTestCallType;
use datadog_api_client::datadogV1::model::SyntheticsTestCiOptions;
use datadog_api_client::datadogV1::model::SyntheticsTestExecutionRule;
use datadog_api_client::datadogV1::model::SyntheticsTestOptions;
use datadog_api_client::datadogV1::model::SyntheticsTestOptionsHTTPVersion;
use datadog_api_client::datadogV1::model::SyntheticsTestOptionsMonitorOptions;
use datadog_api_client::datadogV1::model::SyntheticsTestOptionsMonitorOptionsNotificationPresetName;
use datadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;
use datadog_api_client::datadogV1::model::SyntheticsTestOptionsScheduling;
use datadog_api_client::datadogV1::model::SyntheticsTestOptionsSchedulingTimeframe;
use datadog_api_client::datadogV1::model::SyntheticsTestPauseStatus;
use datadog_api_client::datadogV1::model::SyntheticsTestRequest;
use datadog_api_client::datadogV1::model::SyntheticsTestRequestBodyFile;
use datadog_api_client::datadogV1::model::SyntheticsTestRequestBodyType;
use datadog_api_client::datadogV1::model::SyntheticsTestRequestCertificate;
use datadog_api_client::datadogV1::model::SyntheticsTestRequestCertificateItem;
use datadog_api_client::datadogV1::model::SyntheticsTestRequestProxy;

#[tokio::main]
async fn main() {
    let body = SyntheticsBrowserTest::new(
        SyntheticsBrowserTestConfig::new(
            vec![],
            SyntheticsTestRequest::new()
                .basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthWeb(Box::new(
                    SyntheticsBasicAuthWeb::new()
                        .password("PaSSw0RD!".to_string())
                        .type_(SyntheticsBasicAuthWebType::WEB)
                        .username("my_username".to_string()),
                )))
                .body_type(SyntheticsTestRequestBodyType::TEXT_PLAIN)
                .call_type(SyntheticsTestCallType::UNARY)
                .certificate(
                    SyntheticsTestRequestCertificate::new()
                        .cert(SyntheticsTestRequestCertificateItem::new())
                        .key(SyntheticsTestRequestCertificateItem::new()),
                )
                .certificate_domains(vec![])
                .files(vec![SyntheticsTestRequestBodyFile::new()])
                .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
                .mcp_protocol_version(SyntheticsMCPProtocolVersion::VERSION_2025_06_18)
                .proxy(SyntheticsTestRequestProxy::new(
                    "https://example.com".to_string(),
                ))
                .service("Greeter".to_string())
                .tool_name("search".to_string())
                .url("https://example.com".to_string()),
        )
        .config_variables(vec![SyntheticsConfigVariable::new(
            "VARIABLE_NAME".to_string(),
            SyntheticsConfigVariableType::TEXT,
        )
        .secure(false)])
        .variables(vec![SyntheticsBrowserVariable::new(
            "VARIABLE_NAME".to_string(),
            SyntheticsBrowserVariableType::TEXT,
        )]),
        vec!["aws:eu-west-3".to_string()],
        "".to_string(),
        "Example test name".to_string(),
        SyntheticsTestOptions::new()
            .blocked_request_patterns(vec![])
            .ci(SyntheticsTestCiOptions::new(
                SyntheticsTestExecutionRule::BLOCKING,
            ))
            .device_ids(vec!["chrome.laptop_large".to_string()])
            .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
            .monitor_options(
                SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
                    SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
                ),
            )
            .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
            .retry(SyntheticsTestOptionsRetry::new())
            .rum_settings(
                SyntheticsBrowserTestRumSettings::new(true)
                    .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
                    .client_token_id(12345),
            )
            .scheduling(SyntheticsTestOptionsScheduling::new(
                vec![
                    SyntheticsTestOptionsSchedulingTimeframe::new(
                        1,
                        "07:00".to_string(),
                        "16:00".to_string(),
                    ),
                    SyntheticsTestOptionsSchedulingTimeframe::new(
                        3,
                        "07:00".to_string(),
                        "16:00".to_string(),
                    ),
                ],
                "America/New_York".to_string(),
            )),
        SyntheticsBrowserTestType::BROWSER,
    )
    .status(SyntheticsTestPauseStatus::LIVE)
    .steps(vec![
        SyntheticsStep::new().type_(SyntheticsStepType::ASSERT_ELEMENT_CONTENT)
    ])
    .tags(vec!["env:prod".to_string()]);
    let configuration = datadog::Configuration::new();
    let api = SyntheticsAPI::with_config(configuration);
    let resp = api.update_browser_test("public_id".to_string(), body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
```
{% /tab %}

{% tab label="TypeScript" %}
```typescript
/**
 * Edit a browser test returns "OK" response
 */

import { client, v1 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
const apiInstance = new v1.SyntheticsApi(configuration);

const params: v1.SyntheticsApiUpdateBrowserTestRequest = {
  body: {
    config: {
      assertions: [],
      configVariables: [
        {
          name: "VARIABLE_NAME",
          secure: false,
          type: "text",
        },
      ],
      request: {
        basicAuth: {
          password: "PaSSw0RD!",
          type: "web",
          username: "my_username",
        },
        bodyType: "text/plain",
        callType: "unary",
        certificate: {
          cert: {},
          key: {},
        },
        certificateDomains: [],
        files: [{}],
        httpVersion: "http1",
        mcpProtocolVersion: "2025-06-18",
        proxy: {
          url: "https://example.com",
        },
        service: "Greeter",
        toolName: "search",
        url: "https://example.com",
      },
      variables: [
        {
          name: "VARIABLE_NAME",
          type: "text",
        },
      ],
    },
    locations: ["aws:eu-west-3"],
    message: "",
    name: "Example test name",
    options: {
      blockedRequestPatterns: [],
      ci: {
        executionRule: "blocking",
      },
      deviceIds: ["chrome.laptop_large"],
      httpVersion: "http1",
      monitorOptions: {
        notificationPresetName: "show_all",
      },
      restrictedRoles: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"],
      retry: {},
      rumSettings: {
        applicationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        clientTokenId: 12345,
        isEnabled: true,
      },
      scheduling: {
        timeframes: [
          {
            day: 1,
            from: "07:00",
            to: "16:00",
          },
          {
            day: 3,
            from: "07:00",
            to: "16:00",
          },
        ],
        timezone: "America/New_York",
      },
    },
    status: "live",
    steps: [
      {
        type: "assertElementContent",
      },
    ],
    tags: ["env:prod"],
    type: "browser",
  },
  publicId: "public_id",
};

apiInstance
  .updateBrowserTest(params)
  .then((data: v1.SyntheticsBrowserTest) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"
```
{% /tab %}
{% /tabs %}
