La monitorización Synthetic Datadog utiliza solicitudes de usuario simuladas y la renderización del navegador para ayudarte a garantizar el tiempo de actividad,
identificar problemas regionales y realizar un seguimiento del rendimiento de tu aplicación. Los tests Synthetics vienen
en dos formatos diferentes, [tests de API]((https://docs.datadoghq.com/synthetics/api_tests/?tab=httptest)
y tests de navegador. Puedes utilizar la API Datadog para
gestionar ambos tipos de tests mediante programación.
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
steps
[ <oneOf>]
When the test subtype is multi, the steps of the test.
Option 1
object
The Test step used in a Synthetic multi-step API test.
allowFailure
boolean
Determines whether or not to continue with test if this step fails.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
exitIfSucceed
boolean
Determines whether or not to exit the test if the step succeeds.
extractedValues
[object]
Array of values to parse and save as variables from the response.
field
string
When type is http_header or grpc_metadata, name of the header or metadatum to extract.
name
string
Name of the variable to extract.
parser
object
Details of the parser to use for the global variable.
type [required]
enum
Type of parser for a Synthetic global variable from a synthetics test.
Allowed enum values: raw,json_path,regex,x_path
value
string
Regex or JSON path used for the parser. Not used with type raw.
secure
boolean
Determines whether or not the extracted value will be obfuscated.
type
enum
Property of the Synthetic Test Response to extract into a local variable.
Allowed enum values: grpc_message,grpc_metadata,http_body,http_header,http_status_code
extractedValuesFromScript
string
Generate variables using JavaScript.
isCritical
boolean
Determines whether or not to consider the entire test as failed if this step fails.
Can be used only if allowFailure is true.
name [required]
string
The name of the step.
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
subtype [required]
enum
The subtype of the Synthetic multi-step API test step.
Allowed enum values: http,grpc
Option 2
object
The Wait step used in a Synthetic multi-step API test.
name [required]
string
The name of the step.
subtype [required]
enum
The subtype of the Synthetic multi-step API wait step.
Allowed enum values: wait
value [required]
int32
The time to wait in seconds. Minimum value: 0. Maximum value: 180.
variablesFromScript
string
Variables defined from JavaScript code.
locations [required]
[string]
Array of locations used to run the test.
message [required]
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID for the test.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, api.
Allowed enum values: api
default: api
{"config":{"steps":[{"assertions":[{"operator":"is","type":"statusCode","target":200}],"name":"request is sent","request":{"url":"https://httpbin.org/status/200","method":"GET","basicAuth":{"password":"password","username":"username"}},"subtype":"http"},{"assertions":[{"operator":"is","type":"statusCode","target":200}],"name":"request is sent","request":{"url":"https://httpbin.org/status/200","method":"GET","basicAuth":{"password":"password","username":"username","type":"web"}},"subtype":"http"},{"assertions":[{"operator":"is","type":"statusCode","target":200}],"name":"request is sent","request":{"url":"https://httpbin.org/status/200","method":"GET","basicAuth":{"accessKey":"accessKey","secretKey":"secretKey","type":"sigv4"}},"subtype":"http"},{"assertions":[{"operator":"is","type":"statusCode","target":200}],"name":"request is sent","request":{"url":"https://httpbin.org/status/200","method":"GET","basicAuth":{"type":"ntlm"}},"subtype":"http"},{"assertions":[{"operator":"is","type":"statusCode","target":200}],"name":"request is sent","request":{"url":"https://httpbin.org/status/200","method":"GET","basicAuth":{"password":"password","username":"username","type":"digest"}},"subtype":"http"},{"assertions":[{"operator":"is","type":"statusCode","target":200}],"name":"request is sent","request":{"url":"https://httpbin.org/status/200","method":"GET","basicAuth":{"accessTokenUrl":"accessTokenUrl","tokenApiAuthentication":"header","clientId":"clientId","clientSecret":"clientSecret","type":"oauth-client"}},"subtype":"http"},{"assertions":[{"operator":"is","type":"statusCode","target":200}],"name":"request is sent","request":{"url":"https://httpbin.org/status/200","method":"GET","basicAuth":{"accessTokenUrl":"accessTokenUrl","password":"password","tokenApiAuthentication":"header","username":"username","type":"oauth-rop"}},"subtype":"http"}]},"locations":["aws:us-east-2"],"message":"BDD test payload: synthetics_api_test_multi_step_with_every_type_of_basic_auth.json","name":"Example-Synthetic","options":{"tick_every":60},"subtype":"multi","type":"api"}
{"config":{"assertions":[{"operator":"is","target":1,"type":"grpcHealthcheckStatus"},{"operator":"is","target":"proto target","type":"grpcProto"},{"operator":"is","target":"123","property":"property","type":"grpcMetadata"}],"request":{"host":"localhost","port":50051,"service":"Hello","method":"GET","message":"","metadata":{}}},"locations":["aws:us-east-2"],"message":"BDD test payload: synthetics_api_grpc_test_payload.json","name":"Example-Synthetic","options":{"min_failure_duration":0,"min_location_failed":1,"monitor_options":{"renotify_interval":0},"monitor_name":"Example-Synthetic","tick_every":60},"subtype":"grpc","tags":["testing:api"],"type":"api"}
Object containing details about a Synthetic API test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic API test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
steps
[ <oneOf>]
When the test subtype is multi, the steps of the test.
Option 1
object
The Test step used in a Synthetic multi-step API test.
allowFailure
boolean
Determines whether or not to continue with test if this step fails.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
exitIfSucceed
boolean
Determines whether or not to exit the test if the step succeeds.
extractedValues
[object]
Array of values to parse and save as variables from the response.
field
string
When type is http_header or grpc_metadata, name of the header or metadatum to extract.
name
string
Name of the variable to extract.
parser
object
Details of the parser to use for the global variable.
type [required]
enum
Type of parser for a Synthetic global variable from a synthetics test.
Allowed enum values: raw,json_path,regex,x_path
value
string
Regex or JSON path used for the parser. Not used with type raw.
secure
boolean
Determines whether or not the extracted value will be obfuscated.
type
enum
Property of the Synthetic Test Response to extract into a local variable.
Allowed enum values: grpc_message,grpc_metadata,http_body,http_header,http_status_code
extractedValuesFromScript
string
Generate variables using JavaScript.
isCritical
boolean
Determines whether or not to consider the entire test as failed if this step fails.
Can be used only if allowFailure is true.
name [required]
string
The name of the step.
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
subtype [required]
enum
The subtype of the Synthetic multi-step API test step.
Allowed enum values: http,grpc
Option 2
object
The Wait step used in a Synthetic multi-step API test.
name [required]
string
The name of the step.
subtype [required]
enum
The subtype of the Synthetic multi-step API wait step.
Allowed enum values: wait
value [required]
int32
The time to wait in seconds. Minimum value: 0. Maximum value: 180.
variablesFromScript
string
Variables defined from JavaScript code.
locations [required]
[string]
Array of locations used to run the test.
message [required]
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID for the test.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, api.
Allowed enum values: api
default: api
{"config":{"assertions":[[]],"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","url":"https://example.com"},"steps":[],"variablesFromScript":"dd.variable.set(\"FOO\", \"foo\")"},"locations":["aws:eu-west-3"],"message":"Notification message","monitor_id":12345678,"name":"Example test name","options":{"accept_self_signed":false,"allow_insecure":false,"checkCertificateRevocation":false,"ci":{"executionRule":"blocking"},"device_ids":["chrome.laptop_large"],"disableCors":false,"disableCsp":false,"enableProfiling":false,"enableSecurityTesting":false,"follow_redirects":false,"httpVersion":"string","ignoreServerCertificateError":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":"123-abc-456","status":"live","subtype":"http","tags":["env:production"],"type":"api"}
// Create a multi-step api test with every type of basicAuth returns "OK - Returns the created test details." response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsAPITest{Config:datadogV1.SyntheticsAPITestConfig{Steps:[]datadogV1.SyntheticsAPIStep{datadogV1.SyntheticsAPIStep{SyntheticsAPITestStep:&datadogV1.SyntheticsAPITestStep{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Type:datadogV1.SYNTHETICSASSERTIONTYPE_STATUS_CODE,Target:200,}},},Name:"request is sent",Request:datadogV1.SyntheticsTestRequest{Url:datadog.PtrString("https://httpbin.org/status/200"),Method:datadog.PtrString("GET"),BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthWeb:&datadogV1.SyntheticsBasicAuthWeb{Password:"password",Username:"username",}},},Subtype:datadogV1.SYNTHETICSAPITESTSTEPSUBTYPE_HTTP,}},datadogV1.SyntheticsAPIStep{SyntheticsAPITestStep:&datadogV1.SyntheticsAPITestStep{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Type:datadogV1.SYNTHETICSASSERTIONTYPE_STATUS_CODE,Target:200,}},},Name:"request is sent",Request:datadogV1.SyntheticsTestRequest{Url:datadog.PtrString("https://httpbin.org/status/200"),Method:datadog.PtrString("GET"),BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthWeb:&datadogV1.SyntheticsBasicAuthWeb{Password:"password",Username:"username",Type:datadogV1.SYNTHETICSBASICAUTHWEBTYPE_WEB.Ptr(),}},},Subtype:datadogV1.SYNTHETICSAPITESTSTEPSUBTYPE_HTTP,}},datadogV1.SyntheticsAPIStep{SyntheticsAPITestStep:&datadogV1.SyntheticsAPITestStep{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Type:datadogV1.SYNTHETICSASSERTIONTYPE_STATUS_CODE,Target:200,}},},Name:"request is sent",Request:datadogV1.SyntheticsTestRequest{Url:datadog.PtrString("https://httpbin.org/status/200"),Method:datadog.PtrString("GET"),BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthSigv4:&datadogV1.SyntheticsBasicAuthSigv4{AccessKey:"accessKey",SecretKey:"secretKey",Type:datadogV1.SYNTHETICSBASICAUTHSIGV4TYPE_SIGV4,}},},Subtype:datadogV1.SYNTHETICSAPITESTSTEPSUBTYPE_HTTP,}},datadogV1.SyntheticsAPIStep{SyntheticsAPITestStep:&datadogV1.SyntheticsAPITestStep{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Type:datadogV1.SYNTHETICSASSERTIONTYPE_STATUS_CODE,Target:200,}},},Name:"request is sent",Request:datadogV1.SyntheticsTestRequest{Url:datadog.PtrString("https://httpbin.org/status/200"),Method:datadog.PtrString("GET"),BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthNTLM:&datadogV1.SyntheticsBasicAuthNTLM{Type:datadogV1.SYNTHETICSBASICAUTHNTLMTYPE_NTLM,}},},Subtype:datadogV1.SYNTHETICSAPITESTSTEPSUBTYPE_HTTP,}},datadogV1.SyntheticsAPIStep{SyntheticsAPITestStep:&datadogV1.SyntheticsAPITestStep{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Type:datadogV1.SYNTHETICSASSERTIONTYPE_STATUS_CODE,Target:200,}},},Name:"request is sent",Request:datadogV1.SyntheticsTestRequest{Url:datadog.PtrString("https://httpbin.org/status/200"),Method:datadog.PtrString("GET"),BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthDigest:&datadogV1.SyntheticsBasicAuthDigest{Password:"password",Username:"username",Type:datadogV1.SYNTHETICSBASICAUTHDIGESTTYPE_DIGEST,}},},Subtype:datadogV1.SYNTHETICSAPITESTSTEPSUBTYPE_HTTP,}},datadogV1.SyntheticsAPIStep{SyntheticsAPITestStep:&datadogV1.SyntheticsAPITestStep{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Type:datadogV1.SYNTHETICSASSERTIONTYPE_STATUS_CODE,Target:200,}},},Name:"request is sent",Request:datadogV1.SyntheticsTestRequest{Url:datadog.PtrString("https://httpbin.org/status/200"),Method:datadog.PtrString("GET"),BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthOauthClient:&datadogV1.SyntheticsBasicAuthOauthClient{AccessTokenUrl:"accessTokenUrl",TokenApiAuthentication:datadogV1.SYNTHETICSBASICAUTHOAUTHTOKENAPIAUTHENTICATION_HEADER,ClientId:"clientId",ClientSecret:"clientSecret",Type:datadogV1.SYNTHETICSBASICAUTHOAUTHCLIENTTYPE_OAUTH_CLIENT,}},},Subtype:datadogV1.SYNTHETICSAPITESTSTEPSUBTYPE_HTTP,}},datadogV1.SyntheticsAPIStep{SyntheticsAPITestStep:&datadogV1.SyntheticsAPITestStep{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Type:datadogV1.SYNTHETICSASSERTIONTYPE_STATUS_CODE,Target:200,}},},Name:"request is sent",Request:datadogV1.SyntheticsTestRequest{Url:datadog.PtrString("https://httpbin.org/status/200"),Method:datadog.PtrString("GET"),BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthOauthROP:&datadogV1.SyntheticsBasicAuthOauthROP{AccessTokenUrl:"accessTokenUrl",Password:"password",TokenApiAuthentication:datadogV1.SYNTHETICSBASICAUTHOAUTHTOKENAPIAUTHENTICATION_HEADER,Username:"username",Type:datadogV1.SYNTHETICSBASICAUTHOAUTHROPTYPE_OAUTH_ROP,}},},Subtype:datadogV1.SYNTHETICSAPITESTSTEPSUBTYPE_HTTP,}},},},Locations:[]string{"aws:us-east-2",},Message:"BDD test payload: synthetics_api_test_multi_step_with_every_type_of_basic_auth.json",Name:"Example-Synthetic",Options:datadogV1.SyntheticsTestOptions{TickEvery:datadog.PtrInt64(60),},Subtype:datadogV1.SYNTHETICSTESTDETAILSSUBTYPE_MULTI.Ptr(),Type:datadogV1.SYNTHETICSAPITESTTYPE_API,}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateSyntheticsAPITest(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateSyntheticsAPITest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateSyntheticsAPITest`:\n%s\n",responseContent)}
// Create an API GRPC test returns "OK - Returns the created test details." response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsAPITest{Config:datadogV1.SyntheticsAPITestConfig{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Target:1,Type:datadogV1.SYNTHETICSASSERTIONTYPE_GRPC_HEALTHCHECK_STATUS,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Target:"proto target",Type:datadogV1.SYNTHETICSASSERTIONTYPE_GRPC_PROTO,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Target:"123",Property:datadog.PtrString("property"),Type:datadogV1.SYNTHETICSASSERTIONTYPE_GRPC_METADATA,}},},Request:&datadogV1.SyntheticsTestRequest{Host:datadog.PtrString("localhost"),Port:&datadogV1.SyntheticsTestRequestPort{SyntheticsTestRequestNumericalPort:datadog.PtrInt64(50051)},Service:datadog.PtrString("Hello"),Method:datadog.PtrString("GET"),Message:datadog.PtrString(""),Metadata:map[string]string{},},},Locations:[]string{"aws:us-east-2",},Message:"BDD test payload: synthetics_api_grpc_test_payload.json",Name:"Example-Synthetic",Options:datadogV1.SyntheticsTestOptions{MinFailureDuration:datadog.PtrInt64(0),MinLocationFailed:datadog.PtrInt64(1),MonitorOptions:&datadogV1.SyntheticsTestOptionsMonitorOptions{RenotifyInterval:datadog.PtrInt64(0),},MonitorName:datadog.PtrString("Example-Synthetic"),TickEvery:datadog.PtrInt64(60),},Subtype:datadogV1.SYNTHETICSTESTDETAILSSUBTYPE_GRPC.Ptr(),Tags:[]string{"testing:api",},Type:datadogV1.SYNTHETICSAPITESTTYPE_API,}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateSyntheticsAPITest(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateSyntheticsAPITest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateSyntheticsAPITest`:\n%s\n",responseContent)}
// Create an API HTTP test has bodyHash filled out
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsAPITest{Config:datadogV1.SyntheticsAPITestConfig{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Property:datadog.PtrString("{{ PROPERTY }}"),Target:"text/html",Type:datadogV1.SYNTHETICSASSERTIONTYPE_HEADER,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_LESS_THAN,Target:2000,Type:datadogV1.SYNTHETICSASSERTIONTYPE_RESPONSE_TIME,TimingsScope:datadogV1.SYNTHETICSASSERTIONTIMINGSSCOPE_WITHOUT_DNS.Ptr(),}},datadogV1.SyntheticsAssertion{SyntheticsAssertionJSONPathTarget:&datadogV1.SyntheticsAssertionJSONPathTarget{Operator:datadogV1.SYNTHETICSASSERTIONJSONPATHOPERATOR_VALIDATES_JSON_PATH,Target:&datadogV1.SyntheticsAssertionJSONPathTargetTarget{JsonPath:datadog.PtrString("topKey"),Operator:datadog.PtrString("isNot"),TargetValue:"0",},Type:datadogV1.SYNTHETICSASSERTIONTYPE_BODY,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionJSONPathTarget:&datadogV1.SyntheticsAssertionJSONPathTarget{Operator:datadogV1.SYNTHETICSASSERTIONJSONPATHOPERATOR_VALIDATES_JSON_PATH,Target:&datadogV1.SyntheticsAssertionJSONPathTargetTarget{ElementsOperator:datadog.PtrString("atLeastOneElementMatches"),JsonPath:datadog.PtrString("topKey"),Operator:datadog.PtrString("isNot"),TargetValue:"0",},Type:datadogV1.SYNTHETICSASSERTIONTYPE_BODY,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionJSONSchemaTarget:&datadogV1.SyntheticsAssertionJSONSchemaTarget{Operator:datadogV1.SYNTHETICSASSERTIONJSONSCHEMAOPERATOR_VALIDATES_JSON_SCHEMA,Target:&datadogV1.SyntheticsAssertionJSONSchemaTargetTarget{MetaSchema:datadogV1.SYNTHETICSASSERTIONJSONSCHEMAMETASCHEMA_DRAFT_07.Ptr(),JsonSchema:datadog.PtrString(`{"type": "object", "properties":{"slideshow":{"type":"object"}}}`),},Type:datadogV1.SYNTHETICSASSERTIONTYPE_BODY,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionXPathTarget:&datadogV1.SyntheticsAssertionXPathTarget{Operator:datadogV1.SYNTHETICSASSERTIONXPATHOPERATOR_VALIDATES_X_PATH,Target:&datadogV1.SyntheticsAssertionXPathTargetTarget{XPath:datadog.PtrString("target-xpath"),TargetValue:"0",Operator:datadog.PtrString("contains"),},Type:datadogV1.SYNTHETICSASSERTIONTYPE_BODY,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionBodyHashTarget:&datadogV1.SyntheticsAssertionBodyHashTarget{Operator:datadogV1.SYNTHETICSASSERTIONBODYHASHOPERATOR_MD5,Target:"a",Type:datadogV1.SYNTHETICSASSERTIONBODYHASHTYPE_BODY_HASH,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionJavascript:&datadogV1.SyntheticsAssertionJavascript{Code:"const hello = 'world';",Type:datadogV1.SYNTHETICSASSERTIONJAVASCRIPTTYPE_JAVASCRIPT,}},},ConfigVariables:[]datadogV1.SyntheticsConfigVariable{{Example:datadog.PtrString("content-type"),Name:"PROPERTY",Pattern:datadog.PtrString("content-type"),Type:datadogV1.SYNTHETICSCONFIGVARIABLETYPE_TEXT,},},VariablesFromScript:datadog.PtrString(`dd.variable.set("FOO", "foo")`),Request:&datadogV1.SyntheticsTestRequest{Certificate:&datadogV1.SyntheticsTestRequestCertificate{Cert:&datadogV1.SyntheticsTestRequestCertificateItem{Content:datadog.PtrString("cert-content"),Filename:datadog.PtrString("cert-filename"),UpdatedAt:datadog.PtrString("2020-10-16T09:23:24.857Z"),},Key:&datadogV1.SyntheticsTestRequestCertificateItem{Content:datadog.PtrString("key-content"),Filename:datadog.PtrString("key-filename"),UpdatedAt:datadog.PtrString("2020-10-16T09:23:24.857Z"),},},Headers:map[string]string{"unique":"examplesynthetic",},Method:datadog.PtrString("GET"),Timeout:datadog.PtrFloat64(10),Url:datadog.PtrString("https://datadoghq.com"),Proxy:&datadogV1.SyntheticsTestRequestProxy{Url:"https://datadoghq.com",Headers:map[string]string{},},BasicAuth:&datadogV1.SyntheticsBasicAuth{SyntheticsBasicAuthOauthClient:&datadogV1.SyntheticsBasicAuthOauthClient{AccessTokenUrl:"https://datadog-token.com",Audience:datadog.PtrString("audience"),ClientId:"client-id",ClientSecret:"client-secret",Resource:datadog.PtrString("resource"),Scope:datadog.PtrString("yoyo"),TokenApiAuthentication:datadogV1.SYNTHETICSBASICAUTHOAUTHTOKENAPIAUTHENTICATION_HEADER,Type:datadogV1.SYNTHETICSBASICAUTHOAUTHCLIENTTYPE_OAUTH_CLIENT,}},PersistCookies:datadog.PtrBool(true),},},Locations:[]string{"aws:us-east-2",},Message:"BDD test payload: synthetics_api_http_test_payload.json",Name:"Example-Synthetic",Options:datadogV1.SyntheticsTestOptions{AcceptSelfSigned:datadog.PtrBool(false),AllowInsecure:datadog.PtrBool(true),FollowRedirects:datadog.PtrBool(true),MinFailureDuration:datadog.PtrInt64(10),MinLocationFailed:datadog.PtrInt64(1),MonitorName:datadog.PtrString("Example-Synthetic"),MonitorPriority:datadog.PtrInt32(5),Retry:&datadogV1.SyntheticsTestOptionsRetry{Count:datadog.PtrInt64(3),Interval:datadog.PtrFloat64(10),},TickEvery:datadog.PtrInt64(60),HttpVersion:datadogV1.SYNTHETICSTESTOPTIONSHTTPVERSION_HTTP2.Ptr(),},Subtype:datadogV1.SYNTHETICSTESTDETAILSSUBTYPE_HTTP.Ptr(),Tags:[]string{"testing:api",},Type:datadogV1.SYNTHETICSAPITESTTYPE_API,}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateSyntheticsAPITest(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateSyntheticsAPITest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateSyntheticsAPITest`:\n%s\n",responseContent)}
// Create a multi-step api test with every type of basicAuth returns "OK - Returns the created test// details." responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsAPIStep;importcom.datadog.api.client.v1.model.SyntheticsAPITest;importcom.datadog.api.client.v1.model.SyntheticsAPITestConfig;importcom.datadog.api.client.v1.model.SyntheticsAPITestStep;importcom.datadog.api.client.v1.model.SyntheticsAPITestStepSubtype;importcom.datadog.api.client.v1.model.SyntheticsAPITestType;importcom.datadog.api.client.v1.model.SyntheticsAssertion;importcom.datadog.api.client.v1.model.SyntheticsAssertionOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionType;importcom.datadog.api.client.v1.model.SyntheticsBasicAuth;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthDigest;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthDigestType;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthNTLM;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthNTLMType;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthClient;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthClientType;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthROP;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthROPType;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthTokenApiAuthentication;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthSigv4;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthSigv4Type;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthWeb;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthWebType;importcom.datadog.api.client.v1.model.SyntheticsTestDetailsSubType;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importjava.util.Arrays;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsAPITestbody=newSyntheticsAPITest().config(newSyntheticsAPITestConfig().steps(Arrays.asList(newSyntheticsAPIStep(newSyntheticsAPITestStep().assertions(Collections.singletonList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).type(SyntheticsAssertionType.STATUS_CODE).target(200)))).name("request is sent").request(newSyntheticsTestRequest().url("https://httpbin.org/status/200").method("GET").basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthWeb().password("password").username("username")))).subtype(SyntheticsAPITestStepSubtype.HTTP)),newSyntheticsAPIStep(newSyntheticsAPITestStep().assertions(Collections.singletonList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).type(SyntheticsAssertionType.STATUS_CODE).target(200)))).name("request is sent").request(newSyntheticsTestRequest().url("https://httpbin.org/status/200").method("GET").basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthWeb().password("password").username("username").type(SyntheticsBasicAuthWebType.WEB)))).subtype(SyntheticsAPITestStepSubtype.HTTP)),newSyntheticsAPIStep(newSyntheticsAPITestStep().assertions(Collections.singletonList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).type(SyntheticsAssertionType.STATUS_CODE).target(200)))).name("request is sent").request(newSyntheticsTestRequest().url("https://httpbin.org/status/200").method("GET").basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthSigv4().accessKey("accessKey").secretKey("secretKey").type(SyntheticsBasicAuthSigv4Type.SIGV4)))).subtype(SyntheticsAPITestStepSubtype.HTTP)),newSyntheticsAPIStep(newSyntheticsAPITestStep().assertions(Collections.singletonList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).type(SyntheticsAssertionType.STATUS_CODE).target(200)))).name("request is sent").request(newSyntheticsTestRequest().url("https://httpbin.org/status/200").method("GET").basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthNTLM().type(SyntheticsBasicAuthNTLMType.NTLM)))).subtype(SyntheticsAPITestStepSubtype.HTTP)),newSyntheticsAPIStep(newSyntheticsAPITestStep().assertions(Collections.singletonList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).type(SyntheticsAssertionType.STATUS_CODE).target(200)))).name("request is sent").request(newSyntheticsTestRequest().url("https://httpbin.org/status/200").method("GET").basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthDigest().password("password").username("username").type(SyntheticsBasicAuthDigestType.DIGEST)))).subtype(SyntheticsAPITestStepSubtype.HTTP)),newSyntheticsAPIStep(newSyntheticsAPITestStep().assertions(Collections.singletonList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).type(SyntheticsAssertionType.STATUS_CODE).target(200)))).name("request is sent").request(newSyntheticsTestRequest().url("https://httpbin.org/status/200").method("GET").basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthOauthClient().accessTokenUrl("accessTokenUrl").tokenApiAuthentication(SyntheticsBasicAuthOauthTokenApiAuthentication.HEADER).clientId("clientId").clientSecret("clientSecret").type(SyntheticsBasicAuthOauthClientType.OAUTH_CLIENT)))).subtype(SyntheticsAPITestStepSubtype.HTTP)),newSyntheticsAPIStep(newSyntheticsAPITestStep().assertions(Collections.singletonList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).type(SyntheticsAssertionType.STATUS_CODE).target(200)))).name("request is sent").request(newSyntheticsTestRequest().url("https://httpbin.org/status/200").method("GET").basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthOauthROP().accessTokenUrl("accessTokenUrl").password("password").tokenApiAuthentication(SyntheticsBasicAuthOauthTokenApiAuthentication.HEADER).username("username").type(SyntheticsBasicAuthOauthROPType.OAUTH_ROP)))).subtype(SyntheticsAPITestStepSubtype.HTTP))))).locations(Collections.singletonList("aws:us-east-2")).message("BDD test payload:"+" synthetics_api_test_multi_step_with_every_type_of_basic_auth.json").name("Example-Synthetic").options(newSyntheticsTestOptions().tickEvery(60L)).subtype(SyntheticsTestDetailsSubType.MULTI).type(SyntheticsAPITestType.API);try{SyntheticsAPITestresult=apiInstance.createSyntheticsAPITest(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createSyntheticsAPITest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Create an API GRPC test returns "OK - Returns the created test details." responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsAPITest;importcom.datadog.api.client.v1.model.SyntheticsAPITestConfig;importcom.datadog.api.client.v1.model.SyntheticsAPITestType;importcom.datadog.api.client.v1.model.SyntheticsAssertion;importcom.datadog.api.client.v1.model.SyntheticsAssertionOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionType;importcom.datadog.api.client.v1.model.SyntheticsTestDetailsSubType;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsMonitorOptions;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importcom.datadog.api.client.v1.model.SyntheticsTestRequestPort;importjava.util.Arrays;importjava.util.Collections;importjava.util.Map;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsAPITestbody=newSyntheticsAPITest().config(newSyntheticsAPITestConfig().assertions(Arrays.asList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).target(1).type(SyntheticsAssertionType.GRPC_HEALTHCHECK_STATUS)),newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).target("proto target").type(SyntheticsAssertionType.GRPC_PROTO)),newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).target("123").property("property").type(SyntheticsAssertionType.GRPC_METADATA)))).request(newSyntheticsTestRequest().host("localhost").port(newSyntheticsTestRequestPort(50051L)).service("Hello").method("GET").message("").metadata(Map.ofEntries()))).locations(Collections.singletonList("aws:us-east-2")).message("BDD test payload: synthetics_api_grpc_test_payload.json").name("Example-Synthetic").options(newSyntheticsTestOptions().minFailureDuration(0L).minLocationFailed(1L).monitorOptions(newSyntheticsTestOptionsMonitorOptions().renotifyInterval(0L)).monitorName("Example-Synthetic").tickEvery(60L)).subtype(SyntheticsTestDetailsSubType.GRPC).tags(Collections.singletonList("testing:api")).type(SyntheticsAPITestType.API);try{SyntheticsAPITestresult=apiInstance.createSyntheticsAPITest(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createSyntheticsAPITest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Create an API HTTP test has bodyHash filled outimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsAPITest;importcom.datadog.api.client.v1.model.SyntheticsAPITestConfig;importcom.datadog.api.client.v1.model.SyntheticsAPITestType;importcom.datadog.api.client.v1.model.SyntheticsAssertion;importcom.datadog.api.client.v1.model.SyntheticsAssertionBodyHashOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionBodyHashTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionBodyHashType;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONPathOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONPathTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONPathTargetTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaMetaSchema;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaTargetTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionJavascript;importcom.datadog.api.client.v1.model.SyntheticsAssertionJavascriptType;importcom.datadog.api.client.v1.model.SyntheticsAssertionOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionTimingsScope;importcom.datadog.api.client.v1.model.SyntheticsAssertionType;importcom.datadog.api.client.v1.model.SyntheticsAssertionXPathOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionXPathTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionXPathTargetTarget;importcom.datadog.api.client.v1.model.SyntheticsBasicAuth;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthClient;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthClientType;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthOauthTokenApiAuthentication;importcom.datadog.api.client.v1.model.SyntheticsConfigVariable;importcom.datadog.api.client.v1.model.SyntheticsConfigVariableType;importcom.datadog.api.client.v1.model.SyntheticsTestDetailsSubType;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsHTTPVersion;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsRetry;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importcom.datadog.api.client.v1.model.SyntheticsTestRequestCertificate;importcom.datadog.api.client.v1.model.SyntheticsTestRequestCertificateItem;importcom.datadog.api.client.v1.model.SyntheticsTestRequestProxy;importjava.util.Arrays;importjava.util.Collections;importjava.util.Map;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsAPITestbody=newSyntheticsAPITest().config(newSyntheticsAPITestConfig().assertions(Arrays.asList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).property("{{ PROPERTY }}").target("text/html").type(SyntheticsAssertionType.HEADER)),newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.LESS_THAN).target(2000).type(SyntheticsAssertionType.RESPONSE_TIME).timingsScope(SyntheticsAssertionTimingsScope.WITHOUT_DNS)),newSyntheticsAssertion(newSyntheticsAssertionJSONPathTarget().operator(SyntheticsAssertionJSONPathOperator.VALIDATES_JSON_PATH).target(newSyntheticsAssertionJSONPathTargetTarget().jsonPath("topKey").operator("isNot").targetValue("0")).type(SyntheticsAssertionType.BODY)),newSyntheticsAssertion(newSyntheticsAssertionJSONPathTarget().operator(SyntheticsAssertionJSONPathOperator.VALIDATES_JSON_PATH).target(newSyntheticsAssertionJSONPathTargetTarget().elementsOperator("atLeastOneElementMatches").jsonPath("topKey").operator("isNot").targetValue("0")).type(SyntheticsAssertionType.BODY)),newSyntheticsAssertion(newSyntheticsAssertionJSONSchemaTarget().operator(SyntheticsAssertionJSONSchemaOperator.VALIDATES_JSON_SCHEMA).target(newSyntheticsAssertionJSONSchemaTargetTarget().metaSchema(SyntheticsAssertionJSONSchemaMetaSchema.DRAFT_07).jsonSchema("""
{"type": "object", "properties":{"slideshow":{"type":"object"}}}
""")).type(SyntheticsAssertionType.BODY)),newSyntheticsAssertion(newSyntheticsAssertionXPathTarget().operator(SyntheticsAssertionXPathOperator.VALIDATES_X_PATH).target(newSyntheticsAssertionXPathTargetTarget().xPath("target-xpath").targetValue("0").operator("contains")).type(SyntheticsAssertionType.BODY)),newSyntheticsAssertion(newSyntheticsAssertionBodyHashTarget().operator(SyntheticsAssertionBodyHashOperator.MD5).target("a").type(SyntheticsAssertionBodyHashType.BODY_HASH)),newSyntheticsAssertion(newSyntheticsAssertionJavascript().code("const hello = 'world';").type(SyntheticsAssertionJavascriptType.JAVASCRIPT)))).configVariables(Collections.singletonList(newSyntheticsConfigVariable().example("content-type").name("PROPERTY").pattern("content-type").type(SyntheticsConfigVariableType.TEXT))).variablesFromScript("""
dd.variable.set("FOO", "foo")
""").request(newSyntheticsTestRequest().certificate(newSyntheticsTestRequestCertificate().cert(newSyntheticsTestRequestCertificateItem().content("cert-content").filename("cert-filename").updatedAt("2020-10-16T09:23:24.857Z")).key(newSyntheticsTestRequestCertificateItem().content("key-content").filename("key-filename").updatedAt("2020-10-16T09:23:24.857Z"))).headers(Map.ofEntries(Map.entry("unique","examplesynthetic"))).method("GET").timeout(10.0).url("https://datadoghq.com").proxy(newSyntheticsTestRequestProxy().url("https://datadoghq.com").headers(Map.ofEntries())).basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthOauthClient().accessTokenUrl("https://datadog-token.com").audience("audience").clientId("client-id").clientSecret("client-secret").resource("resource").scope("yoyo").tokenApiAuthentication(SyntheticsBasicAuthOauthTokenApiAuthentication.HEADER).type(SyntheticsBasicAuthOauthClientType.OAUTH_CLIENT))).persistCookies(true))).locations(Collections.singletonList("aws:us-east-2")).message("BDD test payload: synthetics_api_http_test_payload.json").name("Example-Synthetic").options(newSyntheticsTestOptions().acceptSelfSigned(false).allowInsecure(true).followRedirects(true).minFailureDuration(10L).minLocationFailed(1L).monitorName("Example-Synthetic").monitorPriority(5).retry(newSyntheticsTestOptionsRetry().count(3L).interval(10.0)).tickEvery(60L).httpVersion(SyntheticsTestOptionsHTTPVersion.HTTP2)).subtype(SyntheticsTestDetailsSubType.HTTP).tags(Collections.singletonList("testing:api")).type(SyntheticsAPITestType.API);try{SyntheticsAPITestresult=apiInstance.createSyntheticsAPITest(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createSyntheticsAPITest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Create a multi-step api test with every type of basicAuth returns "OK - Returns the created test details." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_api_testimportSyntheticsAPITestfromdatadog_api_client.v1.model.synthetics_api_test_configimportSyntheticsAPITestConfigfromdatadog_api_client.v1.model.synthetics_api_test_stepimportSyntheticsAPITestStepfromdatadog_api_client.v1.model.synthetics_api_test_step_subtypeimportSyntheticsAPITestStepSubtypefromdatadog_api_client.v1.model.synthetics_api_test_typeimportSyntheticsAPITestTypefromdatadog_api_client.v1.model.synthetics_assertion_operatorimportSyntheticsAssertionOperatorfromdatadog_api_client.v1.model.synthetics_assertion_targetimportSyntheticsAssertionTargetfromdatadog_api_client.v1.model.synthetics_assertion_typeimportSyntheticsAssertionTypefromdatadog_api_client.v1.model.synthetics_basic_auth_digestimportSyntheticsBasicAuthDigestfromdatadog_api_client.v1.model.synthetics_basic_auth_digest_typeimportSyntheticsBasicAuthDigestTypefromdatadog_api_client.v1.model.synthetics_basic_auth_ntlmimportSyntheticsBasicAuthNTLMfromdatadog_api_client.v1.model.synthetics_basic_auth_ntlm_typeimportSyntheticsBasicAuthNTLMTypefromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_clientimportSyntheticsBasicAuthOauthClientfromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_client_typeimportSyntheticsBasicAuthOauthClientTypefromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_ropimportSyntheticsBasicAuthOauthROPfromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_rop_typeimportSyntheticsBasicAuthOauthROPTypefromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_token_api_authenticationimport(SyntheticsBasicAuthOauthTokenApiAuthentication,)fromdatadog_api_client.v1.model.synthetics_basic_auth_sigv4importSyntheticsBasicAuthSigv4fromdatadog_api_client.v1.model.synthetics_basic_auth_sigv4_typeimportSyntheticsBasicAuthSigv4Typefromdatadog_api_client.v1.model.synthetics_basic_auth_webimportSyntheticsBasicAuthWebfromdatadog_api_client.v1.model.synthetics_basic_auth_web_typeimportSyntheticsBasicAuthWebTypefromdatadog_api_client.v1.model.synthetics_test_details_sub_typeimportSyntheticsTestDetailsSubTypefromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestbody=SyntheticsAPITest(config=SyntheticsAPITestConfig(steps=[SyntheticsAPITestStep(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,type=SyntheticsAssertionType.STATUS_CODE,target=200,),],name="request is sent",request=SyntheticsTestRequest(url="https://httpbin.org/status/200",method="GET",basic_auth=SyntheticsBasicAuthWeb(password="password",username="username",),),subtype=SyntheticsAPITestStepSubtype.HTTP,),SyntheticsAPITestStep(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,type=SyntheticsAssertionType.STATUS_CODE,target=200,),],name="request is sent",request=SyntheticsTestRequest(url="https://httpbin.org/status/200",method="GET",basic_auth=SyntheticsBasicAuthWeb(password="password",username="username",type=SyntheticsBasicAuthWebType.WEB,),),subtype=SyntheticsAPITestStepSubtype.HTTP,),SyntheticsAPITestStep(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,type=SyntheticsAssertionType.STATUS_CODE,target=200,),],name="request is sent",request=SyntheticsTestRequest(url="https://httpbin.org/status/200",method="GET",basic_auth=SyntheticsBasicAuthSigv4(access_key="accessKey",secret_key="secretKey",type=SyntheticsBasicAuthSigv4Type.SIGV4,),),subtype=SyntheticsAPITestStepSubtype.HTTP,),SyntheticsAPITestStep(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,type=SyntheticsAssertionType.STATUS_CODE,target=200,),],name="request is sent",request=SyntheticsTestRequest(url="https://httpbin.org/status/200",method="GET",basic_auth=SyntheticsBasicAuthNTLM(type=SyntheticsBasicAuthNTLMType.NTLM,),),subtype=SyntheticsAPITestStepSubtype.HTTP,),SyntheticsAPITestStep(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,type=SyntheticsAssertionType.STATUS_CODE,target=200,),],name="request is sent",request=SyntheticsTestRequest(url="https://httpbin.org/status/200",method="GET",basic_auth=SyntheticsBasicAuthDigest(password="password",username="username",type=SyntheticsBasicAuthDigestType.DIGEST,),),subtype=SyntheticsAPITestStepSubtype.HTTP,),SyntheticsAPITestStep(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,type=SyntheticsAssertionType.STATUS_CODE,target=200,),],name="request is sent",request=SyntheticsTestRequest(url="https://httpbin.org/status/200",method="GET",basic_auth=SyntheticsBasicAuthOauthClient(access_token_url="accessTokenUrl",token_api_authentication=SyntheticsBasicAuthOauthTokenApiAuthentication.HEADER,client_id="clientId",client_secret="clientSecret",type=SyntheticsBasicAuthOauthClientType.OAUTH_CLIENT,),),subtype=SyntheticsAPITestStepSubtype.HTTP,),SyntheticsAPITestStep(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,type=SyntheticsAssertionType.STATUS_CODE,target=200,),],name="request is sent",request=SyntheticsTestRequest(url="https://httpbin.org/status/200",method="GET",basic_auth=SyntheticsBasicAuthOauthROP(access_token_url="accessTokenUrl",password="password",token_api_authentication=SyntheticsBasicAuthOauthTokenApiAuthentication.HEADER,username="username",type=SyntheticsBasicAuthOauthROPType.OAUTH_ROP,),),subtype=SyntheticsAPITestStepSubtype.HTTP,),],),locations=["aws:us-east-2",],message="BDD test payload: synthetics_api_test_multi_step_with_every_type_of_basic_auth.json",name="Example-Synthetic",options=SyntheticsTestOptions(tick_every=60,),subtype=SyntheticsTestDetailsSubType.MULTI,type=SyntheticsAPITestType.API,)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_synthetics_api_test(body=body)print(response)
"""
Create an API GRPC test returns "OK - Returns the created test details." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_api_testimportSyntheticsAPITestfromdatadog_api_client.v1.model.synthetics_api_test_configimportSyntheticsAPITestConfigfromdatadog_api_client.v1.model.synthetics_api_test_typeimportSyntheticsAPITestTypefromdatadog_api_client.v1.model.synthetics_assertion_operatorimportSyntheticsAssertionOperatorfromdatadog_api_client.v1.model.synthetics_assertion_targetimportSyntheticsAssertionTargetfromdatadog_api_client.v1.model.synthetics_assertion_typeimportSyntheticsAssertionTypefromdatadog_api_client.v1.model.synthetics_test_details_sub_typeimportSyntheticsTestDetailsSubTypefromdatadog_api_client.v1.model.synthetics_test_metadataimportSyntheticsTestMetadatafromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_options_monitor_optionsimportSyntheticsTestOptionsMonitorOptionsfromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestbody=SyntheticsAPITest(config=SyntheticsAPITestConfig(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,target=1,type=SyntheticsAssertionType.GRPC_HEALTHCHECK_STATUS,),SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,target="proto target",type=SyntheticsAssertionType.GRPC_PROTO,),SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,target="123",_property="property",type=SyntheticsAssertionType.GRPC_METADATA,),],request=SyntheticsTestRequest(host="localhost",port=50051,service="Hello",method="GET",message="",metadata=SyntheticsTestMetadata(),),),locations=["aws:us-east-2",],message="BDD test payload: synthetics_api_grpc_test_payload.json",name="Example-Synthetic",options=SyntheticsTestOptions(min_failure_duration=0,min_location_failed=1,monitor_options=SyntheticsTestOptionsMonitorOptions(renotify_interval=0,),monitor_name="Example-Synthetic",tick_every=60,),subtype=SyntheticsTestDetailsSubType.GRPC,tags=["testing:api",],type=SyntheticsAPITestType.API,)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_synthetics_api_test(body=body)print(response)
"""
Create an API HTTP test has bodyHash filled out
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_api_testimportSyntheticsAPITestfromdatadog_api_client.v1.model.synthetics_api_test_configimportSyntheticsAPITestConfigfromdatadog_api_client.v1.model.synthetics_api_test_typeimportSyntheticsAPITestTypefromdatadog_api_client.v1.model.synthetics_assertion_body_hash_operatorimportSyntheticsAssertionBodyHashOperatorfromdatadog_api_client.v1.model.synthetics_assertion_body_hash_targetimportSyntheticsAssertionBodyHashTargetfromdatadog_api_client.v1.model.synthetics_assertion_body_hash_typeimportSyntheticsAssertionBodyHashTypefromdatadog_api_client.v1.model.synthetics_assertion_javascriptimportSyntheticsAssertionJavascriptfromdatadog_api_client.v1.model.synthetics_assertion_javascript_typeimportSyntheticsAssertionJavascriptTypefromdatadog_api_client.v1.model.synthetics_assertion_json_path_operatorimportSyntheticsAssertionJSONPathOperatorfromdatadog_api_client.v1.model.synthetics_assertion_json_path_targetimportSyntheticsAssertionJSONPathTargetfromdatadog_api_client.v1.model.synthetics_assertion_json_path_target_targetimport(SyntheticsAssertionJSONPathTargetTarget,)fromdatadog_api_client.v1.model.synthetics_assertion_json_schema_meta_schemaimport(SyntheticsAssertionJSONSchemaMetaSchema,)fromdatadog_api_client.v1.model.synthetics_assertion_json_schema_operatorimportSyntheticsAssertionJSONSchemaOperatorfromdatadog_api_client.v1.model.synthetics_assertion_json_schema_targetimportSyntheticsAssertionJSONSchemaTargetfromdatadog_api_client.v1.model.synthetics_assertion_json_schema_target_targetimport(SyntheticsAssertionJSONSchemaTargetTarget,)fromdatadog_api_client.v1.model.synthetics_assertion_operatorimportSyntheticsAssertionOperatorfromdatadog_api_client.v1.model.synthetics_assertion_targetimportSyntheticsAssertionTargetfromdatadog_api_client.v1.model.synthetics_assertion_timings_scopeimportSyntheticsAssertionTimingsScopefromdatadog_api_client.v1.model.synthetics_assertion_typeimportSyntheticsAssertionTypefromdatadog_api_client.v1.model.synthetics_assertion_x_path_operatorimportSyntheticsAssertionXPathOperatorfromdatadog_api_client.v1.model.synthetics_assertion_x_path_targetimportSyntheticsAssertionXPathTargetfromdatadog_api_client.v1.model.synthetics_assertion_x_path_target_targetimportSyntheticsAssertionXPathTargetTargetfromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_clientimportSyntheticsBasicAuthOauthClientfromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_client_typeimportSyntheticsBasicAuthOauthClientTypefromdatadog_api_client.v1.model.synthetics_basic_auth_oauth_token_api_authenticationimport(SyntheticsBasicAuthOauthTokenApiAuthentication,)fromdatadog_api_client.v1.model.synthetics_config_variableimportSyntheticsConfigVariablefromdatadog_api_client.v1.model.synthetics_config_variable_typeimportSyntheticsConfigVariableTypefromdatadog_api_client.v1.model.synthetics_test_details_sub_typeimportSyntheticsTestDetailsSubTypefromdatadog_api_client.v1.model.synthetics_test_headersimportSyntheticsTestHeadersfromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_options_http_versionimportSyntheticsTestOptionsHTTPVersionfromdatadog_api_client.v1.model.synthetics_test_options_retryimportSyntheticsTestOptionsRetryfromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestfromdatadog_api_client.v1.model.synthetics_test_request_certificateimportSyntheticsTestRequestCertificatefromdatadog_api_client.v1.model.synthetics_test_request_certificate_itemimportSyntheticsTestRequestCertificateItemfromdatadog_api_client.v1.model.synthetics_test_request_proxyimportSyntheticsTestRequestProxybody=SyntheticsAPITest(config=SyntheticsAPITestConfig(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,_property="{{ PROPERTY }}",target="text/html",type=SyntheticsAssertionType.HEADER,),SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.LESS_THAN,target=2000,type=SyntheticsAssertionType.RESPONSE_TIME,timings_scope=SyntheticsAssertionTimingsScope.WITHOUT_DNS,),SyntheticsAssertionJSONPathTarget(operator=SyntheticsAssertionJSONPathOperator.VALIDATES_JSON_PATH,target=SyntheticsAssertionJSONPathTargetTarget(json_path="topKey",operator="isNot",target_value="0",),type=SyntheticsAssertionType.BODY,),SyntheticsAssertionJSONPathTarget(operator=SyntheticsAssertionJSONPathOperator.VALIDATES_JSON_PATH,target=SyntheticsAssertionJSONPathTargetTarget(elements_operator="atLeastOneElementMatches",json_path="topKey",operator="isNot",target_value="0",),type=SyntheticsAssertionType.BODY,),SyntheticsAssertionJSONSchemaTarget(operator=SyntheticsAssertionJSONSchemaOperator.VALIDATES_JSON_SCHEMA,target=SyntheticsAssertionJSONSchemaTargetTarget(meta_schema=SyntheticsAssertionJSONSchemaMetaSchema.DRAFT_07,json_schema='{"type": "object", "properties":{"slideshow":{"type":"object"}}}',),type=SyntheticsAssertionType.BODY,),SyntheticsAssertionXPathTarget(operator=SyntheticsAssertionXPathOperator.VALIDATES_X_PATH,target=SyntheticsAssertionXPathTargetTarget(x_path="target-xpath",target_value="0",operator="contains",),type=SyntheticsAssertionType.BODY,),SyntheticsAssertionBodyHashTarget(operator=SyntheticsAssertionBodyHashOperator.MD5,target="a",type=SyntheticsAssertionBodyHashType.BODY_HASH,),SyntheticsAssertionJavascript(code="const hello = 'world';",type=SyntheticsAssertionJavascriptType.JAVASCRIPT,),],config_variables=[SyntheticsConfigVariable(example="content-type",name="PROPERTY",pattern="content-type",type=SyntheticsConfigVariableType.TEXT,),],variables_from_script='dd.variable.set("FOO", "foo")',request=SyntheticsTestRequest(certificate=SyntheticsTestRequestCertificate(cert=SyntheticsTestRequestCertificateItem(content="cert-content",filename="cert-filename",updated_at="2020-10-16T09:23:24.857Z",),key=SyntheticsTestRequestCertificateItem(content="key-content",filename="key-filename",updated_at="2020-10-16T09:23:24.857Z",),),headers=SyntheticsTestHeaders(unique="examplesynthetic",),method="GET",timeout=10.0,url="https://datadoghq.com",proxy=SyntheticsTestRequestProxy(url="https://datadoghq.com",headers=SyntheticsTestHeaders(),),basic_auth=SyntheticsBasicAuthOauthClient(access_token_url="https://datadog-token.com",audience="audience",client_id="client-id",client_secret="client-secret",resource="resource",scope="yoyo",token_api_authentication=SyntheticsBasicAuthOauthTokenApiAuthentication.HEADER,type=SyntheticsBasicAuthOauthClientType.OAUTH_CLIENT,),persist_cookies=True,),),locations=["aws:us-east-2",],message="BDD test payload: synthetics_api_http_test_payload.json",name="Example-Synthetic",options=SyntheticsTestOptions(accept_self_signed=False,allow_insecure=True,follow_redirects=True,min_failure_duration=10,min_location_failed=1,monitor_name="Example-Synthetic",monitor_priority=5,retry=SyntheticsTestOptionsRetry(count=3,interval=10.0,),tick_every=60,http_version=SyntheticsTestOptionsHTTPVersion.HTTP2,),subtype=SyntheticsTestDetailsSubType.HTTP,tags=["testing:api",],type=SyntheticsAPITestType.API,)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_synthetics_api_test(body=body)print(response)
# Create a multi-step api test with every type of basicAuth returns "OK - Returns the created test details." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsAPITest.new({config:DatadogAPIClient::V1::SyntheticsAPITestConfig.new({steps:[DatadogAPIClient::V1::SyntheticsAPITestStep.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,type:DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,target:200,}),],name:"request is sent",request:DatadogAPIClient::V1::SyntheticsTestRequest.new({url:"https://httpbin.org/status/200",method:"GET",basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthWeb.new({password:"password",username:"username",}),}),subtype:DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,}),DatadogAPIClient::V1::SyntheticsAPITestStep.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,type:DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,target:200,}),],name:"request is sent",request:DatadogAPIClient::V1::SyntheticsTestRequest.new({url:"https://httpbin.org/status/200",method:"GET",basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthWeb.new({password:"password",username:"username",type:DatadogAPIClient::V1::SyntheticsBasicAuthWebType::WEB,}),}),subtype:DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,}),DatadogAPIClient::V1::SyntheticsAPITestStep.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,type:DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,target:200,}),],name:"request is sent",request:DatadogAPIClient::V1::SyntheticsTestRequest.new({url:"https://httpbin.org/status/200",method:"GET",basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthSigv4.new({access_key:"accessKey",secret_key:"secretKey",type:DatadogAPIClient::V1::SyntheticsBasicAuthSigv4Type::SIGV4,}),}),subtype:DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,}),DatadogAPIClient::V1::SyntheticsAPITestStep.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,type:DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,target:200,}),],name:"request is sent",request:DatadogAPIClient::V1::SyntheticsTestRequest.new({url:"https://httpbin.org/status/200",method:"GET",basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthNTLM.new({type:DatadogAPIClient::V1::SyntheticsBasicAuthNTLMType::NTLM,}),}),subtype:DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,}),DatadogAPIClient::V1::SyntheticsAPITestStep.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,type:DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,target:200,}),],name:"request is sent",request:DatadogAPIClient::V1::SyntheticsTestRequest.new({url:"https://httpbin.org/status/200",method:"GET",basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthDigest.new({password:"password",username:"username",type:DatadogAPIClient::V1::SyntheticsBasicAuthDigestType::DIGEST,}),}),subtype:DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,}),DatadogAPIClient::V1::SyntheticsAPITestStep.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,type:DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,target:200,}),],name:"request is sent",request:DatadogAPIClient::V1::SyntheticsTestRequest.new({url:"https://httpbin.org/status/200",method:"GET",basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthOauthClient.new({access_token_url:"accessTokenUrl",token_api_authentication:DatadogAPIClient::V1::SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,client_id:"clientId",client_secret:"clientSecret",type:DatadogAPIClient::V1::SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,}),}),subtype:DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,}),DatadogAPIClient::V1::SyntheticsAPITestStep.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,type:DatadogAPIClient::V1::SyntheticsAssertionType::STATUS_CODE,target:200,}),],name:"request is sent",request:DatadogAPIClient::V1::SyntheticsTestRequest.new({url:"https://httpbin.org/status/200",method:"GET",basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthOauthROP.new({access_token_url:"accessTokenUrl",password:"password",token_api_authentication:DatadogAPIClient::V1::SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,username:"username",type:DatadogAPIClient::V1::SyntheticsBasicAuthOauthROPType::OAUTH_ROP,}),}),subtype:DatadogAPIClient::V1::SyntheticsAPITestStepSubtype::HTTP,}),],}),locations:["aws:us-east-2",],message:"BDD test payload: synthetics_api_test_multi_step_with_every_type_of_basic_auth.json",name:"Example-Synthetic",options:DatadogAPIClient::V1::SyntheticsTestOptions.new({tick_every:60,}),subtype:DatadogAPIClient::V1::SyntheticsTestDetailsSubType::MULTI,type:DatadogAPIClient::V1::SyntheticsAPITestType::API,})papi_instance.create_synthetics_api_test(body)
# Create an API GRPC test returns "OK - Returns the created test details." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsAPITest.new({config:DatadogAPIClient::V1::SyntheticsAPITestConfig.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,target:1,type:DatadogAPIClient::V1::SyntheticsAssertionType::GRPC_HEALTHCHECK_STATUS,}),DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,target:"proto target",type:DatadogAPIClient::V1::SyntheticsAssertionType::GRPC_PROTO,}),DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,target:"123",property:"property",type:DatadogAPIClient::V1::SyntheticsAssertionType::GRPC_METADATA,}),],request:DatadogAPIClient::V1::SyntheticsTestRequest.new({host:"localhost",port:50051,service:"Hello",method:"GET",message:"",metadata:{},}),}),locations:["aws:us-east-2",],message:"BDD test payload: synthetics_api_grpc_test_payload.json",name:"Example-Synthetic",options:DatadogAPIClient::V1::SyntheticsTestOptions.new({min_failure_duration:0,min_location_failed:1,monitor_options:DatadogAPIClient::V1::SyntheticsTestOptionsMonitorOptions.new({renotify_interval:0,}),monitor_name:"Example-Synthetic",tick_every:60,}),subtype:DatadogAPIClient::V1::SyntheticsTestDetailsSubType::GRPC,tags:["testing:api",],type:DatadogAPIClient::V1::SyntheticsAPITestType::API,})papi_instance.create_synthetics_api_test(body)
# Create an API HTTP test has bodyHash filled outrequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsAPITest.new({config:DatadogAPIClient::V1::SyntheticsAPITestConfig.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,property:"{{ PROPERTY }}",target:"text/html",type:DatadogAPIClient::V1::SyntheticsAssertionType::HEADER,}),DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::LESS_THAN,target:2000,type:DatadogAPIClient::V1::SyntheticsAssertionType::RESPONSE_TIME,timings_scope:DatadogAPIClient::V1::SyntheticsAssertionTimingsScope::WITHOUT_DNS,}),DatadogAPIClient::V1::SyntheticsAssertionJSONPathTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,target:DatadogAPIClient::V1::SyntheticsAssertionJSONPathTargetTarget.new({json_path:"topKey",operator:"isNot",target_value:"0",}),type:DatadogAPIClient::V1::SyntheticsAssertionType::BODY,}),DatadogAPIClient::V1::SyntheticsAssertionJSONPathTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,target:DatadogAPIClient::V1::SyntheticsAssertionJSONPathTargetTarget.new({elements_operator:"atLeastOneElementMatches",json_path:"topKey",operator:"isNot",target_value:"0",}),type:DatadogAPIClient::V1::SyntheticsAssertionType::BODY,}),DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,target:DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaTargetTarget.new({meta_schema:DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07,json_schema:'{"type": "object", "properties":{"slideshow":{"type":"object"}}}',}),type:DatadogAPIClient::V1::SyntheticsAssertionType::BODY,}),DatadogAPIClient::V1::SyntheticsAssertionXPathTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,target:DatadogAPIClient::V1::SyntheticsAssertionXPathTargetTarget.new({x_path:"target-xpath",target_value:"0",operator:"contains",}),type:DatadogAPIClient::V1::SyntheticsAssertionType::BODY,}),DatadogAPIClient::V1::SyntheticsAssertionBodyHashTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionBodyHashOperator::MD5,target:"a",type:DatadogAPIClient::V1::SyntheticsAssertionBodyHashType::BODY_HASH,}),DatadogAPIClient::V1::SyntheticsAssertionJavascript.new({code:"const hello = 'world';",type:DatadogAPIClient::V1::SyntheticsAssertionJavascriptType::JAVASCRIPT,}),],config_variables:[DatadogAPIClient::V1::SyntheticsConfigVariable.new({example:"content-type",name:"PROPERTY",pattern:"content-type",type:DatadogAPIClient::V1::SyntheticsConfigVariableType::TEXT,}),],variables_from_script:'dd.variable.set("FOO", "foo")',request:DatadogAPIClient::V1::SyntheticsTestRequest.new({certificate:DatadogAPIClient::V1::SyntheticsTestRequestCertificate.new({cert:DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({content:"cert-content",filename:"cert-filename",updated_at:"2020-10-16T09:23:24.857Z",}),key:DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({content:"key-content",filename:"key-filename",updated_at:"2020-10-16T09:23:24.857Z",}),}),headers:{unique:"examplesynthetic",},method:"GET",timeout:10,url:"https://datadoghq.com",proxy:DatadogAPIClient::V1::SyntheticsTestRequestProxy.new({url:"https://datadoghq.com",headers:{},}),basic_auth:DatadogAPIClient::V1::SyntheticsBasicAuthOauthClient.new({access_token_url:"https://datadog-token.com",audience:"audience",client_id:"client-id",client_secret:"client-secret",resource:"resource",scope:"yoyo",token_api_authentication:DatadogAPIClient::V1::SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,type:DatadogAPIClient::V1::SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,}),persist_cookies:true,}),}),locations:["aws:us-east-2",],message:"BDD test payload: synthetics_api_http_test_payload.json",name:"Example-Synthetic",options:DatadogAPIClient::V1::SyntheticsTestOptions.new({accept_self_signed:false,allow_insecure:true,follow_redirects:true,min_failure_duration:10,min_location_failed:1,monitor_name:"Example-Synthetic",monitor_priority:5,_retry:DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({count:3,interval:10,}),tick_every:60,http_version:DatadogAPIClient::V1::SyntheticsTestOptionsHTTPVersion::HTTP2,}),subtype:DatadogAPIClient::V1::SyntheticsTestDetailsSubType::HTTP,tags:["testing:api",],type:DatadogAPIClient::V1::SyntheticsAPITestType::API,})papi_instance.create_synthetics_api_test(body)
// Create a multi-step api test with every type of basicAuth returns "OK - Returns
// the created test details." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsAPIStep;usedatadog_api_client::datadogV1::model::SyntheticsAPITest;usedatadog_api_client::datadogV1::model::SyntheticsAPITestConfig;usedatadog_api_client::datadogV1::model::SyntheticsAPITestStep;usedatadog_api_client::datadogV1::model::SyntheticsAPITestStepSubtype;usedatadog_api_client::datadogV1::model::SyntheticsAPITestType;usedatadog_api_client::datadogV1::model::SyntheticsAssertion;usedatadog_api_client::datadogV1::model::SyntheticsAssertionOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionType;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuth;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthDigest;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthDigestType;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthNTLM;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthNTLMType;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthClient;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthClientType;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthROP;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthROPType;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthTokenApiAuthentication;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthSigv4;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthSigv4Type;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthWeb;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthWebType;usedatadog_api_client::datadogV1::model::SyntheticsTestDetailsSubType;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;useserde_json::Value;#[tokio::main]asyncfnmain(){letbody=SyntheticsAPITest::new(SyntheticsAPITestConfig::new().steps(vec![SyntheticsAPIStep::SyntheticsAPITestStep(Box::new(SyntheticsAPITestStep::new(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(200),SyntheticsAssertionType::STATUS_CODE,),))],"request is sent".to_string(),SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthWeb(Box::new(SyntheticsBasicAuthWeb::new("password".to_string(),"username".to_string()),))).method("GET".to_string()).url("https://httpbin.org/status/200".to_string()),SyntheticsAPITestStepSubtype::HTTP,))),SyntheticsAPIStep::SyntheticsAPITestStep(Box::new(SyntheticsAPITestStep::new(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(200),SyntheticsAssertionType::STATUS_CODE,),))],"request is sent".to_string(),SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthWeb(Box::new(SyntheticsBasicAuthWeb::new("password".to_string(),"username".to_string()).type_(SyntheticsBasicAuthWebType::WEB),))).method("GET".to_string()).url("https://httpbin.org/status/200".to_string()),SyntheticsAPITestStepSubtype::HTTP,))),SyntheticsAPIStep::SyntheticsAPITestStep(Box::new(SyntheticsAPITestStep::new(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(200),SyntheticsAssertionType::STATUS_CODE,),))],"request is sent".to_string(),SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthSigv4(Box::new(SyntheticsBasicAuthSigv4::new("accessKey".to_string(),"secretKey".to_string(),SyntheticsBasicAuthSigv4Type::SIGV4,),))).method("GET".to_string()).url("https://httpbin.org/status/200".to_string()),SyntheticsAPITestStepSubtype::HTTP,))),SyntheticsAPIStep::SyntheticsAPITestStep(Box::new(SyntheticsAPITestStep::new(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(200),SyntheticsAssertionType::STATUS_CODE,),))],"request is sent".to_string(),SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthNTLM(Box::new(SyntheticsBasicAuthNTLM::new(SyntheticsBasicAuthNTLMType::NTLM),))).method("GET".to_string()).url("https://httpbin.org/status/200".to_string()),SyntheticsAPITestStepSubtype::HTTP,))),SyntheticsAPIStep::SyntheticsAPITestStep(Box::new(SyntheticsAPITestStep::new(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(200),SyntheticsAssertionType::STATUS_CODE,),))],"request is sent".to_string(),SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthDigest(Box::new(SyntheticsBasicAuthDigest::new("password".to_string(),SyntheticsBasicAuthDigestType::DIGEST,"username".to_string(),),))).method("GET".to_string()).url("https://httpbin.org/status/200".to_string()),SyntheticsAPITestStepSubtype::HTTP,))),SyntheticsAPIStep::SyntheticsAPITestStep(Box::new(SyntheticsAPITestStep::new(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(200),SyntheticsAssertionType::STATUS_CODE,),))],"request is sent".to_string(),SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(Box::new(SyntheticsBasicAuthOauthClient::new("accessTokenUrl".to_string(),"clientId".to_string(),"clientSecret".to_string(),SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,)),)).method("GET".to_string()).url("https://httpbin.org/status/200".to_string()),SyntheticsAPITestStepSubtype::HTTP,))),SyntheticsAPIStep::SyntheticsAPITestStep(Box::new(SyntheticsAPITestStep::new(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(200),SyntheticsAssertionType::STATUS_CODE,),))],"request is sent".to_string(),SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthOauthROP(Box::new(SyntheticsBasicAuthOauthROP::new("accessTokenUrl".to_string(),"password".to_string(),SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,SyntheticsBasicAuthOauthROPType::OAUTH_ROP,"username".to_string(),),))).method("GET".to_string()).url("https://httpbin.org/status/200".to_string()),SyntheticsAPITestStepSubtype::HTTP,))),]),vec!["aws:us-east-2".to_string()],"BDD test payload: synthetics_api_test_multi_step_with_every_type_of_basic_auth.json".to_string(),"Example-Synthetic".to_string(),SyntheticsTestOptions::new().tick_every(60),SyntheticsAPITestType::API,).subtype(SyntheticsTestDetailsSubType::MULTI);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_synthetics_api_test(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
// Create an API GRPC test returns "OK - Returns the created test details."
// response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsAPITest;usedatadog_api_client::datadogV1::model::SyntheticsAPITestConfig;usedatadog_api_client::datadogV1::model::SyntheticsAPITestType;usedatadog_api_client::datadogV1::model::SyntheticsAssertion;usedatadog_api_client::datadogV1::model::SyntheticsAssertionOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionType;usedatadog_api_client::datadogV1::model::SyntheticsTestDetailsSubType;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsMonitorOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestPort;useserde_json::Value;usestd::collections::BTreeMap;#[tokio::main]asyncfnmain(){letbody=SyntheticsAPITest::new(SyntheticsAPITestConfig::new().assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from(1),SyntheticsAssertionType::GRPC_HEALTHCHECK_STATUS,),)),SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from("proto target"),SyntheticsAssertionType::GRPC_PROTO,),)),SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from("123"),SyntheticsAssertionType::GRPC_METADATA,).property("property".to_string()),)),]).request(SyntheticsTestRequest::new().host("localhost".to_string()).message("".to_string()).metadata(BTreeMap::from([])).method("GET".to_string()).port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(50051)).service("Hello".to_string()),),vec!["aws:us-east-2".to_string()],"BDD test payload: synthetics_api_grpc_test_payload.json".to_string(),"Example-Synthetic".to_string(),SyntheticsTestOptions::new().min_failure_duration(0).min_location_failed(1).monitor_name("Example-Synthetic".to_string()).monitor_options(SyntheticsTestOptionsMonitorOptions::new().renotify_interval(0)).tick_every(60),SyntheticsAPITestType::API,).subtype(SyntheticsTestDetailsSubType::GRPC).tags(vec!["testing:api".to_string()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_synthetics_api_test(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
// Create an API HTTP test has bodyHash filled out
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsAPITest;usedatadog_api_client::datadogV1::model::SyntheticsAPITestConfig;usedatadog_api_client::datadogV1::model::SyntheticsAPITestType;usedatadog_api_client::datadogV1::model::SyntheticsAssertion;usedatadog_api_client::datadogV1::model::SyntheticsAssertionBodyHashOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionBodyHashTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionBodyHashType;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONPathOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONPathTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONPathTargetTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaMetaSchema;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaTargetTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJavascript;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJavascriptType;usedatadog_api_client::datadogV1::model::SyntheticsAssertionOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionTimingsScope;usedatadog_api_client::datadogV1::model::SyntheticsAssertionType;usedatadog_api_client::datadogV1::model::SyntheticsAssertionXPathOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionXPathTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionXPathTargetTarget;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuth;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthClient;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthClientType;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthOauthTokenApiAuthentication;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariable;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariableType;usedatadog_api_client::datadogV1::model::SyntheticsTestDetailsSubType;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsHTTPVersion;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestCertificate;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestCertificateItem;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestProxy;useserde_json::Value;usestd::collections::BTreeMap;#[tokio::main]asyncfnmain(){letbody=SyntheticsAPITest::new(SyntheticsAPITestConfig::new().assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from("text/html"),SyntheticsAssertionType::HEADER,).property("{{ PROPERTY }}".to_string()),),),SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::LESS_THAN,Value::from(2000),SyntheticsAssertionType::RESPONSE_TIME,).timings_scope(SyntheticsAssertionTimingsScope::WITHOUT_DNS),),),SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(Box::new(SyntheticsAssertionJSONPathTarget::new(SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,SyntheticsAssertionType::BODY,).target(SyntheticsAssertionJSONPathTargetTarget::new().json_path("topKey".to_string()).operator("isNot".to_string()).target_value(Value::from("0")),),),),SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(Box::new(SyntheticsAssertionJSONPathTarget::new(SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,SyntheticsAssertionType::BODY,).target(SyntheticsAssertionJSONPathTargetTarget::new().elements_operator("atLeastOneElementMatches".to_string()).json_path("topKey".to_string()).operator("isNot".to_string()).target_value(Value::from("0")),),),),SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(Box::new(SyntheticsAssertionJSONSchemaTarget::new(SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,SyntheticsAssertionType::BODY,).target(SyntheticsAssertionJSONSchemaTargetTarget::new().json_schema(r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),).meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),),),),SyntheticsAssertion::SyntheticsAssertionXPathTarget(Box::new(SyntheticsAssertionXPathTarget::new(SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,SyntheticsAssertionType::BODY,).target(SyntheticsAssertionXPathTargetTarget::new().operator("contains".to_string()).target_value(Value::from("0")).x_path("target-xpath".to_string()),),),),SyntheticsAssertion::SyntheticsAssertionBodyHashTarget(Box::new(SyntheticsAssertionBodyHashTarget::new(SyntheticsAssertionBodyHashOperator::MD5,Value::from("a"),SyntheticsAssertionBodyHashType::BODY_HASH,),),),SyntheticsAssertion::SyntheticsAssertionJavascript(Box::new(SyntheticsAssertionJavascript::new("const hello = 'world';".to_string(),SyntheticsAssertionJavascriptType::JAVASCRIPT,),),)],).config_variables(vec![SyntheticsConfigVariable::new("PROPERTY".to_string(),SyntheticsConfigVariableType::TEXT).example("content-type".to_string()).pattern("content-type".to_string())],).request(SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(Box::new(SyntheticsBasicAuthOauthClient::new("https://datadog-token.com".to_string(),"client-id".to_string(),"client-secret".to_string(),SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,).audience("audience".to_string()).resource("resource".to_string()).scope("yoyo".to_string()),),),).certificate(SyntheticsTestRequestCertificate::new().cert(SyntheticsTestRequestCertificateItem::new().content("cert-content".to_string()).filename("cert-filename".to_string()).updated_at("2020-10-16T09:23:24.857Z".to_string()),).key(SyntheticsTestRequestCertificateItem::new().content("key-content".to_string()).filename("key-filename".to_string()).updated_at("2020-10-16T09:23:24.857Z".to_string()),),).headers(BTreeMap::from([("unique".to_string(),"examplesynthetic".to_string())])).method("GET".to_string()).persist_cookies(true).proxy(SyntheticsTestRequestProxy::new("https://datadoghq.com".to_string(),).headers(BTreeMap::from([])),).timeout(10.0asf64).url("https://datadoghq.com".to_string()),).variables_from_script(r#"dd.variable.set("FOO", "foo")"#.to_string()),vec!["aws:us-east-2".to_string()],"BDD test payload: synthetics_api_http_test_payload.json".to_string(),"Example-Synthetic".to_string(),SyntheticsTestOptions::new().accept_self_signed(false).allow_insecure(true).follow_redirects(true).http_version(SyntheticsTestOptionsHTTPVersion::HTTP2).min_failure_duration(10).min_location_failed(1).monitor_name("Example-Synthetic".to_string()).monitor_priority(5).retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0asf64)).tick_every(60),SyntheticsAPITestType::API,).subtype(SyntheticsTestDetailsSubType::HTTP).tags(vec!["testing:api".to_string()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_synthetics_api_test(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Create a multi-step api test with every type of basicAuth returns "OK - Returns the created test details." response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiCreateSyntheticsAPITestRequest={body:{config:{steps:[{assertions:[{operator:"is",type:"statusCode",target: 200,},],name:"request is sent",request:{url:"https://httpbin.org/status/200",method:"GET",basicAuth:{password:"password",username:"username",},},subtype:"http",},{assertions:[{operator:"is",type:"statusCode",target: 200,},],name:"request is sent",request:{url:"https://httpbin.org/status/200",method:"GET",basicAuth:{password:"password",username:"username",type:"web",},},subtype:"http",},{assertions:[{operator:"is",type:"statusCode",target: 200,},],name:"request is sent",request:{url:"https://httpbin.org/status/200",method:"GET",basicAuth:{accessKey:"accessKey",secretKey:"secretKey",type:"sigv4",},},subtype:"http",},{assertions:[{operator:"is",type:"statusCode",target: 200,},],name:"request is sent",request:{url:"https://httpbin.org/status/200",method:"GET",basicAuth:{type:"ntlm",},},subtype:"http",},{assertions:[{operator:"is",type:"statusCode",target: 200,},],name:"request is sent",request:{url:"https://httpbin.org/status/200",method:"GET",basicAuth:{password:"password",username:"username",type:"digest",},},subtype:"http",},{assertions:[{operator:"is",type:"statusCode",target: 200,},],name:"request is sent",request:{url:"https://httpbin.org/status/200",method:"GET",basicAuth:{accessTokenUrl:"accessTokenUrl",tokenApiAuthentication:"header",clientId:"clientId",clientSecret:"clientSecret",type:"oauth-client",},},subtype:"http",},{assertions:[{operator:"is",type:"statusCode",target: 200,},],name:"request is sent",request:{url:"https://httpbin.org/status/200",method:"GET",basicAuth:{accessTokenUrl:"accessTokenUrl",password:"password",tokenApiAuthentication:"header",username:"username",type:"oauth-rop",},},subtype:"http",},],},locations:["aws:us-east-2"],message:"BDD test payload: synthetics_api_test_multi_step_with_every_type_of_basic_auth.json",name:"Example-Synthetic",options:{tickEvery: 60,},subtype:"multi",type:"api",},};apiInstance.createSyntheticsAPITest(params).then((data: v1.SyntheticsAPITest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
/**
* Create an API GRPC test returns "OK - Returns the created test details." response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiCreateSyntheticsAPITestRequest={body:{config:{assertions:[{operator:"is",target: 1,type:"grpcHealthcheckStatus",},{operator:"is",target:"proto target",type:"grpcProto",},{operator:"is",target:"123",property:"property",type:"grpcMetadata",},],request:{host:"localhost",port: 50051,service:"Hello",method:"GET",message:"",metadata:{},},},locations:["aws:us-east-2"],message:"BDD test payload: synthetics_api_grpc_test_payload.json",name:"Example-Synthetic",options:{minFailureDuration: 0,minLocationFailed: 1,monitorOptions:{renotifyInterval: 0,},monitorName:"Example-Synthetic",tickEvery: 60,},subtype:"grpc",tags:["testing:api"],type:"api",},};apiInstance.createSyntheticsAPITest(params).then((data: v1.SyntheticsAPITest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
/**
* Create an API HTTP test has bodyHash filled out
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiCreateSyntheticsAPITestRequest={body:{config:{assertions:[{operator:"is",property:"{{ PROPERTY }}",target:"text/html",type:"header",},{operator:"lessThan",target: 2000,type:"responseTime",timingsScope:"withoutDNS",},{operator:"validatesJSONPath",target:{jsonPath:"topKey",operator:"isNot",targetValue:"0",},type:"body",},{operator:"validatesJSONPath",target:{elementsOperator:"atLeastOneElementMatches",jsonPath:"topKey",operator:"isNot",targetValue:"0",},type:"body",},{operator:"validatesJSONSchema",target:{metaSchema:"draft-07",jsonSchema:`{"type": "object", "properties":{"slideshow":{"type":"object"}}}`,},type:"body",},{operator:"validatesXPath",target:{xPath:"target-xpath",targetValue:"0",operator:"contains",},type:"body",},{operator:"md5",target:"a",type:"bodyHash",},{code:"const hello = 'world';",type:"javascript",},],configVariables:[{example:"content-type",name:"PROPERTY",pattern:"content-type",type:"text",},],variablesFromScript:`dd.variable.set("FOO", "foo")`,request:{certificate:{cert:{content:"cert-content",filename:"cert-filename",updatedAt:"2020-10-16T09:23:24.857Z",},key:{content:"key-content",filename:"key-filename",updatedAt:"2020-10-16T09:23:24.857Z",},},headers:{unique:"examplesynthetic",},method:"GET",timeout: 10,url:"https://datadoghq.com",proxy:{url:"https://datadoghq.com",headers:{},},basicAuth:{accessTokenUrl:"https://datadog-token.com",audience:"audience",clientId:"client-id",clientSecret:"client-secret",resource:"resource",scope:"yoyo",tokenApiAuthentication:"header",type:"oauth-client",},persistCookies: true,},},locations:["aws:us-east-2"],message:"BDD test payload: synthetics_api_http_test_payload.json",name:"Example-Synthetic",options:{acceptSelfSigned: false,allowInsecure: true,followRedirects: true,minFailureDuration: 10,minLocationFailed: 1,monitorName:"Example-Synthetic",monitorPriority: 5,retry:{count: 3,interval: 10,},tickEvery: 60,httpVersion:"http2",},subtype:"http",tags:["testing:api"],type:"api",},};apiInstance.createSyntheticsAPITest(params).then((data: v1.SyntheticsAPITest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Configuration object for a Synthetic browser test.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
setCookie
string
Cookies to be used for the request, using the Set-Cookie syntax.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
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.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,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
Object containing details about a Synthetic browser test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic browser test.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
setCookie
string
Cookies to be used for the request, using the Set-Cookie syntax.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
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.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,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
{"config":{"assertions":[{"operator":"contains","property":"string","target":123456,"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","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,"checkCertificateRevocation":false,"ci":{"executionRule":"blocking"},"device_ids":["chrome.laptop_large"],"disableCors":false,"disableCsp":false,"enableProfiling":false,"enableSecurityTesting":false,"follow_redirects":false,"httpVersion":"string","ignoreServerCertificateError":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"}
// Create a browser test returns "OK - Returns saved rumSettings." response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsBrowserTest{Config:datadogV1.SyntheticsBrowserTestConfig{Assertions:[]datadogV1.SyntheticsAssertion{},ConfigVariables:[]datadogV1.SyntheticsConfigVariable{{Example:datadog.PtrString("content-type"),Name:"PROPERTY",Pattern:datadog.PtrString("content-type"),Type:datadogV1.SYNTHETICSCONFIGVARIABLETYPE_TEXT,},},Request:datadogV1.SyntheticsTestRequest{Method:datadog.PtrString("GET"),Url:datadog.PtrString("https://datadoghq.com"),CertificateDomains:[]string{"https://datadoghq.com",},},SetCookie:datadog.PtrString("name:test"),},Locations:[]string{"aws:us-east-2",},Message:"Test message",Name:"Example-Synthetic",Options:datadogV1.SyntheticsTestOptions{AcceptSelfSigned:datadog.PtrBool(false),AllowInsecure:datadog.PtrBool(true),DeviceIds:[]string{"tablet",},DisableCors:datadog.PtrBool(true),FollowRedirects:datadog.PtrBool(true),MinFailureDuration:datadog.PtrInt64(10),MinLocationFailed:datadog.PtrInt64(1),NoScreenshot:datadog.PtrBool(true),Retry:&datadogV1.SyntheticsTestOptionsRetry{Count:datadog.PtrInt64(2),Interval:datadog.PtrFloat64(10),},RumSettings:&datadogV1.SyntheticsBrowserTestRumSettings{IsEnabled:true,ApplicationId:datadog.PtrString("mockApplicationId"),ClientTokenId:datadog.PtrInt64(12345),},TickEvery:datadog.PtrInt64(300),Ci:&datadogV1.SyntheticsTestCiOptions{ExecutionRule:datadogV1.SYNTHETICSTESTEXECUTIONRULE_SKIPPED,},IgnoreServerCertificateError:datadog.PtrBool(true),DisableCsp:datadog.PtrBool(true),InitialNavigationTimeout:datadog.PtrInt64(200),},Tags:[]string{"testing:browser",},Type:datadogV1.SYNTHETICSBROWSERTESTTYPE_BROWSER,Steps:[]datadogV1.SyntheticsStep{{AllowFailure:datadog.PtrBool(false),IsCritical:datadog.PtrBool(true),Name:datadog.PtrString("Refresh page"),Params:new(interface{}),Type:datadogV1.SYNTHETICSSTEPTYPE_REFRESH.Ptr(),},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateSyntheticsBrowserTest(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateSyntheticsBrowserTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateSyntheticsBrowserTest`:\n%s\n",responseContent)}
// Create a browser test returns "OK - Returns the created test details." response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsBrowserTest{Config:datadogV1.SyntheticsBrowserTestConfig{Assertions:[]datadogV1.SyntheticsAssertion{},Variables:[]datadogV1.SyntheticsBrowserVariable{{Type:datadogV1.SYNTHETICSBROWSERVARIABLETYPE_TEXT,Name:"TEST_VARIABLE",Pattern:datadog.PtrString("secret"),Secure:datadog.PtrBool(true),Example:datadog.PtrString("secret"),},},ConfigVariables:[]datadogV1.SyntheticsConfigVariable{{Example:datadog.PtrString("content-type"),Name:"PROPERTY",Pattern:datadog.PtrString("content-type"),Type:datadogV1.SYNTHETICSCONFIGVARIABLETYPE_TEXT,Secure:datadog.PtrBool(true),},},Request:datadogV1.SyntheticsTestRequest{Method:datadog.PtrString("GET"),Url:datadog.PtrString("https://datadoghq.com"),},SetCookie:datadog.PtrString("name:test"),},Locations:[]string{"aws:us-east-2",},Message:"Test message",Name:"Example-Synthetic",Options:datadogV1.SyntheticsTestOptions{AcceptSelfSigned:datadog.PtrBool(false),AllowInsecure:datadog.PtrBool(true),DeviceIds:[]string{"chrome.laptop_large",},DisableCors:datadog.PtrBool(true),FollowRedirects:datadog.PtrBool(true),MinFailureDuration:datadog.PtrInt64(10),MinLocationFailed:datadog.PtrInt64(1),NoScreenshot:datadog.PtrBool(true),Retry:&datadogV1.SyntheticsTestOptionsRetry{Count:datadog.PtrInt64(2),Interval:datadog.PtrFloat64(10),},TickEvery:datadog.PtrInt64(300),EnableProfiling:datadog.PtrBool(true),EnableSecurityTesting:datadog.PtrBool(true),},Tags:[]string{"testing:browser",},Type:datadogV1.SYNTHETICSBROWSERTESTTYPE_BROWSER,Steps:[]datadogV1.SyntheticsStep{{AllowFailure:datadog.PtrBool(false),AlwaysExecute:datadog.PtrBool(true),ExitIfSucceed:datadog.PtrBool(true),IsCritical:datadog.PtrBool(true),Name:datadog.PtrString("Refresh page"),Params:new(interface{}),Type:datadogV1.SYNTHETICSSTEPTYPE_REFRESH.Ptr(),},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateSyntheticsBrowserTest(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateSyntheticsBrowserTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateSyntheticsBrowserTest`:\n%s\n",responseContent)}
// Create a browser test with advanced scheduling options returns "OK - Returns the created test details." response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsBrowserTest{Config:datadogV1.SyntheticsBrowserTestConfig{Assertions:[]datadogV1.SyntheticsAssertion{},ConfigVariables:[]datadogV1.SyntheticsConfigVariable{{Example:datadog.PtrString("content-type"),Name:"PROPERTY",Pattern:datadog.PtrString("content-type"),Type:datadogV1.SYNTHETICSCONFIGVARIABLETYPE_TEXT,},},Request:datadogV1.SyntheticsTestRequest{Method:datadog.PtrString("GET"),Url:datadog.PtrString("https://datadoghq.com"),},SetCookie:datadog.PtrString("name:test"),},Locations:[]string{"aws:us-east-2",},Message:"Test message",Name:"Example-Synthetic",Options:datadogV1.SyntheticsTestOptions{AcceptSelfSigned:datadog.PtrBool(false),AllowInsecure:datadog.PtrBool(true),DeviceIds:[]string{"tablet",},DisableCors:datadog.PtrBool(true),FollowRedirects:datadog.PtrBool(true),MinFailureDuration:datadog.PtrInt64(10),MinLocationFailed:datadog.PtrInt64(1),NoScreenshot:datadog.PtrBool(true),Retry:&datadogV1.SyntheticsTestOptionsRetry{Count:datadog.PtrInt64(2),Interval:datadog.PtrFloat64(10),},TickEvery:datadog.PtrInt64(300),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",},},Tags:[]string{"testing:browser",},Type:datadogV1.SYNTHETICSBROWSERTESTTYPE_BROWSER,Steps:[]datadogV1.SyntheticsStep{{AllowFailure:datadog.PtrBool(false),IsCritical:datadog.PtrBool(true),Name:datadog.PtrString("Refresh page"),Params:new(interface{}),Type:datadogV1.SYNTHETICSSTEPTYPE_REFRESH.Ptr(),},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateSyntheticsBrowserTest(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateSyntheticsBrowserTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateSyntheticsBrowserTest`:\n%s\n",responseContent)}
// Create a browser test returns "OK - Returns saved rumSettings." responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsBrowserTest;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestConfig;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestRumSettings;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestType;importcom.datadog.api.client.v1.model.SyntheticsConfigVariable;importcom.datadog.api.client.v1.model.SyntheticsConfigVariableType;importcom.datadog.api.client.v1.model.SyntheticsStep;importcom.datadog.api.client.v1.model.SyntheticsStepType;importcom.datadog.api.client.v1.model.SyntheticsTestCiOptions;importcom.datadog.api.client.v1.model.SyntheticsTestExecutionRule;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsRetry;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsBrowserTestbody=newSyntheticsBrowserTest().config(newSyntheticsBrowserTestConfig().configVariables(Collections.singletonList(newSyntheticsConfigVariable().example("content-type").name("PROPERTY").pattern("content-type").type(SyntheticsConfigVariableType.TEXT))).request(newSyntheticsTestRequest().method("GET").url("https://datadoghq.com").certificateDomains(Collections.singletonList("https://datadoghq.com"))).setCookie("name:test")).locations(Collections.singletonList("aws:us-east-2")).message("Test message").name("Example-Synthetic").options(newSyntheticsTestOptions().acceptSelfSigned(false).allowInsecure(true).deviceIds(Collections.singletonList("tablet")).disableCors(true).followRedirects(true).minFailureDuration(10L).minLocationFailed(1L).noScreenshot(true).retry(newSyntheticsTestOptionsRetry().count(2L).interval(10.0)).rumSettings(newSyntheticsBrowserTestRumSettings().isEnabled(true).applicationId("mockApplicationId").clientTokenId(12345L)).tickEvery(300L).ci(newSyntheticsTestCiOptions().executionRule(SyntheticsTestExecutionRule.SKIPPED)).ignoreServerCertificateError(true).disableCsp(true).initialNavigationTimeout(200L)).tags(Collections.singletonList("testing:browser")).type(SyntheticsBrowserTestType.BROWSER).steps(Collections.singletonList(newSyntheticsStep().allowFailure(false).isCritical(true).name("Refresh page").params(newObject()).type(SyntheticsStepType.REFRESH)));try{SyntheticsBrowserTestresult=apiInstance.createSyntheticsBrowserTest(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createSyntheticsBrowserTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Create a browser test returns "OK - Returns the created test details." responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsBrowserTest;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestConfig;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestType;importcom.datadog.api.client.v1.model.SyntheticsBrowserVariable;importcom.datadog.api.client.v1.model.SyntheticsBrowserVariableType;importcom.datadog.api.client.v1.model.SyntheticsConfigVariable;importcom.datadog.api.client.v1.model.SyntheticsConfigVariableType;importcom.datadog.api.client.v1.model.SyntheticsStep;importcom.datadog.api.client.v1.model.SyntheticsStepType;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsRetry;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsBrowserTestbody=newSyntheticsBrowserTest().config(newSyntheticsBrowserTestConfig().variables(Collections.singletonList(newSyntheticsBrowserVariable().type(SyntheticsBrowserVariableType.TEXT).name("TEST_VARIABLE").pattern("secret").secure(true).example("secret"))).configVariables(Collections.singletonList(newSyntheticsConfigVariable().example("content-type").name("PROPERTY").pattern("content-type").type(SyntheticsConfigVariableType.TEXT).secure(true))).request(newSyntheticsTestRequest().method("GET").url("https://datadoghq.com")).setCookie("name:test")).locations(Collections.singletonList("aws:us-east-2")).message("Test message").name("Example-Synthetic").options(newSyntheticsTestOptions().acceptSelfSigned(false).allowInsecure(true).deviceIds(Collections.singletonList("chrome.laptop_large")).disableCors(true).followRedirects(true).minFailureDuration(10L).minLocationFailed(1L).noScreenshot(true).retry(newSyntheticsTestOptionsRetry().count(2L).interval(10.0)).tickEvery(300L).enableProfiling(true).enableSecurityTesting(true)).tags(Collections.singletonList("testing:browser")).type(SyntheticsBrowserTestType.BROWSER).steps(Collections.singletonList(newSyntheticsStep().allowFailure(false).alwaysExecute(true).exitIfSucceed(true).isCritical(true).name("Refresh page").params(newObject()).type(SyntheticsStepType.REFRESH)));try{SyntheticsBrowserTestresult=apiInstance.createSyntheticsBrowserTest(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createSyntheticsBrowserTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Create a browser test with advanced scheduling options returns "OK - Returns the created test// details." responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsBrowserTest;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestConfig;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestType;importcom.datadog.api.client.v1.model.SyntheticsConfigVariable;importcom.datadog.api.client.v1.model.SyntheticsConfigVariableType;importcom.datadog.api.client.v1.model.SyntheticsStep;importcom.datadog.api.client.v1.model.SyntheticsStepType;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsRetry;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsScheduling;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsSchedulingTimeframe;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importjava.util.Arrays;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsBrowserTestbody=newSyntheticsBrowserTest().config(newSyntheticsBrowserTestConfig().configVariables(Collections.singletonList(newSyntheticsConfigVariable().example("content-type").name("PROPERTY").pattern("content-type").type(SyntheticsConfigVariableType.TEXT))).request(newSyntheticsTestRequest().method("GET").url("https://datadoghq.com")).setCookie("name:test")).locations(Collections.singletonList("aws:us-east-2")).message("Test message").name("Example-Synthetic").options(newSyntheticsTestOptions().acceptSelfSigned(false).allowInsecure(true).deviceIds(Collections.singletonList("tablet")).disableCors(true).followRedirects(true).minFailureDuration(10L).minLocationFailed(1L).noScreenshot(true).retry(newSyntheticsTestOptionsRetry().count(2L).interval(10.0)).tickEvery(300L).scheduling(newSyntheticsTestOptionsScheduling().timeframes(Arrays.asList(newSyntheticsTestOptionsSchedulingTimeframe().day(1).from("07:00").to("16:00"),newSyntheticsTestOptionsSchedulingTimeframe().day(3).from("07:00").to("16:00"))).timezone("America/New_York"))).tags(Collections.singletonList("testing:browser")).type(SyntheticsBrowserTestType.BROWSER).steps(Collections.singletonList(newSyntheticsStep().allowFailure(false).isCritical(true).name("Refresh page").params(newObject()).type(SyntheticsStepType.REFRESH)));try{SyntheticsBrowserTestresult=apiInstance.createSyntheticsBrowserTest(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createSyntheticsBrowserTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Create a browser test returns "OK - Returns saved rumSettings." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_browser_testimportSyntheticsBrowserTestfromdatadog_api_client.v1.model.synthetics_browser_test_configimportSyntheticsBrowserTestConfigfromdatadog_api_client.v1.model.synthetics_browser_test_rum_settingsimportSyntheticsBrowserTestRumSettingsfromdatadog_api_client.v1.model.synthetics_browser_test_typeimportSyntheticsBrowserTestTypefromdatadog_api_client.v1.model.synthetics_config_variableimportSyntheticsConfigVariablefromdatadog_api_client.v1.model.synthetics_config_variable_typeimportSyntheticsConfigVariableTypefromdatadog_api_client.v1.model.synthetics_stepimportSyntheticsStepfromdatadog_api_client.v1.model.synthetics_step_typeimportSyntheticsStepTypefromdatadog_api_client.v1.model.synthetics_test_ci_optionsimportSyntheticsTestCiOptionsfromdatadog_api_client.v1.model.synthetics_test_execution_ruleimportSyntheticsTestExecutionRulefromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_options_retryimportSyntheticsTestOptionsRetryfromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestbody=SyntheticsBrowserTest(config=SyntheticsBrowserTestConfig(assertions=[],config_variables=[SyntheticsConfigVariable(example="content-type",name="PROPERTY",pattern="content-type",type=SyntheticsConfigVariableType.TEXT,),],request=SyntheticsTestRequest(method="GET",url="https://datadoghq.com",certificate_domains=["https://datadoghq.com",],),set_cookie="name:test",),locations=["aws:us-east-2",],message="Test message",name="Example-Synthetic",options=SyntheticsTestOptions(accept_self_signed=False,allow_insecure=True,device_ids=["tablet",],disable_cors=True,follow_redirects=True,min_failure_duration=10,min_location_failed=1,no_screenshot=True,retry=SyntheticsTestOptionsRetry(count=2,interval=10.0,),rum_settings=SyntheticsBrowserTestRumSettings(is_enabled=True,application_id="mockApplicationId",client_token_id=12345,),tick_every=300,ci=SyntheticsTestCiOptions(execution_rule=SyntheticsTestExecutionRule.SKIPPED,),ignore_server_certificate_error=True,disable_csp=True,initial_navigation_timeout=200,),tags=["testing:browser",],type=SyntheticsBrowserTestType.BROWSER,steps=[SyntheticsStep(allow_failure=False,is_critical=True,name="Refresh page",params=dict(),type=SyntheticsStepType.REFRESH,),],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_synthetics_browser_test(body=body)print(response)
"""
Create a browser test returns "OK - Returns the created test details." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_browser_testimportSyntheticsBrowserTestfromdatadog_api_client.v1.model.synthetics_browser_test_configimportSyntheticsBrowserTestConfigfromdatadog_api_client.v1.model.synthetics_browser_test_typeimportSyntheticsBrowserTestTypefromdatadog_api_client.v1.model.synthetics_browser_variableimportSyntheticsBrowserVariablefromdatadog_api_client.v1.model.synthetics_browser_variable_typeimportSyntheticsBrowserVariableTypefromdatadog_api_client.v1.model.synthetics_config_variableimportSyntheticsConfigVariablefromdatadog_api_client.v1.model.synthetics_config_variable_typeimportSyntheticsConfigVariableTypefromdatadog_api_client.v1.model.synthetics_stepimportSyntheticsStepfromdatadog_api_client.v1.model.synthetics_step_typeimportSyntheticsStepTypefromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_options_retryimportSyntheticsTestOptionsRetryfromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestbody=SyntheticsBrowserTest(config=SyntheticsBrowserTestConfig(assertions=[],variables=[SyntheticsBrowserVariable(type=SyntheticsBrowserVariableType.TEXT,name="TEST_VARIABLE",pattern="secret",secure=True,example="secret",),],config_variables=[SyntheticsConfigVariable(example="content-type",name="PROPERTY",pattern="content-type",type=SyntheticsConfigVariableType.TEXT,secure=True,),],request=SyntheticsTestRequest(method="GET",url="https://datadoghq.com",),set_cookie="name:test",),locations=["aws:us-east-2",],message="Test message",name="Example-Synthetic",options=SyntheticsTestOptions(accept_self_signed=False,allow_insecure=True,device_ids=["chrome.laptop_large",],disable_cors=True,follow_redirects=True,min_failure_duration=10,min_location_failed=1,no_screenshot=True,retry=SyntheticsTestOptionsRetry(count=2,interval=10.0,),tick_every=300,enable_profiling=True,enable_security_testing=True,),tags=["testing:browser",],type=SyntheticsBrowserTestType.BROWSER,steps=[SyntheticsStep(allow_failure=False,always_execute=True,exit_if_succeed=True,is_critical=True,name="Refresh page",params=dict(),type=SyntheticsStepType.REFRESH,),],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_synthetics_browser_test(body=body)print(response)
"""
Create a browser test with advanced scheduling options returns "OK - Returns the created test details." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_browser_testimportSyntheticsBrowserTestfromdatadog_api_client.v1.model.synthetics_browser_test_configimportSyntheticsBrowserTestConfigfromdatadog_api_client.v1.model.synthetics_browser_test_typeimportSyntheticsBrowserTestTypefromdatadog_api_client.v1.model.synthetics_config_variableimportSyntheticsConfigVariablefromdatadog_api_client.v1.model.synthetics_config_variable_typeimportSyntheticsConfigVariableTypefromdatadog_api_client.v1.model.synthetics_stepimportSyntheticsStepfromdatadog_api_client.v1.model.synthetics_step_typeimportSyntheticsStepTypefromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_options_retryimportSyntheticsTestOptionsRetryfromdatadog_api_client.v1.model.synthetics_test_options_schedulingimportSyntheticsTestOptionsSchedulingfromdatadog_api_client.v1.model.synthetics_test_options_scheduling_timeframeimport(SyntheticsTestOptionsSchedulingTimeframe,)fromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestbody=SyntheticsBrowserTest(config=SyntheticsBrowserTestConfig(assertions=[],config_variables=[SyntheticsConfigVariable(example="content-type",name="PROPERTY",pattern="content-type",type=SyntheticsConfigVariableType.TEXT,),],request=SyntheticsTestRequest(method="GET",url="https://datadoghq.com",),set_cookie="name:test",),locations=["aws:us-east-2",],message="Test message",name="Example-Synthetic",options=SyntheticsTestOptions(accept_self_signed=False,allow_insecure=True,device_ids=["tablet",],disable_cors=True,follow_redirects=True,min_failure_duration=10,min_location_failed=1,no_screenshot=True,retry=SyntheticsTestOptionsRetry(count=2,interval=10.0,),tick_every=300,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",),),tags=["testing:browser",],type=SyntheticsBrowserTestType.BROWSER,steps=[SyntheticsStep(allow_failure=False,is_critical=True,name="Refresh page",params=dict(),type=SyntheticsStepType.REFRESH,),],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_synthetics_browser_test(body=body)print(response)
# Create a browser test returns "OK - Returns saved rumSettings." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsBrowserTest.new({config:DatadogAPIClient::V1::SyntheticsBrowserTestConfig.new({assertions:[],config_variables:[DatadogAPIClient::V1::SyntheticsConfigVariable.new({example:"content-type",name:"PROPERTY",pattern:"content-type",type:DatadogAPIClient::V1::SyntheticsConfigVariableType::TEXT,}),],request:DatadogAPIClient::V1::SyntheticsTestRequest.new({method:"GET",url:"https://datadoghq.com",certificate_domains:["https://datadoghq.com",],}),set_cookie:"name:test",}),locations:["aws:us-east-2",],message:"Test message",name:"Example-Synthetic",options:DatadogAPIClient::V1::SyntheticsTestOptions.new({accept_self_signed:false,allow_insecure:true,device_ids:["tablet",],disable_cors:true,follow_redirects:true,min_failure_duration:10,min_location_failed:1,no_screenshot:true,_retry:DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({count:2,interval:10,}),rum_settings:DatadogAPIClient::V1::SyntheticsBrowserTestRumSettings.new({is_enabled:true,application_id:"mockApplicationId",client_token_id:12345,}),tick_every:300,ci:DatadogAPIClient::V1::SyntheticsTestCiOptions.new({execution_rule:DatadogAPIClient::V1::SyntheticsTestExecutionRule::SKIPPED,}),ignore_server_certificate_error:true,disable_csp:true,initial_navigation_timeout:200,}),tags:["testing:browser",],type:DatadogAPIClient::V1::SyntheticsBrowserTestType::BROWSER,steps:[DatadogAPIClient::V1::SyntheticsStep.new({allow_failure:false,is_critical:true,name:"Refresh page",params:{},type:DatadogAPIClient::V1::SyntheticsStepType::REFRESH,}),],})papi_instance.create_synthetics_browser_test(body)
# Create a browser test returns "OK - Returns the created test details." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsBrowserTest.new({config:DatadogAPIClient::V1::SyntheticsBrowserTestConfig.new({assertions:[],variables:[DatadogAPIClient::V1::SyntheticsBrowserVariable.new({type:DatadogAPIClient::V1::SyntheticsBrowserVariableType::TEXT,name:"TEST_VARIABLE",pattern:"secret",secure:true,example:"secret",}),],config_variables:[DatadogAPIClient::V1::SyntheticsConfigVariable.new({example:"content-type",name:"PROPERTY",pattern:"content-type",type:DatadogAPIClient::V1::SyntheticsConfigVariableType::TEXT,secure:true,}),],request:DatadogAPIClient::V1::SyntheticsTestRequest.new({method:"GET",url:"https://datadoghq.com",}),set_cookie:"name:test",}),locations:["aws:us-east-2",],message:"Test message",name:"Example-Synthetic",options:DatadogAPIClient::V1::SyntheticsTestOptions.new({accept_self_signed:false,allow_insecure:true,device_ids:["chrome.laptop_large",],disable_cors:true,follow_redirects:true,min_failure_duration:10,min_location_failed:1,no_screenshot:true,_retry:DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({count:2,interval:10,}),tick_every:300,enable_profiling:true,enable_security_testing:true,}),tags:["testing:browser",],type:DatadogAPIClient::V1::SyntheticsBrowserTestType::BROWSER,steps:[DatadogAPIClient::V1::SyntheticsStep.new({allow_failure:false,always_execute:true,exit_if_succeed:true,is_critical:true,name:"Refresh page",params:{},type:DatadogAPIClient::V1::SyntheticsStepType::REFRESH,}),],})papi_instance.create_synthetics_browser_test(body)
# Create a browser test with advanced scheduling options returns "OK - Returns the created test details." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsBrowserTest.new({config:DatadogAPIClient::V1::SyntheticsBrowserTestConfig.new({assertions:[],config_variables:[DatadogAPIClient::V1::SyntheticsConfigVariable.new({example:"content-type",name:"PROPERTY",pattern:"content-type",type:DatadogAPIClient::V1::SyntheticsConfigVariableType::TEXT,}),],request:DatadogAPIClient::V1::SyntheticsTestRequest.new({method:"GET",url:"https://datadoghq.com",}),set_cookie:"name:test",}),locations:["aws:us-east-2",],message:"Test message",name:"Example-Synthetic",options:DatadogAPIClient::V1::SyntheticsTestOptions.new({accept_self_signed:false,allow_insecure:true,device_ids:["tablet",],disable_cors:true,follow_redirects:true,min_failure_duration:10,min_location_failed:1,no_screenshot:true,_retry:DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({count:2,interval:10,}),tick_every:300,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",}),}),tags:["testing:browser",],type:DatadogAPIClient::V1::SyntheticsBrowserTestType::BROWSER,steps:[DatadogAPIClient::V1::SyntheticsStep.new({allow_failure:false,is_critical:true,name:"Refresh page",params:{},type:DatadogAPIClient::V1::SyntheticsStepType::REFRESH,}),],})papi_instance.create_synthetics_browser_test(body)
// Create a browser test returns "OK - Returns saved rumSettings." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTest;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestConfig;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestRumSettings;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestType;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariable;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariableType;usedatadog_api_client::datadogV1::model::SyntheticsStep;usedatadog_api_client::datadogV1::model::SyntheticsStepType;usedatadog_api_client::datadogV1::model::SyntheticsTestCiOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestExecutionRule;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;usestd::collections::BTreeMap;#[tokio::main]asyncfnmain(){letbody=SyntheticsBrowserTest::new(SyntheticsBrowserTestConfig::new(vec![],SyntheticsTestRequest::new().certificate_domains(vec!["https://datadoghq.com".to_string()]).method("GET".to_string()).url("https://datadoghq.com".to_string()),).config_variables(vec![SyntheticsConfigVariable::new("PROPERTY".to_string(),SyntheticsConfigVariableType::TEXT,).example("content-type".to_string()).pattern("content-type".to_string())]).set_cookie("name:test".to_string()),vec!["aws:us-east-2".to_string()],"Test message".to_string(),"Example-Synthetic".to_string(),SyntheticsTestOptions::new().accept_self_signed(false).allow_insecure(true).ci(SyntheticsTestCiOptions::new(SyntheticsTestExecutionRule::SKIPPED,)).device_ids(vec!["tablet".to_string()]).disable_cors(true).disable_csp(true).follow_redirects(true).ignore_server_certificate_error(true).initial_navigation_timeout(200).min_failure_duration(10).min_location_failed(1).no_screenshot(true).retry(SyntheticsTestOptionsRetry::new().count(2).interval(10.0asf64),).rum_settings(SyntheticsBrowserTestRumSettings::new(true).application_id("mockApplicationId".to_string()).client_token_id(12345),).tick_every(300),SyntheticsBrowserTestType::BROWSER,).steps(vec![SyntheticsStep::new().allow_failure(false).is_critical(true).name("Refresh page".to_string()).params(BTreeMap::new()).type_(SyntheticsStepType::REFRESH)]).tags(vec!["testing:browser".to_string()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_synthetics_browser_test(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
// Create a browser test returns "OK - Returns the created test details." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTest;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestConfig;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestType;usedatadog_api_client::datadogV1::model::SyntheticsBrowserVariable;usedatadog_api_client::datadogV1::model::SyntheticsBrowserVariableType;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariable;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariableType;usedatadog_api_client::datadogV1::model::SyntheticsStep;usedatadog_api_client::datadogV1::model::SyntheticsStepType;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;usestd::collections::BTreeMap;#[tokio::main]asyncfnmain(){letbody=SyntheticsBrowserTest::new(SyntheticsBrowserTestConfig::new(vec![],SyntheticsTestRequest::new().method("GET".to_string()).url("https://datadoghq.com".to_string()),).config_variables(vec![SyntheticsConfigVariable::new("PROPERTY".to_string(),SyntheticsConfigVariableType::TEXT,).example("content-type".to_string()).pattern("content-type".to_string()).secure(true)]).set_cookie("name:test".to_string()).variables(vec![SyntheticsBrowserVariable::new("TEST_VARIABLE".to_string(),SyntheticsBrowserVariableType::TEXT,).example("secret".to_string()).pattern("secret".to_string()).secure(true)]),vec!["aws:us-east-2".to_string()],"Test message".to_string(),"Example-Synthetic".to_string(),SyntheticsTestOptions::new().accept_self_signed(false).allow_insecure(true).device_ids(vec!["chrome.laptop_large".to_string()]).disable_cors(true).enable_profiling(true).enable_security_testing(true).follow_redirects(true).min_failure_duration(10).min_location_failed(1).no_screenshot(true).retry(SyntheticsTestOptionsRetry::new().count(2).interval(10.0asf64),).tick_every(300),SyntheticsBrowserTestType::BROWSER,).steps(vec![SyntheticsStep::new().allow_failure(false).always_execute(true).exit_if_succeed(true).is_critical(true).name("Refresh page".to_string()).params(BTreeMap::new()).type_(SyntheticsStepType::REFRESH)]).tags(vec!["testing:browser".to_string()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_synthetics_browser_test(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
// Create a browser test with advanced scheduling options returns "OK - Returns
// the created test details." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTest;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestConfig;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestType;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariable;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariableType;usedatadog_api_client::datadogV1::model::SyntheticsStep;usedatadog_api_client::datadogV1::model::SyntheticsStepType;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsScheduling;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsSchedulingTimeframe;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;usestd::collections::BTreeMap;#[tokio::main]asyncfnmain(){letbody=SyntheticsBrowserTest::new(SyntheticsBrowserTestConfig::new(vec![],SyntheticsTestRequest::new().method("GET".to_string()).url("https://datadoghq.com".to_string()),).config_variables(vec![SyntheticsConfigVariable::new("PROPERTY".to_string(),SyntheticsConfigVariableType::TEXT,).example("content-type".to_string()).pattern("content-type".to_string())]).set_cookie("name:test".to_string()),vec!["aws:us-east-2".to_string()],"Test message".to_string(),"Example-Synthetic".to_string(),SyntheticsTestOptions::new().accept_self_signed(false).allow_insecure(true).device_ids(vec!["tablet".to_string()]).disable_cors(true).follow_redirects(true).min_failure_duration(10).min_location_failed(1).no_screenshot(true).retry(SyntheticsTestOptionsRetry::new().count(2).interval(10.0asf64),).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(),)).tick_every(300),SyntheticsBrowserTestType::BROWSER,).steps(vec![SyntheticsStep::new().allow_failure(false).is_critical(true).name("Refresh page".to_string()).params(BTreeMap::new()).type_(SyntheticsStepType::REFRESH)]).tags(vec!["testing:browser".to_string()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_synthetics_browser_test(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
device_ids
[string]
Array with the different device IDs used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
allowApplicationCrash
boolean
A boolean to set if an application crash would mark the test as failed.
bindings
[object]
Array of bindings used for the mobile test.
principals
[string]
List of principals for a mobile test binding.
relation
enum
The type of relation for the binding.
Allowed enum values: editor,viewer
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
defaultStepTimeout
int32
The default timeout for steps in the test (in seconds).
device_ids [required]
[string]
For mobile test, array with the different device IDs used to run the test.
disableAutoAcceptAlert
boolean
A boolean to disable auto accepting alerts.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
mobileApplication [required]
object
Mobile application for mobile synthetics test.
applicationId [required]
string
Application ID of the mobile application.
referenceId [required]
string
Reference ID of the mobile application.
referenceType [required]
enum
Reference type for the mobile application for a mobile synthetics test.
Allowed enum values: latest,version
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every [required]
int64
The frequency at which to run the Synthetic test (in seconds).
verbosity
int32
The level of verbosity for the mobile test. This field can not be set by a user.
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
hasNewStepElement
boolean
A boolean set to determine if the step has a new step element.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name [required]
string
The name of the step.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
params [required]
object
The parameters of a mobile step.
check
enum
Type of assertion to apply in an API test.
Allowed enum values: equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty
delay
int64
Number of milliseconds to wait between inputs in a typeText step type.
direction
enum
The direction of the scroll for a scrollToElement step type.
Allowed enum values: up,down,left,right
element
object
Information about the element used for a step.
context
string
Context of the element.
contextType
enum
Type of the context that the element is in.
Allowed enum values: native,web
elementDescription
string
Description of the element.
multiLocator
object
Multi-locator to find the element.
relativePosition
object
Position of the action relative to the element.
x
double
The relativePosition on the x axis for the element.
y
double
The relativePosition on the y axis for the element.
textContent
string
Text content of the element.
userLocator
object
User locator to find the element.
failTestOnCannotLocate
boolean
Whether if the test should fail if the element cannot be found.
values
[object]
Values of the user locator.
type
enum
Type of a user locator.
Allowed enum values: accessibility-id,id,ios-predicate-string,ios-class-chain,xpath
value
string
Value of a user locator.
viewName
string
Name of the view of the element.
enabled
boolean
Boolean to change the state of the wifi for a toggleWiFi step type.
maxScrolls
int64
Maximum number of scrolls to do for a scrollToElement step type.
positions
[object]
List of positions for the flick step type. The maximum is 10 flicks per step
x
double
The x position for the flick.
y
double
The y position for the flick.
subtestPublicId
string
Public ID of the test to be played as part of a playSubTest step type.
value
<oneOf>
Values used in the step for in multiple step types.
Option 1
string
Value used in the step for in multiple step types.
Option 2
int64
Value used in the step for in multiple step types.
variable
object
Variable object for extractVariable step type.
example [required]
string
An example for the variable.
name [required]
string
The variable name.
withEnter
boolean
Boolean to indicate if Enter should be pressed at the end of the typeText step type.
x
double
Amount to scroll by on the x axis for a scroll step type.
y
double
Amount to scroll by on the y axis for a scroll step type.
publicId
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type [required]
enum
Step type used in your mobile Synthetic test.
Allowed enum values: assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, mobile.
Allowed enum values: mobile
Object containing details about a Synthetic mobile test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic mobile test.
initialApplicationArguments
object
Initial application arguments for a mobile test.
<any-key>
string
A single application argument.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
device_ids
[string]
Array with the different device IDs used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
allowApplicationCrash
boolean
A boolean to set if an application crash would mark the test as failed.
bindings
[object]
Array of bindings used for the mobile test.
principals
[string]
List of principals for a mobile test binding.
relation
enum
The type of relation for the binding.
Allowed enum values: editor,viewer
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
defaultStepTimeout
int32
The default timeout for steps in the test (in seconds).
device_ids [required]
[string]
For mobile test, array with the different device IDs used to run the test.
disableAutoAcceptAlert
boolean
A boolean to disable auto accepting alerts.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
mobileApplication [required]
object
Mobile application for mobile synthetics test.
applicationId [required]
string
Application ID of the mobile application.
referenceId [required]
string
Reference ID of the mobile application.
referenceType [required]
enum
Reference type for the mobile application for a mobile synthetics test.
Allowed enum values: latest,version
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every [required]
int64
The frequency at which to run the Synthetic test (in seconds).
verbosity
int32
The level of verbosity for the mobile test. This field can not be set by a user.
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
hasNewStepElement
boolean
A boolean set to determine if the step has a new step element.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name [required]
string
The name of the step.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
params [required]
object
The parameters of a mobile step.
check
enum
Type of assertion to apply in an API test.
Allowed enum values: equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty
delay
int64
Number of milliseconds to wait between inputs in a typeText step type.
direction
enum
The direction of the scroll for a scrollToElement step type.
Allowed enum values: up,down,left,right
element
object
Information about the element used for a step.
context
string
Context of the element.
contextType
enum
Type of the context that the element is in.
Allowed enum values: native,web
elementDescription
string
Description of the element.
multiLocator
object
Multi-locator to find the element.
relativePosition
object
Position of the action relative to the element.
x
double
The relativePosition on the x axis for the element.
y
double
The relativePosition on the y axis for the element.
textContent
string
Text content of the element.
userLocator
object
User locator to find the element.
failTestOnCannotLocate
boolean
Whether if the test should fail if the element cannot be found.
values
[object]
Values of the user locator.
type
enum
Type of a user locator.
Allowed enum values: accessibility-id,id,ios-predicate-string,ios-class-chain,xpath
value
string
Value of a user locator.
viewName
string
Name of the view of the element.
enabled
boolean
Boolean to change the state of the wifi for a toggleWiFi step type.
maxScrolls
int64
Maximum number of scrolls to do for a scrollToElement step type.
positions
[object]
List of positions for the flick step type. The maximum is 10 flicks per step
x
double
The x position for the flick.
y
double
The y position for the flick.
subtestPublicId
string
Public ID of the test to be played as part of a playSubTest step type.
value
<oneOf>
Values used in the step for in multiple step types.
Option 1
string
Value used in the step for in multiple step types.
Option 2
int64
Value used in the step for in multiple step types.
variable
object
Variable object for extractVariable step type.
example [required]
string
An example for the variable.
name [required]
string
The variable name.
withEnter
boolean
Boolean to indicate if Enter should be pressed at the end of the typeText step type.
x
double
Amount to scroll by on the x axis for a scroll step type.
y
double
Amount to scroll by on the y axis for a scroll step type.
publicId
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type [required]
enum
Step type used in your mobile Synthetic test.
Allowed enum values: assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, mobile.
Allowed enum values: mobile
default: mobile
{"config":{"initialApplicationArguments":{"<any-key>":"string"},"variables":[{"example":"string","id":"string","name":"VARIABLE_NAME","pattern":"string","secure":false,"type":"text"}]},"device_ids":["chrome.laptop_large"],"message":"Notification message","monitor_id":12345678,"name":"Example test name","options":{"allowApplicationCrash":false,"bindings":[{"principals":[],"relation":"string"}],"ci":{"executionRule":"blocking"},"defaultStepTimeout":"integer","device_ids":["synthetics:mobile:device:apple_ipad_10th_gen_2022_ios_16"],"disableAutoAcceptAlert":false,"min_failure_duration":"integer","mobileApplication":{"applicationId":"00000000-0000-0000-0000-aaaaaaaaaaaa","referenceId":"00000000-0000-0000-0000-aaaaaaaaaaab","referenceType":"latest"},"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"},"scheduling":{"timeframes":[{"day":1,"from":"07:00","to":"16:00"}],"timezone":"America/New_York"},"tick_every":300,"verbosity":"integer"},"public_id":"123-abc-456","status":"live","steps":[{"allowFailure":false,"hasNewStepElement":false,"isCritical":false,"name":"","noScreenshot":false,"params":{"check":"string","delay":"integer","direction":"string","element":{"context":"string","contextType":"string","elementDescription":"string","multiLocator":{},"relativePosition":{"x":"number","y":"number"},"textContent":"string","userLocator":{"failTestOnCannotLocate":false,"values":[{"type":"string","value":"string"}]},"viewName":"string"},"enabled":false,"maxScrolls":"integer","positions":[{"x":"number","y":"number"}],"subtestPublicId":"string","value":{"description":"undefined","type":"undefined"},"variable":{"example":"","name":"VAR_NAME"},"withEnter":false,"x":"number","y":"number"},"publicId":"pub-lic-id0","timeout":"integer","type":"assertElementContent"}],"tags":["env:production"],"type":"mobile"}
// Create a mobile test returns "OK - Returns the created test details." response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsMobileTest{Name:"Example-Synthetic",Status:datadogV1.SYNTHETICSTESTPAUSESTATUS_PAUSED.Ptr(),Type:datadogV1.SYNTHETICSMOBILETESTTYPE_MOBILE,Config:datadogV1.SyntheticsMobileTestConfig{Variables:[]datadogV1.SyntheticsConfigVariable{},},Message:datadog.PtrString(""),Options:datadogV1.SyntheticsMobileTestOptions{DeviceIds:[]string{"synthetics:mobile:device:iphone_15_ios_17",},MobileApplication:datadogV1.SyntheticsMobileTestsMobileApplication{ApplicationId:"ab0e0aed-536d-411a-9a99-5428c27d8f8e",ReferenceId:"6115922a-5f5d-455e-bc7e-7955a57f3815",ReferenceType:datadogV1.SYNTHETICSMOBILETESTSMOBILEAPPLICATIONREFERENCETYPE_VERSION,},TickEvery:3600,},Steps:[]datadogV1.SyntheticsMobileStep{},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateSyntheticsMobileTest(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateSyntheticsMobileTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateSyntheticsMobileTest`:\n%s\n",responseContent)}
// Create a mobile test returns "OK - Returns the created test details." responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsMobileTest;importcom.datadog.api.client.v1.model.SyntheticsMobileTestConfig;importcom.datadog.api.client.v1.model.SyntheticsMobileTestOptions;importcom.datadog.api.client.v1.model.SyntheticsMobileTestType;importcom.datadog.api.client.v1.model.SyntheticsMobileTestsMobileApplication;importcom.datadog.api.client.v1.model.SyntheticsMobileTestsMobileApplicationReferenceType;importcom.datadog.api.client.v1.model.SyntheticsTestPauseStatus;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsMobileTestbody=newSyntheticsMobileTest().name("Example-Synthetic").status(SyntheticsTestPauseStatus.PAUSED).type(SyntheticsMobileTestType.MOBILE).config(newSyntheticsMobileTestConfig()).message("").options(newSyntheticsMobileTestOptions().deviceIds(Collections.singletonList("synthetics:mobile:device:iphone_15_ios_17")).mobileApplication(newSyntheticsMobileTestsMobileApplication().applicationId("ab0e0aed-536d-411a-9a99-5428c27d8f8e").referenceId("6115922a-5f5d-455e-bc7e-7955a57f3815").referenceType(SyntheticsMobileTestsMobileApplicationReferenceType.VERSION)).tickEvery(3600L));try{SyntheticsMobileTestresult=apiInstance.createSyntheticsMobileTest(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createSyntheticsMobileTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Create a mobile test returns "OK - Returns the created test details." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_mobile_testimportSyntheticsMobileTestfromdatadog_api_client.v1.model.synthetics_mobile_test_configimportSyntheticsMobileTestConfigfromdatadog_api_client.v1.model.synthetics_mobile_test_optionsimportSyntheticsMobileTestOptionsfromdatadog_api_client.v1.model.synthetics_mobile_test_typeimportSyntheticsMobileTestTypefromdatadog_api_client.v1.model.synthetics_mobile_tests_mobile_applicationimport(SyntheticsMobileTestsMobileApplication,)fromdatadog_api_client.v1.model.synthetics_mobile_tests_mobile_application_reference_typeimport(SyntheticsMobileTestsMobileApplicationReferenceType,)fromdatadog_api_client.v1.model.synthetics_test_pause_statusimportSyntheticsTestPauseStatusbody=SyntheticsMobileTest(name="Example-Synthetic",status=SyntheticsTestPauseStatus.PAUSED,type=SyntheticsMobileTestType.MOBILE,config=SyntheticsMobileTestConfig(variables=[],),message="",options=SyntheticsMobileTestOptions(device_ids=["synthetics:mobile:device:iphone_15_ios_17",],mobile_application=SyntheticsMobileTestsMobileApplication(application_id="ab0e0aed-536d-411a-9a99-5428c27d8f8e",reference_id="6115922a-5f5d-455e-bc7e-7955a57f3815",reference_type=SyntheticsMobileTestsMobileApplicationReferenceType.VERSION,),tick_every=3600,),steps=[],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_synthetics_mobile_test(body=body)print(response)
# Create a mobile test returns "OK - Returns the created test details." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsMobileTest.new({name:"Example-Synthetic",status:DatadogAPIClient::V1::SyntheticsTestPauseStatus::PAUSED,type:DatadogAPIClient::V1::SyntheticsMobileTestType::MOBILE,config:DatadogAPIClient::V1::SyntheticsMobileTestConfig.new({variables:[],}),message:"",options:DatadogAPIClient::V1::SyntheticsMobileTestOptions.new({device_ids:["synthetics:mobile:device:iphone_15_ios_17",],mobile_application:DatadogAPIClient::V1::SyntheticsMobileTestsMobileApplication.new({application_id:"ab0e0aed-536d-411a-9a99-5428c27d8f8e",reference_id:"6115922a-5f5d-455e-bc7e-7955a57f3815",reference_type:DatadogAPIClient::V1::SyntheticsMobileTestsMobileApplicationReferenceType::VERSION,}),tick_every:3600,}),steps:[],})papi_instance.create_synthetics_mobile_test(body)
// Create a mobile test returns "OK - Returns the created test details." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsMobileTest;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestConfig;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestType;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestsMobileApplication;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestsMobileApplicationReferenceType;usedatadog_api_client::datadogV1::model::SyntheticsTestPauseStatus;#[tokio::main]asyncfnmain(){letbody=SyntheticsMobileTest::new(SyntheticsMobileTestConfig::new().variables(vec![]),"Example-Synthetic".to_string(),SyntheticsMobileTestOptions::new(vec!["synthetics:mobile:device:iphone_15_ios_17".to_string()],SyntheticsMobileTestsMobileApplication::new("ab0e0aed-536d-411a-9a99-5428c27d8f8e".to_string(),"6115922a-5f5d-455e-bc7e-7955a57f3815".to_string(),SyntheticsMobileTestsMobileApplicationReferenceType::VERSION,),3600,),SyntheticsMobileTestType::MOBILE,).message("".to_string()).status(SyntheticsTestPauseStatus::PAUSED).steps(vec![]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_synthetics_mobile_test(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Create a mobile test returns "OK - Returns the created test details." response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiCreateSyntheticsMobileTestRequest={body:{name:"Example-Synthetic",status:"paused",type:"mobile",config:{variables:[],},message:"",options:{deviceIds:["synthetics:mobile:device:iphone_15_ios_17"],mobileApplication:{applicationId:"ab0e0aed-536d-411a-9a99-5428c27d8f8e",referenceId:"6115922a-5f5d-455e-bc7e-7955a57f3815",referenceType:"version",},tickEvery: 3600,},steps:[],},};apiInstance.createSyntheticsMobileTest(params).then((data: v1.SyntheticsMobileTest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
device_ids
[string]
Array with the different device IDs used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
allowApplicationCrash
boolean
A boolean to set if an application crash would mark the test as failed.
bindings
[object]
Array of bindings used for the mobile test.
principals
[string]
List of principals for a mobile test binding.
relation
enum
The type of relation for the binding.
Allowed enum values: editor,viewer
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
defaultStepTimeout
int32
The default timeout for steps in the test (in seconds).
device_ids [required]
[string]
For mobile test, array with the different device IDs used to run the test.
disableAutoAcceptAlert
boolean
A boolean to disable auto accepting alerts.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
mobileApplication [required]
object
Mobile application for mobile synthetics test.
applicationId [required]
string
Application ID of the mobile application.
referenceId [required]
string
Reference ID of the mobile application.
referenceType [required]
enum
Reference type for the mobile application for a mobile synthetics test.
Allowed enum values: latest,version
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every [required]
int64
The frequency at which to run the Synthetic test (in seconds).
verbosity
int32
The level of verbosity for the mobile test. This field can not be set by a user.
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
hasNewStepElement
boolean
A boolean set to determine if the step has a new step element.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name [required]
string
The name of the step.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
params [required]
object
The parameters of a mobile step.
check
enum
Type of assertion to apply in an API test.
Allowed enum values: equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty
delay
int64
Number of milliseconds to wait between inputs in a typeText step type.
direction
enum
The direction of the scroll for a scrollToElement step type.
Allowed enum values: up,down,left,right
element
object
Information about the element used for a step.
context
string
Context of the element.
contextType
enum
Type of the context that the element is in.
Allowed enum values: native,web
elementDescription
string
Description of the element.
multiLocator
object
Multi-locator to find the element.
relativePosition
object
Position of the action relative to the element.
x
double
The relativePosition on the x axis for the element.
y
double
The relativePosition on the y axis for the element.
textContent
string
Text content of the element.
userLocator
object
User locator to find the element.
failTestOnCannotLocate
boolean
Whether if the test should fail if the element cannot be found.
values
[object]
Values of the user locator.
type
enum
Type of a user locator.
Allowed enum values: accessibility-id,id,ios-predicate-string,ios-class-chain,xpath
value
string
Value of a user locator.
viewName
string
Name of the view of the element.
enabled
boolean
Boolean to change the state of the wifi for a toggleWiFi step type.
maxScrolls
int64
Maximum number of scrolls to do for a scrollToElement step type.
positions
[object]
List of positions for the flick step type. The maximum is 10 flicks per step
x
double
The x position for the flick.
y
double
The y position for the flick.
subtestPublicId
string
Public ID of the test to be played as part of a playSubTest step type.
value
<oneOf>
Values used in the step for in multiple step types.
Option 1
string
Value used in the step for in multiple step types.
Option 2
int64
Value used in the step for in multiple step types.
variable
object
Variable object for extractVariable step type.
example [required]
string
An example for the variable.
name [required]
string
The variable name.
withEnter
boolean
Boolean to indicate if Enter should be pressed at the end of the typeText step type.
x
double
Amount to scroll by on the x axis for a scroll step type.
y
double
Amount to scroll by on the y axis for a scroll step type.
publicId
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type [required]
enum
Step type used in your mobile Synthetic test.
Allowed enum values: assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, mobile.
Allowed enum values: mobile
Object containing details about a Synthetic mobile test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic mobile test.
initialApplicationArguments
object
Initial application arguments for a mobile test.
<any-key>
string
A single application argument.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
device_ids
[string]
Array with the different device IDs used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
allowApplicationCrash
boolean
A boolean to set if an application crash would mark the test as failed.
bindings
[object]
Array of bindings used for the mobile test.
principals
[string]
List of principals for a mobile test binding.
relation
enum
The type of relation for the binding.
Allowed enum values: editor,viewer
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
defaultStepTimeout
int32
The default timeout for steps in the test (in seconds).
device_ids [required]
[string]
For mobile test, array with the different device IDs used to run the test.
disableAutoAcceptAlert
boolean
A boolean to disable auto accepting alerts.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
mobileApplication [required]
object
Mobile application for mobile synthetics test.
applicationId [required]
string
Application ID of the mobile application.
referenceId [required]
string
Reference ID of the mobile application.
referenceType [required]
enum
Reference type for the mobile application for a mobile synthetics test.
Allowed enum values: latest,version
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every [required]
int64
The frequency at which to run the Synthetic test (in seconds).
verbosity
int32
The level of verbosity for the mobile test. This field can not be set by a user.
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
hasNewStepElement
boolean
A boolean set to determine if the step has a new step element.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name [required]
string
The name of the step.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
params [required]
object
The parameters of a mobile step.
check
enum
Type of assertion to apply in an API test.
Allowed enum values: equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty
delay
int64
Number of milliseconds to wait between inputs in a typeText step type.
direction
enum
The direction of the scroll for a scrollToElement step type.
Allowed enum values: up,down,left,right
element
object
Information about the element used for a step.
context
string
Context of the element.
contextType
enum
Type of the context that the element is in.
Allowed enum values: native,web
elementDescription
string
Description of the element.
multiLocator
object
Multi-locator to find the element.
relativePosition
object
Position of the action relative to the element.
x
double
The relativePosition on the x axis for the element.
y
double
The relativePosition on the y axis for the element.
textContent
string
Text content of the element.
userLocator
object
User locator to find the element.
failTestOnCannotLocate
boolean
Whether if the test should fail if the element cannot be found.
values
[object]
Values of the user locator.
type
enum
Type of a user locator.
Allowed enum values: accessibility-id,id,ios-predicate-string,ios-class-chain,xpath
value
string
Value of a user locator.
viewName
string
Name of the view of the element.
enabled
boolean
Boolean to change the state of the wifi for a toggleWiFi step type.
maxScrolls
int64
Maximum number of scrolls to do for a scrollToElement step type.
positions
[object]
List of positions for the flick step type. The maximum is 10 flicks per step
x
double
The x position for the flick.
y
double
The y position for the flick.
subtestPublicId
string
Public ID of the test to be played as part of a playSubTest step type.
value
<oneOf>
Values used in the step for in multiple step types.
Option 1
string
Value used in the step for in multiple step types.
Option 2
int64
Value used in the step for in multiple step types.
variable
object
Variable object for extractVariable step type.
example [required]
string
An example for the variable.
name [required]
string
The variable name.
withEnter
boolean
Boolean to indicate if Enter should be pressed at the end of the typeText step type.
x
double
Amount to scroll by on the x axis for a scroll step type.
y
double
Amount to scroll by on the y axis for a scroll step type.
publicId
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type [required]
enum
Step type used in your mobile Synthetic test.
Allowed enum values: assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, mobile.
Allowed enum values: mobile
default: mobile
{"config":{"initialApplicationArguments":{"<any-key>":"string"},"variables":[{"example":"string","id":"string","name":"VARIABLE_NAME","pattern":"string","secure":false,"type":"text"}]},"device_ids":["chrome.laptop_large"],"message":"Notification message","monitor_id":12345678,"name":"Example test name","options":{"allowApplicationCrash":false,"bindings":[{"principals":[],"relation":"string"}],"ci":{"executionRule":"blocking"},"defaultStepTimeout":"integer","device_ids":["synthetics:mobile:device:apple_ipad_10th_gen_2022_ios_16"],"disableAutoAcceptAlert":false,"min_failure_duration":"integer","mobileApplication":{"applicationId":"00000000-0000-0000-0000-aaaaaaaaaaaa","referenceId":"00000000-0000-0000-0000-aaaaaaaaaaab","referenceType":"latest"},"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"},"scheduling":{"timeframes":[{"day":1,"from":"07:00","to":"16:00"}],"timezone":"America/New_York"},"tick_every":300,"verbosity":"integer"},"public_id":"123-abc-456","status":"live","steps":[{"allowFailure":false,"hasNewStepElement":false,"isCritical":false,"name":"","noScreenshot":false,"params":{"check":"string","delay":"integer","direction":"string","element":{"context":"string","contextType":"string","elementDescription":"string","multiLocator":{},"relativePosition":{"x":"number","y":"number"},"textContent":"string","userLocator":{"failTestOnCannotLocate":false,"values":[{"type":"string","value":"string"}]},"viewName":"string"},"enabled":false,"maxScrolls":"integer","positions":[{"x":"number","y":"number"}],"subtestPublicId":"string","value":{"description":"undefined","type":"undefined"},"variable":{"example":"","name":"VAR_NAME"},"withEnter":false,"x":"number","y":"number"},"publicId":"pub-lic-id0","timeout":"integer","type":"assertElementContent"}],"tags":["env:production"],"type":"mobile"}
- JSON format is wrong
- Updating sub-type is forbidden
// Edit a Mobile test returns "OK" response
packagemainimport("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")funcmain(){// there is a valid "synthetics_mobile_test" in the system
SyntheticsMobileTestPublicID:=os.Getenv("SYNTHETICS_MOBILE_TEST_PUBLIC_ID")body:=datadogV1.SyntheticsMobileTest{Name:"Example-Synthetic-updated",Status:datadogV1.SYNTHETICSTESTPAUSESTATUS_PAUSED.Ptr(),Type:datadogV1.SYNTHETICSMOBILETESTTYPE_MOBILE,Config:datadogV1.SyntheticsMobileTestConfig{Variables:[]datadogV1.SyntheticsConfigVariable{},},Message:datadog.PtrString(""),Options:datadogV1.SyntheticsMobileTestOptions{DeviceIds:[]string{"synthetics:mobile:device:iphone_15_ios_17",},MobileApplication:datadogV1.SyntheticsMobileTestsMobileApplication{ApplicationId:"ab0e0aed-536d-411a-9a99-5428c27d8f8e",ReferenceId:"6115922a-5f5d-455e-bc7e-7955a57f3815",ReferenceType:datadogV1.SYNTHETICSMOBILETESTSMOBILEAPPLICATIONREFERENCETYPE_VERSION,},TickEvery:3600,},Steps:[]datadogV1.SyntheticsMobileStep{},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.UpdateMobileTest(ctx,SyntheticsMobileTestPublicID,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.UpdateMobileTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.UpdateMobileTest`:\n%s\n",responseContent)}
// Edit a Mobile test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsMobileTest;importcom.datadog.api.client.v1.model.SyntheticsMobileTestConfig;importcom.datadog.api.client.v1.model.SyntheticsMobileTestOptions;importcom.datadog.api.client.v1.model.SyntheticsMobileTestType;importcom.datadog.api.client.v1.model.SyntheticsMobileTestsMobileApplication;importcom.datadog.api.client.v1.model.SyntheticsMobileTestsMobileApplicationReferenceType;importcom.datadog.api.client.v1.model.SyntheticsTestPauseStatus;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "synthetics_mobile_test" in the systemStringSYNTHETICS_MOBILE_TEST_PUBLIC_ID=System.getenv("SYNTHETICS_MOBILE_TEST_PUBLIC_ID");SyntheticsMobileTestbody=newSyntheticsMobileTest().name("Example-Synthetic-updated").status(SyntheticsTestPauseStatus.PAUSED).type(SyntheticsMobileTestType.MOBILE).config(newSyntheticsMobileTestConfig()).message("").options(newSyntheticsMobileTestOptions().deviceIds(Collections.singletonList("synthetics:mobile:device:iphone_15_ios_17")).mobileApplication(newSyntheticsMobileTestsMobileApplication().applicationId("ab0e0aed-536d-411a-9a99-5428c27d8f8e").referenceId("6115922a-5f5d-455e-bc7e-7955a57f3815").referenceType(SyntheticsMobileTestsMobileApplicationReferenceType.VERSION)).tickEvery(3600L));try{SyntheticsMobileTestresult=apiInstance.updateMobileTest(SYNTHETICS_MOBILE_TEST_PUBLIC_ID,body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#updateMobileTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Edit a Mobile test returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_mobile_testimportSyntheticsMobileTestfromdatadog_api_client.v1.model.synthetics_mobile_test_configimportSyntheticsMobileTestConfigfromdatadog_api_client.v1.model.synthetics_mobile_test_optionsimportSyntheticsMobileTestOptionsfromdatadog_api_client.v1.model.synthetics_mobile_test_typeimportSyntheticsMobileTestTypefromdatadog_api_client.v1.model.synthetics_mobile_tests_mobile_applicationimport(SyntheticsMobileTestsMobileApplication,)fromdatadog_api_client.v1.model.synthetics_mobile_tests_mobile_application_reference_typeimport(SyntheticsMobileTestsMobileApplicationReferenceType,)fromdatadog_api_client.v1.model.synthetics_test_pause_statusimportSyntheticsTestPauseStatus# there is a valid "synthetics_mobile_test" in the systemSYNTHETICS_MOBILE_TEST_PUBLIC_ID=environ["SYNTHETICS_MOBILE_TEST_PUBLIC_ID"]body=SyntheticsMobileTest(name="Example-Synthetic-updated",status=SyntheticsTestPauseStatus.PAUSED,type=SyntheticsMobileTestType.MOBILE,config=SyntheticsMobileTestConfig(variables=[],),message="",options=SyntheticsMobileTestOptions(device_ids=["synthetics:mobile:device:iphone_15_ios_17",],mobile_application=SyntheticsMobileTestsMobileApplication(application_id="ab0e0aed-536d-411a-9a99-5428c27d8f8e",reference_id="6115922a-5f5d-455e-bc7e-7955a57f3815",reference_type=SyntheticsMobileTestsMobileApplicationReferenceType.VERSION,),tick_every=3600,),steps=[],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.update_mobile_test(public_id=SYNTHETICS_MOBILE_TEST_PUBLIC_ID,body=body)print(response)
# Edit a Mobile test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "synthetics_mobile_test" in the systemSYNTHETICS_MOBILE_TEST_PUBLIC_ID=ENV["SYNTHETICS_MOBILE_TEST_PUBLIC_ID"]body=DatadogAPIClient::V1::SyntheticsMobileTest.new({name:"Example-Synthetic-updated",status:DatadogAPIClient::V1::SyntheticsTestPauseStatus::PAUSED,type:DatadogAPIClient::V1::SyntheticsMobileTestType::MOBILE,config:DatadogAPIClient::V1::SyntheticsMobileTestConfig.new({variables:[],}),message:"",options:DatadogAPIClient::V1::SyntheticsMobileTestOptions.new({device_ids:["synthetics:mobile:device:iphone_15_ios_17",],mobile_application:DatadogAPIClient::V1::SyntheticsMobileTestsMobileApplication.new({application_id:"ab0e0aed-536d-411a-9a99-5428c27d8f8e",reference_id:"6115922a-5f5d-455e-bc7e-7955a57f3815",reference_type:DatadogAPIClient::V1::SyntheticsMobileTestsMobileApplicationReferenceType::VERSION,}),tick_every:3600,}),steps:[],})papi_instance.update_mobile_test(SYNTHETICS_MOBILE_TEST_PUBLIC_ID,body)
// Edit a Mobile test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsMobileTest;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestConfig;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestType;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestsMobileApplication;usedatadog_api_client::datadogV1::model::SyntheticsMobileTestsMobileApplicationReferenceType;usedatadog_api_client::datadogV1::model::SyntheticsTestPauseStatus;#[tokio::main]asyncfnmain(){// there is a valid "synthetics_mobile_test" in the system
letsynthetics_mobile_test_public_id=std::env::var("SYNTHETICS_MOBILE_TEST_PUBLIC_ID").unwrap();letbody=SyntheticsMobileTest::new(SyntheticsMobileTestConfig::new().variables(vec![]),"Example-Synthetic-updated".to_string(),SyntheticsMobileTestOptions::new(vec!["synthetics:mobile:device:iphone_15_ios_17".to_string()],SyntheticsMobileTestsMobileApplication::new("ab0e0aed-536d-411a-9a99-5428c27d8f8e".to_string(),"6115922a-5f5d-455e-bc7e-7955a57f3815".to_string(),SyntheticsMobileTestsMobileApplicationReferenceType::VERSION,),3600,),SyntheticsMobileTestType::MOBILE,).message("".to_string()).status(SyntheticsTestPauseStatus::PAUSED).steps(vec![]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.update_mobile_test(synthetics_mobile_test_public_id.clone(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Edit a Mobile test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "synthetics_mobile_test" in the system
constSYNTHETICS_MOBILE_TEST_PUBLIC_ID=process.env.SYNTHETICS_MOBILE_TEST_PUBLIC_IDasstring;constparams: v1.SyntheticsApiUpdateMobileTestRequest={body:{name:"Example-Synthetic-updated",status:"paused",type:"mobile",config:{variables:[],},message:"",options:{deviceIds:["synthetics:mobile:device:iphone_15_ios_17"],mobileApplication:{applicationId:"ab0e0aed-536d-411a-9a99-5428c27d8f8e",referenceId:"6115922a-5f5d-455e-bc7e-7955a57f3815",referenceType:"version",},tickEvery: 3600,},steps:[],},publicId: SYNTHETICS_MOBILE_TEST_PUBLIC_ID,};apiInstance.updateMobileTest(params).then((data: v1.SyntheticsMobileTest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
steps
[ <oneOf>]
When the test subtype is multi, the steps of the test.
Option 1
object
The Test step used in a Synthetic multi-step API test.
allowFailure
boolean
Determines whether or not to continue with test if this step fails.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
exitIfSucceed
boolean
Determines whether or not to exit the test if the step succeeds.
extractedValues
[object]
Array of values to parse and save as variables from the response.
field
string
When type is http_header or grpc_metadata, name of the header or metadatum to extract.
name
string
Name of the variable to extract.
parser
object
Details of the parser to use for the global variable.
type [required]
enum
Type of parser for a Synthetic global variable from a synthetics test.
Allowed enum values: raw,json_path,regex,x_path
value
string
Regex or JSON path used for the parser. Not used with type raw.
secure
boolean
Determines whether or not the extracted value will be obfuscated.
type
enum
Property of the Synthetic Test Response to extract into a local variable.
Allowed enum values: grpc_message,grpc_metadata,http_body,http_header,http_status_code
extractedValuesFromScript
string
Generate variables using JavaScript.
isCritical
boolean
Determines whether or not to consider the entire test as failed if this step fails.
Can be used only if allowFailure is true.
name [required]
string
The name of the step.
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
subtype [required]
enum
The subtype of the Synthetic multi-step API test step.
Allowed enum values: http,grpc
Option 2
object
The Wait step used in a Synthetic multi-step API test.
name [required]
string
The name of the step.
subtype [required]
enum
The subtype of the Synthetic multi-step API wait step.
Allowed enum values: wait
value [required]
int32
The time to wait in seconds. Minimum value: 0. Maximum value: 180.
variablesFromScript
string
Variables defined from JavaScript code.
locations [required]
[string]
Array of locations used to run the test.
message [required]
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID for the test.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, api.
Allowed enum values: api
default: api
{"config":{"assertions":[{"operator":"is","property":"{{ PROPERTY }}","target":"text/html","type":"header"},{"operator":"lessThan","target":2000,"type":"responseTime"},{"operator":"validatesJSONPath","target":{"jsonPath":"topKey","operator":"isNot","targetValue":"0"},"type":"body"},{"operator":"validatesJSONSchema","target":{"metaSchema":"draft-07","jsonSchema":"{\"type\": \"object\", \"properties\":{\"slideshow\":{\"type\":\"object\"}}}"},"type":"body"}],"configVariables":[{"example":"content-type","name":"PROPERTY","pattern":"content-type","type":"text"}],"request":{"certificate":{"cert":{"filename":"cert-filename","updatedAt":"2020-10-16T09:23:24.857Z"},"key":{"filename":"key-filename","updatedAt":"2020-10-16T09:23:24.857Z"}},"headers":{"unique":"examplesynthetic"},"method":"GET","timeout":10,"url":"https://datadoghq.com"}},"locations":["aws:us-east-2"],"message":"BDD test payload: synthetics_api_test_payload.json","name":"Example-Synthetic-updated","options":{"accept_self_signed":false,"allow_insecure":true,"follow_redirects":true,"min_failure_duration":10,"min_location_failed":1,"monitor_name":"Test-TestSyntheticsAPITestLifecycle-1623076664","monitor_priority":5,"retry":{"count":3,"interval":10},"tick_every":60},"status":"live","subtype":"http","tags":["testing:api"],"type":"api"}
Object containing details about a Synthetic API test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic API test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
steps
[ <oneOf>]
When the test subtype is multi, the steps of the test.
Option 1
object
The Test step used in a Synthetic multi-step API test.
allowFailure
boolean
Determines whether or not to continue with test if this step fails.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
exitIfSucceed
boolean
Determines whether or not to exit the test if the step succeeds.
extractedValues
[object]
Array of values to parse and save as variables from the response.
field
string
When type is http_header or grpc_metadata, name of the header or metadatum to extract.
name
string
Name of the variable to extract.
parser
object
Details of the parser to use for the global variable.
type [required]
enum
Type of parser for a Synthetic global variable from a synthetics test.
Allowed enum values: raw,json_path,regex,x_path
value
string
Regex or JSON path used for the parser. Not used with type raw.
secure
boolean
Determines whether or not the extracted value will be obfuscated.
type
enum
Property of the Synthetic Test Response to extract into a local variable.
Allowed enum values: grpc_message,grpc_metadata,http_body,http_header,http_status_code
extractedValuesFromScript
string
Generate variables using JavaScript.
isCritical
boolean
Determines whether or not to consider the entire test as failed if this step fails.
Can be used only if allowFailure is true.
name [required]
string
The name of the step.
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
subtype [required]
enum
The subtype of the Synthetic multi-step API test step.
Allowed enum values: http,grpc
Option 2
object
The Wait step used in a Synthetic multi-step API test.
name [required]
string
The name of the step.
subtype [required]
enum
The subtype of the Synthetic multi-step API wait step.
Allowed enum values: wait
value [required]
int32
The time to wait in seconds. Minimum value: 0. Maximum value: 180.
variablesFromScript
string
Variables defined from JavaScript code.
locations [required]
[string]
Array of locations used to run the test.
message [required]
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID for the test.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, api.
Allowed enum values: api
default: api
{"config":{"assertions":[[]],"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","url":"https://example.com"},"steps":[],"variablesFromScript":"dd.variable.set(\"FOO\", \"foo\")"},"locations":["aws:eu-west-3"],"message":"Notification message","monitor_id":12345678,"name":"Example test name","options":{"accept_self_signed":false,"allow_insecure":false,"checkCertificateRevocation":false,"ci":{"executionRule":"blocking"},"device_ids":["chrome.laptop_large"],"disableCors":false,"disableCsp":false,"enableProfiling":false,"enableSecurityTesting":false,"follow_redirects":false,"httpVersion":"string","ignoreServerCertificateError":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":"123-abc-456","status":"live","subtype":"http","tags":["env:production"],"type":"api"}
- JSON format is wrong
- Updating sub-type is forbidden
// Edit an API test returns "OK" response
packagemainimport("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")funcmain(){// there is a valid "synthetics_api_test" in the system
SyntheticsAPITestPublicID:=os.Getenv("SYNTHETICS_API_TEST_PUBLIC_ID")body:=datadogV1.SyntheticsAPITest{Config:datadogV1.SyntheticsAPITestConfig{Assertions:[]datadogV1.SyntheticsAssertion{datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_IS,Property:datadog.PtrString("{{ PROPERTY }}"),Target:"text/html",Type:datadogV1.SYNTHETICSASSERTIONTYPE_HEADER,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionTarget:&datadogV1.SyntheticsAssertionTarget{Operator:datadogV1.SYNTHETICSASSERTIONOPERATOR_LESS_THAN,Target:2000,Type:datadogV1.SYNTHETICSASSERTIONTYPE_RESPONSE_TIME,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionJSONPathTarget:&datadogV1.SyntheticsAssertionJSONPathTarget{Operator:datadogV1.SYNTHETICSASSERTIONJSONPATHOPERATOR_VALIDATES_JSON_PATH,Target:&datadogV1.SyntheticsAssertionJSONPathTargetTarget{JsonPath:datadog.PtrString("topKey"),Operator:datadog.PtrString("isNot"),TargetValue:"0",},Type:datadogV1.SYNTHETICSASSERTIONTYPE_BODY,}},datadogV1.SyntheticsAssertion{SyntheticsAssertionJSONSchemaTarget:&datadogV1.SyntheticsAssertionJSONSchemaTarget{Operator:datadogV1.SYNTHETICSASSERTIONJSONSCHEMAOPERATOR_VALIDATES_JSON_SCHEMA,Target:&datadogV1.SyntheticsAssertionJSONSchemaTargetTarget{MetaSchema:datadogV1.SYNTHETICSASSERTIONJSONSCHEMAMETASCHEMA_DRAFT_07.Ptr(),JsonSchema:datadog.PtrString(`{"type": "object", "properties":{"slideshow":{"type":"object"}}}`),},Type:datadogV1.SYNTHETICSASSERTIONTYPE_BODY,}},},ConfigVariables:[]datadogV1.SyntheticsConfigVariable{{Example:datadog.PtrString("content-type"),Name:"PROPERTY",Pattern:datadog.PtrString("content-type"),Type:datadogV1.SYNTHETICSCONFIGVARIABLETYPE_TEXT,},},Request:&datadogV1.SyntheticsTestRequest{Certificate:&datadogV1.SyntheticsTestRequestCertificate{Cert:&datadogV1.SyntheticsTestRequestCertificateItem{Filename:datadog.PtrString("cert-filename"),UpdatedAt:datadog.PtrString("2020-10-16T09:23:24.857Z"),},Key:&datadogV1.SyntheticsTestRequestCertificateItem{Filename:datadog.PtrString("key-filename"),UpdatedAt:datadog.PtrString("2020-10-16T09:23:24.857Z"),},},Headers:map[string]string{"unique":"examplesynthetic",},Method:datadog.PtrString("GET"),Timeout:datadog.PtrFloat64(10),Url:datadog.PtrString("https://datadoghq.com"),},},Locations:[]string{"aws:us-east-2",},Message:"BDD test payload: synthetics_api_test_payload.json",Name:"Example-Synthetic-updated",Options:datadogV1.SyntheticsTestOptions{AcceptSelfSigned:datadog.PtrBool(false),AllowInsecure:datadog.PtrBool(true),FollowRedirects:datadog.PtrBool(true),MinFailureDuration:datadog.PtrInt64(10),MinLocationFailed:datadog.PtrInt64(1),MonitorName:datadog.PtrString("Test-TestSyntheticsAPITestLifecycle-1623076664"),MonitorPriority:datadog.PtrInt32(5),Retry:&datadogV1.SyntheticsTestOptionsRetry{Count:datadog.PtrInt64(3),Interval:datadog.PtrFloat64(10),},TickEvery:datadog.PtrInt64(60),},Status:datadogV1.SYNTHETICSTESTPAUSESTATUS_LIVE.Ptr(),Subtype:datadogV1.SYNTHETICSTESTDETAILSSUBTYPE_HTTP.Ptr(),Tags:[]string{"testing:api",},Type:datadogV1.SYNTHETICSAPITESTTYPE_API,}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.UpdateAPITest(ctx,SyntheticsAPITestPublicID,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.UpdateAPITest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.UpdateAPITest`:\n%s\n",responseContent)}
// Edit an API test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsAPITest;importcom.datadog.api.client.v1.model.SyntheticsAPITestConfig;importcom.datadog.api.client.v1.model.SyntheticsAPITestType;importcom.datadog.api.client.v1.model.SyntheticsAssertion;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONPathOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONPathTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONPathTargetTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaMetaSchema;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionJSONSchemaTargetTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionOperator;importcom.datadog.api.client.v1.model.SyntheticsAssertionTarget;importcom.datadog.api.client.v1.model.SyntheticsAssertionType;importcom.datadog.api.client.v1.model.SyntheticsConfigVariable;importcom.datadog.api.client.v1.model.SyntheticsConfigVariableType;importcom.datadog.api.client.v1.model.SyntheticsTestDetailsSubType;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsRetry;importcom.datadog.api.client.v1.model.SyntheticsTestPauseStatus;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importcom.datadog.api.client.v1.model.SyntheticsTestRequestCertificate;importcom.datadog.api.client.v1.model.SyntheticsTestRequestCertificateItem;importjava.util.Arrays;importjava.util.Collections;importjava.util.Map;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "synthetics_api_test" in the systemStringSYNTHETICS_API_TEST_PUBLIC_ID=System.getenv("SYNTHETICS_API_TEST_PUBLIC_ID");SyntheticsAPITestbody=newSyntheticsAPITest().config(newSyntheticsAPITestConfig().assertions(Arrays.asList(newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.IS).property("{{ PROPERTY }}").target("text/html").type(SyntheticsAssertionType.HEADER)),newSyntheticsAssertion(newSyntheticsAssertionTarget().operator(SyntheticsAssertionOperator.LESS_THAN).target(2000).type(SyntheticsAssertionType.RESPONSE_TIME)),newSyntheticsAssertion(newSyntheticsAssertionJSONPathTarget().operator(SyntheticsAssertionJSONPathOperator.VALIDATES_JSON_PATH).target(newSyntheticsAssertionJSONPathTargetTarget().jsonPath("topKey").operator("isNot").targetValue("0")).type(SyntheticsAssertionType.BODY)),newSyntheticsAssertion(newSyntheticsAssertionJSONSchemaTarget().operator(SyntheticsAssertionJSONSchemaOperator.VALIDATES_JSON_SCHEMA).target(newSyntheticsAssertionJSONSchemaTargetTarget().metaSchema(SyntheticsAssertionJSONSchemaMetaSchema.DRAFT_07).jsonSchema("""
{"type": "object", "properties":{"slideshow":{"type":"object"}}}
""")).type(SyntheticsAssertionType.BODY)))).configVariables(Collections.singletonList(newSyntheticsConfigVariable().example("content-type").name("PROPERTY").pattern("content-type").type(SyntheticsConfigVariableType.TEXT))).request(newSyntheticsTestRequest().certificate(newSyntheticsTestRequestCertificate().cert(newSyntheticsTestRequestCertificateItem().filename("cert-filename").updatedAt("2020-10-16T09:23:24.857Z")).key(newSyntheticsTestRequestCertificateItem().filename("key-filename").updatedAt("2020-10-16T09:23:24.857Z"))).headers(Map.ofEntries(Map.entry("unique","examplesynthetic"))).method("GET").timeout(10.0).url("https://datadoghq.com"))).locations(Collections.singletonList("aws:us-east-2")).message("BDD test payload: synthetics_api_test_payload.json").name("Example-Synthetic-updated").options(newSyntheticsTestOptions().acceptSelfSigned(false).allowInsecure(true).followRedirects(true).minFailureDuration(10L).minLocationFailed(1L).monitorName("Test-TestSyntheticsAPITestLifecycle-1623076664").monitorPriority(5).retry(newSyntheticsTestOptionsRetry().count(3L).interval(10.0)).tickEvery(60L)).status(SyntheticsTestPauseStatus.LIVE).subtype(SyntheticsTestDetailsSubType.HTTP).tags(Collections.singletonList("testing:api")).type(SyntheticsAPITestType.API);try{SyntheticsAPITestresult=apiInstance.updateAPITest(SYNTHETICS_API_TEST_PUBLIC_ID,body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#updateAPITest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Edit an API test returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_api_testimportSyntheticsAPITestfromdatadog_api_client.v1.model.synthetics_api_test_configimportSyntheticsAPITestConfigfromdatadog_api_client.v1.model.synthetics_api_test_typeimportSyntheticsAPITestTypefromdatadog_api_client.v1.model.synthetics_assertion_json_path_operatorimportSyntheticsAssertionJSONPathOperatorfromdatadog_api_client.v1.model.synthetics_assertion_json_path_targetimportSyntheticsAssertionJSONPathTargetfromdatadog_api_client.v1.model.synthetics_assertion_json_path_target_targetimport(SyntheticsAssertionJSONPathTargetTarget,)fromdatadog_api_client.v1.model.synthetics_assertion_json_schema_meta_schemaimport(SyntheticsAssertionJSONSchemaMetaSchema,)fromdatadog_api_client.v1.model.synthetics_assertion_json_schema_operatorimportSyntheticsAssertionJSONSchemaOperatorfromdatadog_api_client.v1.model.synthetics_assertion_json_schema_targetimportSyntheticsAssertionJSONSchemaTargetfromdatadog_api_client.v1.model.synthetics_assertion_json_schema_target_targetimport(SyntheticsAssertionJSONSchemaTargetTarget,)fromdatadog_api_client.v1.model.synthetics_assertion_operatorimportSyntheticsAssertionOperatorfromdatadog_api_client.v1.model.synthetics_assertion_targetimportSyntheticsAssertionTargetfromdatadog_api_client.v1.model.synthetics_assertion_typeimportSyntheticsAssertionTypefromdatadog_api_client.v1.model.synthetics_config_variableimportSyntheticsConfigVariablefromdatadog_api_client.v1.model.synthetics_config_variable_typeimportSyntheticsConfigVariableTypefromdatadog_api_client.v1.model.synthetics_test_details_sub_typeimportSyntheticsTestDetailsSubTypefromdatadog_api_client.v1.model.synthetics_test_headersimportSyntheticsTestHeadersfromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_options_retryimportSyntheticsTestOptionsRetryfromdatadog_api_client.v1.model.synthetics_test_pause_statusimportSyntheticsTestPauseStatusfromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestfromdatadog_api_client.v1.model.synthetics_test_request_certificateimportSyntheticsTestRequestCertificatefromdatadog_api_client.v1.model.synthetics_test_request_certificate_itemimportSyntheticsTestRequestCertificateItem# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=environ["SYNTHETICS_API_TEST_PUBLIC_ID"]body=SyntheticsAPITest(config=SyntheticsAPITestConfig(assertions=[SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.IS,_property="{{ PROPERTY }}",target="text/html",type=SyntheticsAssertionType.HEADER,),SyntheticsAssertionTarget(operator=SyntheticsAssertionOperator.LESS_THAN,target=2000,type=SyntheticsAssertionType.RESPONSE_TIME,),SyntheticsAssertionJSONPathTarget(operator=SyntheticsAssertionJSONPathOperator.VALIDATES_JSON_PATH,target=SyntheticsAssertionJSONPathTargetTarget(json_path="topKey",operator="isNot",target_value="0",),type=SyntheticsAssertionType.BODY,),SyntheticsAssertionJSONSchemaTarget(operator=SyntheticsAssertionJSONSchemaOperator.VALIDATES_JSON_SCHEMA,target=SyntheticsAssertionJSONSchemaTargetTarget(meta_schema=SyntheticsAssertionJSONSchemaMetaSchema.DRAFT_07,json_schema='{"type": "object", "properties":{"slideshow":{"type":"object"}}}',),type=SyntheticsAssertionType.BODY,),],config_variables=[SyntheticsConfigVariable(example="content-type",name="PROPERTY",pattern="content-type",type=SyntheticsConfigVariableType.TEXT,),],request=SyntheticsTestRequest(certificate=SyntheticsTestRequestCertificate(cert=SyntheticsTestRequestCertificateItem(filename="cert-filename",updated_at="2020-10-16T09:23:24.857Z",),key=SyntheticsTestRequestCertificateItem(filename="key-filename",updated_at="2020-10-16T09:23:24.857Z",),),headers=SyntheticsTestHeaders(unique="examplesynthetic",),method="GET",timeout=10.0,url="https://datadoghq.com",),),locations=["aws:us-east-2",],message="BDD test payload: synthetics_api_test_payload.json",name="Example-Synthetic-updated",options=SyntheticsTestOptions(accept_self_signed=False,allow_insecure=True,follow_redirects=True,min_failure_duration=10,min_location_failed=1,monitor_name="Test-TestSyntheticsAPITestLifecycle-1623076664",monitor_priority=5,retry=SyntheticsTestOptionsRetry(count=3,interval=10.0,),tick_every=60,),status=SyntheticsTestPauseStatus.LIVE,subtype=SyntheticsTestDetailsSubType.HTTP,tags=["testing:api",],type=SyntheticsAPITestType.API,)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.update_api_test(public_id=SYNTHETICS_API_TEST_PUBLIC_ID,body=body)print(response)
# Edit an API test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=ENV["SYNTHETICS_API_TEST_PUBLIC_ID"]body=DatadogAPIClient::V1::SyntheticsAPITest.new({config:DatadogAPIClient::V1::SyntheticsAPITestConfig.new({assertions:[DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::IS,property:"{{ PROPERTY }}",target:"text/html",type:DatadogAPIClient::V1::SyntheticsAssertionType::HEADER,}),DatadogAPIClient::V1::SyntheticsAssertionTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionOperator::LESS_THAN,target:2000,type:DatadogAPIClient::V1::SyntheticsAssertionType::RESPONSE_TIME,}),DatadogAPIClient::V1::SyntheticsAssertionJSONPathTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,target:DatadogAPIClient::V1::SyntheticsAssertionJSONPathTargetTarget.new({json_path:"topKey",operator:"isNot",target_value:"0",}),type:DatadogAPIClient::V1::SyntheticsAssertionType::BODY,}),DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaTarget.new({operator:DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,target:DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaTargetTarget.new({meta_schema:DatadogAPIClient::V1::SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07,json_schema:'{"type": "object", "properties":{"slideshow":{"type":"object"}}}',}),type:DatadogAPIClient::V1::SyntheticsAssertionType::BODY,}),],config_variables:[DatadogAPIClient::V1::SyntheticsConfigVariable.new({example:"content-type",name:"PROPERTY",pattern:"content-type",type:DatadogAPIClient::V1::SyntheticsConfigVariableType::TEXT,}),],request:DatadogAPIClient::V1::SyntheticsTestRequest.new({certificate:DatadogAPIClient::V1::SyntheticsTestRequestCertificate.new({cert:DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({filename:"cert-filename",updated_at:"2020-10-16T09:23:24.857Z",}),key:DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({filename:"key-filename",updated_at:"2020-10-16T09:23:24.857Z",}),}),headers:{unique:"examplesynthetic",},method:"GET",timeout:10,url:"https://datadoghq.com",}),}),locations:["aws:us-east-2",],message:"BDD test payload: synthetics_api_test_payload.json",name:"Example-Synthetic-updated",options:DatadogAPIClient::V1::SyntheticsTestOptions.new({accept_self_signed:false,allow_insecure:true,follow_redirects:true,min_failure_duration:10,min_location_failed:1,monitor_name:"Test-TestSyntheticsAPITestLifecycle-1623076664",monitor_priority:5,_retry:DatadogAPIClient::V1::SyntheticsTestOptionsRetry.new({count:3,interval:10,}),tick_every:60,}),status:DatadogAPIClient::V1::SyntheticsTestPauseStatus::LIVE,subtype:DatadogAPIClient::V1::SyntheticsTestDetailsSubType::HTTP,tags:["testing:api",],type:DatadogAPIClient::V1::SyntheticsAPITestType::API,})papi_instance.update_api_test(SYNTHETICS_API_TEST_PUBLIC_ID,body)
// Edit an API test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsAPITest;usedatadog_api_client::datadogV1::model::SyntheticsAPITestConfig;usedatadog_api_client::datadogV1::model::SyntheticsAPITestType;usedatadog_api_client::datadogV1::model::SyntheticsAssertion;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONPathOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONPathTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONPathTargetTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaMetaSchema;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionJSONSchemaTargetTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionOperator;usedatadog_api_client::datadogV1::model::SyntheticsAssertionTarget;usedatadog_api_client::datadogV1::model::SyntheticsAssertionType;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariable;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariableType;usedatadog_api_client::datadogV1::model::SyntheticsTestDetailsSubType;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;usedatadog_api_client::datadogV1::model::SyntheticsTestPauseStatus;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestCertificate;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestCertificateItem;useserde_json::Value;usestd::collections::BTreeMap;#[tokio::main]asyncfnmain(){// there is a valid "synthetics_api_test" in the system
letsynthetics_api_test_public_id=std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();letbody=SyntheticsAPITest::new(SyntheticsAPITestConfig::new().assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::IS,Value::from("text/html"),SyntheticsAssertionType::HEADER,).property("{{ PROPERTY }}".to_string()),),),SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(SyntheticsAssertionTarget::new(SyntheticsAssertionOperator::LESS_THAN,Value::from(2000),SyntheticsAssertionType::RESPONSE_TIME,),),),SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(Box::new(SyntheticsAssertionJSONPathTarget::new(SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,SyntheticsAssertionType::BODY,).target(SyntheticsAssertionJSONPathTargetTarget::new().json_path("topKey".to_string()).operator("isNot".to_string()).target_value(Value::from("0")),),),),SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(Box::new(SyntheticsAssertionJSONSchemaTarget::new(SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,SyntheticsAssertionType::BODY,).target(SyntheticsAssertionJSONSchemaTargetTarget::new().json_schema(r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),).meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),),),)],).config_variables(vec![SyntheticsConfigVariable::new("PROPERTY".to_string(),SyntheticsConfigVariableType::TEXT).example("content-type".to_string()).pattern("content-type".to_string())],).request(SyntheticsTestRequest::new().certificate(SyntheticsTestRequestCertificate::new().cert(SyntheticsTestRequestCertificateItem::new().filename("cert-filename".to_string()).updated_at("2020-10-16T09:23:24.857Z".to_string()),).key(SyntheticsTestRequestCertificateItem::new().filename("key-filename".to_string()).updated_at("2020-10-16T09:23:24.857Z".to_string()),),).headers(BTreeMap::from([("unique".to_string(),"examplesynthetic".to_string())])).method("GET".to_string()).timeout(10.0asf64).url("https://datadoghq.com".to_string()),),vec!["aws:us-east-2".to_string()],"BDD test payload: synthetics_api_test_payload.json".to_string(),"Example-Synthetic-updated".to_string(),SyntheticsTestOptions::new().accept_self_signed(false).allow_insecure(true).follow_redirects(true).min_failure_duration(10).min_location_failed(1).monitor_name("Test-TestSyntheticsAPITestLifecycle-1623076664".to_string()).monitor_priority(5).retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0asf64)).tick_every(60),SyntheticsAPITestType::API,).status(SyntheticsTestPauseStatus::LIVE).subtype(SyntheticsTestDetailsSubType::HTTP).tags(vec!["testing:api".to_string()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.update_api_test(synthetics_api_test_public_id.clone(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Edit an API test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "synthetics_api_test" in the system
constSYNTHETICS_API_TEST_PUBLIC_ID=process.env.SYNTHETICS_API_TEST_PUBLIC_IDasstring;constparams: v1.SyntheticsApiUpdateAPITestRequest={body:{config:{assertions:[{operator:"is",property:"{{ PROPERTY }}",target:"text/html",type:"header",},{operator:"lessThan",target: 2000,type:"responseTime",},{operator:"validatesJSONPath",target:{jsonPath:"topKey",operator:"isNot",targetValue:"0",},type:"body",},{operator:"validatesJSONSchema",target:{metaSchema:"draft-07",jsonSchema:`{"type": "object", "properties":{"slideshow":{"type":"object"}}}`,},type:"body",},],configVariables:[{example:"content-type",name:"PROPERTY",pattern:"content-type",type:"text",},],request:{certificate:{cert:{filename:"cert-filename",updatedAt:"2020-10-16T09:23:24.857Z",},key:{filename:"key-filename",updatedAt:"2020-10-16T09:23:24.857Z",},},headers:{unique:"examplesynthetic",},method:"GET",timeout: 10,url:"https://datadoghq.com",},},locations:["aws:us-east-2"],message:"BDD test payload: synthetics_api_test_payload.json",name:"Example-Synthetic-updated",options:{acceptSelfSigned: false,allowInsecure: true,followRedirects: true,minFailureDuration: 10,minLocationFailed: 1,monitorName:"Test-TestSyntheticsAPITestLifecycle-1623076664",monitorPriority: 5,retry:{count: 3,interval: 10,},tickEvery: 60,},status:"live",subtype:"http",tags:["testing:api"],type:"api",},publicId: SYNTHETICS_API_TEST_PUBLIC_ID,};apiInstance.updateAPITest(params).then((data: v1.SyntheticsAPITest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Configuration object for a Synthetic browser test.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
setCookie
string
Cookies to be used for the request, using the Set-Cookie syntax.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
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.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,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
{"config":{"assertions":[{"operator":"contains","property":"string","target":123456,"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","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,"checkCertificateRevocation":false,"ci":{"executionRule":"blocking"},"device_ids":["chrome.laptop_large"],"disableCors":false,"disableCsp":false,"enableProfiling":false,"enableSecurityTesting":false,"follow_redirects":false,"httpVersion":"string","ignoreServerCertificateError":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"}
Object containing details about a Synthetic browser test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic browser test.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
setCookie
string
Cookies to be used for the request, using the Set-Cookie syntax.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
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.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,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
{"config":{"assertions":[{"operator":"contains","property":"string","target":123456,"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","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,"checkCertificateRevocation":false,"ci":{"executionRule":"blocking"},"device_ids":["chrome.laptop_large"],"disableCors":false,"disableCsp":false,"enableProfiling":false,"enableSecurityTesting":false,"follow_redirects":false,"httpVersion":"string","ignoreServerCertificateError":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"}
- JSON format is wrong
- Updating sub-type is forbidden
"""
Edit a browser test returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_basic_auth_webimportSyntheticsBasicAuthWebfromdatadog_api_client.v1.model.synthetics_basic_auth_web_typeimportSyntheticsBasicAuthWebTypefromdatadog_api_client.v1.model.synthetics_browser_testimportSyntheticsBrowserTestfromdatadog_api_client.v1.model.synthetics_browser_test_configimportSyntheticsBrowserTestConfigfromdatadog_api_client.v1.model.synthetics_browser_test_rum_settingsimportSyntheticsBrowserTestRumSettingsfromdatadog_api_client.v1.model.synthetics_browser_test_typeimportSyntheticsBrowserTestTypefromdatadog_api_client.v1.model.synthetics_browser_variableimportSyntheticsBrowserVariablefromdatadog_api_client.v1.model.synthetics_browser_variable_typeimportSyntheticsBrowserVariableTypefromdatadog_api_client.v1.model.synthetics_config_variableimportSyntheticsConfigVariablefromdatadog_api_client.v1.model.synthetics_config_variable_typeimportSyntheticsConfigVariableTypefromdatadog_api_client.v1.model.synthetics_restricted_rolesimportSyntheticsRestrictedRolesfromdatadog_api_client.v1.model.synthetics_stepimportSyntheticsStepfromdatadog_api_client.v1.model.synthetics_step_typeimportSyntheticsStepTypefromdatadog_api_client.v1.model.synthetics_test_call_typeimportSyntheticsTestCallTypefromdatadog_api_client.v1.model.synthetics_test_ci_optionsimportSyntheticsTestCiOptionsfromdatadog_api_client.v1.model.synthetics_test_execution_ruleimportSyntheticsTestExecutionRulefromdatadog_api_client.v1.model.synthetics_test_optionsimportSyntheticsTestOptionsfromdatadog_api_client.v1.model.synthetics_test_options_http_versionimportSyntheticsTestOptionsHTTPVersionfromdatadog_api_client.v1.model.synthetics_test_options_monitor_optionsimportSyntheticsTestOptionsMonitorOptionsfromdatadog_api_client.v1.model.synthetics_test_options_monitor_options_notification_preset_nameimport(SyntheticsTestOptionsMonitorOptionsNotificationPresetName,)fromdatadog_api_client.v1.model.synthetics_test_options_retryimportSyntheticsTestOptionsRetryfromdatadog_api_client.v1.model.synthetics_test_options_schedulingimportSyntheticsTestOptionsSchedulingfromdatadog_api_client.v1.model.synthetics_test_options_scheduling_timeframeimport(SyntheticsTestOptionsSchedulingTimeframe,)fromdatadog_api_client.v1.model.synthetics_test_pause_statusimportSyntheticsTestPauseStatusfromdatadog_api_client.v1.model.synthetics_test_requestimportSyntheticsTestRequestfromdatadog_api_client.v1.model.synthetics_test_request_body_fileimportSyntheticsTestRequestBodyFilefromdatadog_api_client.v1.model.synthetics_test_request_body_typeimportSyntheticsTestRequestBodyTypefromdatadog_api_client.v1.model.synthetics_test_request_certificateimportSyntheticsTestRequestCertificatefromdatadog_api_client.v1.model.synthetics_test_request_certificate_itemimportSyntheticsTestRequestCertificateItemfromdatadog_api_client.v1.model.synthetics_test_request_proxyimportSyntheticsTestRequestProxybody=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,proxy=SyntheticsTestRequestProxy(url="https://example.com",),service="Greeter",url="https://example.com",),variables=[SyntheticsBrowserVariable(name="VARIABLE_NAME",type=SyntheticsBrowserVariableType.TEXT,),],),locations=["aws:eu-west-3",],message="",name="Example test name",options=SyntheticsTestOptions(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()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.update_browser_test(public_id="public_id",body=body)print(response)
# Edit a browser test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=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,proxy:DatadogAPIClient::V1::SyntheticsTestRequestProxy.new({url:"https://example.com",}),service:"Greeter",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({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,})papi_instance.update_browser_test("public_id",body)
// Edit a browser test returns "OK" response
packagemainimport("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")funcmain(){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:"PaSSw0RD!",Type:datadogV1.SYNTHETICSBASICAUTHWEBTYPE_WEB.Ptr(),Username:"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(),Proxy:&datadogV1.SyntheticsTestRequestProxy{Url:"https://example.com",},Service:datadog.PtrString("Greeter"),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{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())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.UpdateBrowserTest(ctx,"public_id",body)iferr!=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)}
// Edit a browser test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsBasicAuth;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthWeb;importcom.datadog.api.client.v1.model.SyntheticsBasicAuthWebType;importcom.datadog.api.client.v1.model.SyntheticsBrowserTest;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestConfig;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestRumSettings;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestType;importcom.datadog.api.client.v1.model.SyntheticsBrowserVariable;importcom.datadog.api.client.v1.model.SyntheticsBrowserVariableType;importcom.datadog.api.client.v1.model.SyntheticsConfigVariable;importcom.datadog.api.client.v1.model.SyntheticsConfigVariableType;importcom.datadog.api.client.v1.model.SyntheticsStep;importcom.datadog.api.client.v1.model.SyntheticsStepType;importcom.datadog.api.client.v1.model.SyntheticsTestCallType;importcom.datadog.api.client.v1.model.SyntheticsTestCiOptions;importcom.datadog.api.client.v1.model.SyntheticsTestExecutionRule;importcom.datadog.api.client.v1.model.SyntheticsTestOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsHTTPVersion;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsMonitorOptions;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsMonitorOptionsNotificationPresetName;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsRetry;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsScheduling;importcom.datadog.api.client.v1.model.SyntheticsTestOptionsSchedulingTimeframe;importcom.datadog.api.client.v1.model.SyntheticsTestPauseStatus;importcom.datadog.api.client.v1.model.SyntheticsTestRequest;importcom.datadog.api.client.v1.model.SyntheticsTestRequestBodyFile;importcom.datadog.api.client.v1.model.SyntheticsTestRequestBodyType;importcom.datadog.api.client.v1.model.SyntheticsTestRequestCertificate;importcom.datadog.api.client.v1.model.SyntheticsTestRequestCertificateItem;importcom.datadog.api.client.v1.model.SyntheticsTestRequestProxy;importjava.util.Arrays;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsBrowserTestbody=newSyntheticsBrowserTest().config(newSyntheticsBrowserTestConfig().configVariables(Collections.singletonList(newSyntheticsConfigVariable().name("VARIABLE_NAME").secure(false).type(SyntheticsConfigVariableType.TEXT))).request(newSyntheticsTestRequest().basicAuth(newSyntheticsBasicAuth(newSyntheticsBasicAuthWeb().password("PaSSw0RD!").type(SyntheticsBasicAuthWebType.WEB).username("my_username"))).bodyType(SyntheticsTestRequestBodyType.TEXT_PLAIN).callType(SyntheticsTestCallType.UNARY).certificate(newSyntheticsTestRequestCertificate().cert(newSyntheticsTestRequestCertificateItem()).key(newSyntheticsTestRequestCertificateItem())).files(Collections.singletonList(newSyntheticsTestRequestBodyFile())).httpVersion(SyntheticsTestOptionsHTTPVersion.HTTP1).proxy(newSyntheticsTestRequestProxy().url("https://example.com")).service("Greeter").url("https://example.com")).variables(Collections.singletonList(newSyntheticsBrowserVariable().name("VARIABLE_NAME").type(SyntheticsBrowserVariableType.TEXT)))).locations(Collections.singletonList("aws:eu-west-3")).message("").name("Example test name").options(newSyntheticsTestOptions().ci(newSyntheticsTestCiOptions().executionRule(SyntheticsTestExecutionRule.BLOCKING)).deviceIds(Collections.singletonList("chrome.laptop_large")).httpVersion(SyntheticsTestOptionsHTTPVersion.HTTP1).monitorOptions(newSyntheticsTestOptionsMonitorOptions().notificationPresetName(SyntheticsTestOptionsMonitorOptionsNotificationPresetName.SHOW_ALL)).restrictedRoles(Collections.singletonList("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")).retry(newSyntheticsTestOptionsRetry()).rumSettings(newSyntheticsBrowserTestRumSettings().applicationId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").clientTokenId(12345L).isEnabled(true)).scheduling(newSyntheticsTestOptionsScheduling().timeframes(Arrays.asList(newSyntheticsTestOptionsSchedulingTimeframe().day(1).from("07:00").to("16:00"),newSyntheticsTestOptionsSchedulingTimeframe().day(3).from("07:00").to("16:00"))).timezone("America/New_York"))).status(SyntheticsTestPauseStatus.LIVE).steps(Collections.singletonList(newSyntheticsStep().type(SyntheticsStepType.ASSERT_ELEMENT_CONTENT))).tags(Collections.singletonList("env:prod")).type(SyntheticsBrowserTestType.BROWSER);try{SyntheticsBrowserTestresult=apiInstance.updateBrowserTest("public_id",body);System.out.println(result);}catch(ApiExceptione){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();}}}
// Edit a browser test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuth;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthWeb;usedatadog_api_client::datadogV1::model::SyntheticsBasicAuthWebType;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTest;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestConfig;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestRumSettings;usedatadog_api_client::datadogV1::model::SyntheticsBrowserTestType;usedatadog_api_client::datadogV1::model::SyntheticsBrowserVariable;usedatadog_api_client::datadogV1::model::SyntheticsBrowserVariableType;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariable;usedatadog_api_client::datadogV1::model::SyntheticsConfigVariableType;usedatadog_api_client::datadogV1::model::SyntheticsStep;usedatadog_api_client::datadogV1::model::SyntheticsStepType;usedatadog_api_client::datadogV1::model::SyntheticsTestCallType;usedatadog_api_client::datadogV1::model::SyntheticsTestCiOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestExecutionRule;usedatadog_api_client::datadogV1::model::SyntheticsTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsHTTPVersion;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsMonitorOptions;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsMonitorOptionsNotificationPresetName;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsScheduling;usedatadog_api_client::datadogV1::model::SyntheticsTestOptionsSchedulingTimeframe;usedatadog_api_client::datadogV1::model::SyntheticsTestPauseStatus;usedatadog_api_client::datadogV1::model::SyntheticsTestRequest;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestBodyFile;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestBodyType;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestCertificate;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestCertificateItem;usedatadog_api_client::datadogV1::model::SyntheticsTestRequestProxy;#[tokio::main]asyncfnmain(){letbody=SyntheticsBrowserTest::new(SyntheticsBrowserTestConfig::new(vec![],SyntheticsTestRequest::new().basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthWeb(Box::new(SyntheticsBasicAuthWeb::new("PaSSw0RD!".to_string(),"my_username".to_string()).type_(SyntheticsBasicAuthWebType::WEB),))).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).proxy(SyntheticsTestRequestProxy::new("https://example.com".to_string(),)).service("Greeter".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().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()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.update_browser_test("public_id".to_string(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Edit a browser test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: 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",proxy:{url:"https://example.com",},service:"Greeter",url:"https://example.com",},variables:[{name:"VARIABLE_NAME",type:"text",},],},locations:["aws:eu-west-3"],message:"",name:"Example test name",options:{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));
Object containing details about your Synthetic test.
Expand All
Campo
Tipo
Descripción
config
object
Configuration object for a Synthetic test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
creator
object
Object describing the creator of the shared element.
email
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
locations
[string]
Array of locations used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name
string
Name of the test.
options
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The test public ID.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
steps
[object]
For browser test, the steps of the test.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type
enum
Type of the Synthetic test, either api or browser.
Allowed enum values: api,browser,mobile
// Patch a Synthetic test returns "OK" response
packagemainimport("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")funcmain(){// there is a valid "synthetics_api_test" in the system
SyntheticsAPITestPublicID:=os.Getenv("SYNTHETICS_API_TEST_PUBLIC_ID")body:=datadogV1.SyntheticsPatchTestBody{Data:[]datadogV1.SyntheticsPatchTestOperation{{Op:datadogV1.SYNTHETICSPATCHTESTOPERATIONNAME_REPLACE.Ptr(),Path:datadog.PtrString("/name"),Value:"New test name",},{Op:datadogV1.SYNTHETICSPATCHTESTOPERATIONNAME_REMOVE.Ptr(),Path:datadog.PtrString("/config/assertions/0"),},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.PatchTest(ctx,SyntheticsAPITestPublicID,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.PatchTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.PatchTest`:\n%s\n",responseContent)}
// Patch a Synthetic test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsPatchTestBody;importcom.datadog.api.client.v1.model.SyntheticsPatchTestOperation;importcom.datadog.api.client.v1.model.SyntheticsPatchTestOperationName;importcom.datadog.api.client.v1.model.SyntheticsTestDetails;importjava.util.Arrays;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "synthetics_api_test" in the systemStringSYNTHETICS_API_TEST_PUBLIC_ID=System.getenv("SYNTHETICS_API_TEST_PUBLIC_ID");SyntheticsPatchTestBodybody=newSyntheticsPatchTestBody().data(Arrays.asList(newSyntheticsPatchTestOperation().op(SyntheticsPatchTestOperationName.REPLACE).path("/name").value("New test name"),newSyntheticsPatchTestOperation().op(SyntheticsPatchTestOperationName.REMOVE).path("/config/assertions/0")));try{SyntheticsTestDetailsresult=apiInstance.patchTest(SYNTHETICS_API_TEST_PUBLIC_ID,body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#patchTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Patch a Synthetic test returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_patch_test_bodyimportSyntheticsPatchTestBodyfromdatadog_api_client.v1.model.synthetics_patch_test_operationimportSyntheticsPatchTestOperationfromdatadog_api_client.v1.model.synthetics_patch_test_operation_nameimportSyntheticsPatchTestOperationName# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=environ["SYNTHETICS_API_TEST_PUBLIC_ID"]body=SyntheticsPatchTestBody(data=[SyntheticsPatchTestOperation(op=SyntheticsPatchTestOperationName.REPLACE,path="/name",value="New test name",),SyntheticsPatchTestOperation(op=SyntheticsPatchTestOperationName.REMOVE,path="/config/assertions/0",),],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.patch_test(public_id=SYNTHETICS_API_TEST_PUBLIC_ID,body=body)print(response)
# Patch a Synthetic test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=ENV["SYNTHETICS_API_TEST_PUBLIC_ID"]body=DatadogAPIClient::V1::SyntheticsPatchTestBody.new({data:[DatadogAPIClient::V1::SyntheticsPatchTestOperation.new({op:DatadogAPIClient::V1::SyntheticsPatchTestOperationName::REPLACE,path:"/name",value:"New test name",}),DatadogAPIClient::V1::SyntheticsPatchTestOperation.new({op:DatadogAPIClient::V1::SyntheticsPatchTestOperationName::REMOVE,path:"/config/assertions/0",}),],})papi_instance.patch_test(SYNTHETICS_API_TEST_PUBLIC_ID,body)
// Patch a Synthetic test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsPatchTestBody;usedatadog_api_client::datadogV1::model::SyntheticsPatchTestOperation;usedatadog_api_client::datadogV1::model::SyntheticsPatchTestOperationName;useserde_json::Value;#[tokio::main]asyncfnmain(){// there is a valid "synthetics_api_test" in the system
letsynthetics_api_test_public_id=std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();letbody=SyntheticsPatchTestBody::new().data(vec![SyntheticsPatchTestOperation::new().op(SyntheticsPatchTestOperationName::REPLACE).path("/name".to_string()).value(Value::from("New test name")),SyntheticsPatchTestOperation::new().op(SyntheticsPatchTestOperationName::REMOVE).path("/config/assertions/0".to_string()),]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.patch_test(synthetics_api_test_public_id.clone(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Patch a Synthetic test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "synthetics_api_test" in the system
constSYNTHETICS_API_TEST_PUBLIC_ID=process.env.SYNTHETICS_API_TEST_PUBLIC_IDasstring;constparams: v1.SyntheticsApiPatchTestRequest={body:{data:[{op:"replace",path:"/name",value:"New test name",},{op:"remove",path:"/config/assertions/0",},],},publicId: SYNTHETICS_API_TEST_PUBLIC_ID,};apiInstance.patchTest(params).then((data: v1.SyntheticsTestDetails)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Pause or start a test returns "OK - Returns a boolean indicating if the update was successful." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_test_pause_statusimportSyntheticsTestPauseStatusfromdatadog_api_client.v1.model.synthetics_update_test_pause_status_payloadimport(SyntheticsUpdateTestPauseStatusPayload,)body=SyntheticsUpdateTestPauseStatusPayload(new_status=SyntheticsTestPauseStatus.LIVE,)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.update_test_pause_status(public_id="public_id",body=body)print(response)
# Pause or start a test returns "OK - Returns a boolean indicating if the update was successful." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsUpdateTestPauseStatusPayload.new({new_status:DatadogAPIClient::V1::SyntheticsTestPauseStatus::LIVE,})papi_instance.update_test_pause_status("public_id",body)
// Pause or start a test returns "OK - Returns a boolean indicating if the update was successful." response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsUpdateTestPauseStatusPayload{NewStatus:datadogV1.SYNTHETICSTESTPAUSESTATUS_LIVE.Ptr(),}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.UpdateTestPauseStatus(ctx,"public_id",body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.UpdateTestPauseStatus`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.UpdateTestPauseStatus`:\n%s\n",responseContent)}
// Pause or start a test returns "OK - Returns a boolean indicating if the update was successful."// responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsTestPauseStatus;importcom.datadog.api.client.v1.model.SyntheticsUpdateTestPauseStatusPayload;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsUpdateTestPauseStatusPayloadbody=newSyntheticsUpdateTestPauseStatusPayload().newStatus(SyntheticsTestPauseStatus.LIVE);try{Booleanresult=apiInstance.updateTestPauseStatus("public_id",body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#updateTestPauseStatus");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Pause or start a test returns "OK - Returns a boolean indicating if the update
// was successful." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsTestPauseStatus;usedatadog_api_client::datadogV1::model::SyntheticsUpdateTestPauseStatusPayload;#[tokio::main]asyncfnmain(){letbody=SyntheticsUpdateTestPauseStatusPayload::new().new_status(SyntheticsTestPauseStatus::LIVE);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.update_test_pause_status("public_id".to_string(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Pause or start a test returns "OK - Returns a boolean indicating if the update was successful." response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiUpdateTestPauseStatusRequest={body:{newStatus:"live",},publicId:"public_id",};apiInstance.updateTestPauseStatus(params).then((data: boolean)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Trigger tests from CI/CD pipelines returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiTriggerCITestsRequest={body:{tests:[{basicAuth:{password:"PaSSw0RD!",type:"web",username:"my_username",},deviceIds:["chrome.laptop_large"],locations:["aws:eu-west-3"],metadata:{ci:{pipeline:{},provider:{},},git:{},},publicId:"aaa-aaa-aaa",retry:{},},],},};apiInstance.triggerCITests(params).then((data: v1.SyntheticsTriggerCITestsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Trigger Synthetic tests returns "OK" response
packagemainimport("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")funcmain(){// there is a valid "synthetics_api_test" in the system
SyntheticsAPITestPublicID:=os.Getenv("SYNTHETICS_API_TEST_PUBLIC_ID")body:=datadogV1.SyntheticsTriggerBody{Tests:[]datadogV1.SyntheticsTriggerTest{{PublicId:SyntheticsAPITestPublicID,},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.TriggerTests(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.TriggerTests`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.TriggerTests`:\n%s\n",responseContent)}
// Trigger Synthetic tests returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsTriggerBody;importcom.datadog.api.client.v1.model.SyntheticsTriggerCITestsResponse;importcom.datadog.api.client.v1.model.SyntheticsTriggerTest;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "synthetics_api_test" in the systemStringSYNTHETICS_API_TEST_PUBLIC_ID=System.getenv("SYNTHETICS_API_TEST_PUBLIC_ID");SyntheticsTriggerBodybody=newSyntheticsTriggerBody().tests(Collections.singletonList(newSyntheticsTriggerTest().publicId(SYNTHETICS_API_TEST_PUBLIC_ID)));try{SyntheticsTriggerCITestsResponseresult=apiInstance.triggerTests(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#triggerTests");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Trigger Synthetic tests returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_trigger_bodyimportSyntheticsTriggerBodyfromdatadog_api_client.v1.model.synthetics_trigger_testimportSyntheticsTriggerTest# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=environ["SYNTHETICS_API_TEST_PUBLIC_ID"]body=SyntheticsTriggerBody(tests=[SyntheticsTriggerTest(public_id=SYNTHETICS_API_TEST_PUBLIC_ID,),],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.trigger_tests(body=body)print(response)
# Trigger Synthetic tests returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=ENV["SYNTHETICS_API_TEST_PUBLIC_ID"]body=DatadogAPIClient::V1::SyntheticsTriggerBody.new({tests:[DatadogAPIClient::V1::SyntheticsTriggerTest.new({public_id:SYNTHETICS_API_TEST_PUBLIC_ID,}),],})papi_instance.trigger_tests(body)
// Trigger Synthetic tests returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsTriggerBody;usedatadog_api_client::datadogV1::model::SyntheticsTriggerTest;#[tokio::main]asyncfnmain(){// there is a valid "synthetics_api_test" in the system
letsynthetics_api_test_public_id=std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();letbody=SyntheticsTriggerBody::new(vec![SyntheticsTriggerTest::new(synthetics_api_test_public_id.clone(),)]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.trigger_tests(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Trigger Synthetic tests returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "synthetics_api_test" in the system
constSYNTHETICS_API_TEST_PUBLIC_ID=process.env.SYNTHETICS_API_TEST_PUBLIC_IDasstring;constparams: v1.SyntheticsApiTriggerTestsRequest={body:{tests:[{publicId: SYNTHETICS_API_TEST_PUBLIC_ID,},],},};apiInstance.triggerTests(params).then((data: v1.SyntheticsTriggerCITestsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Object containing details about a Synthetic mobile test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic mobile test.
initialApplicationArguments
object
Initial application arguments for a mobile test.
<any-key>
string
A single application argument.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
device_ids
[string]
Array with the different device IDs used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
allowApplicationCrash
boolean
A boolean to set if an application crash would mark the test as failed.
bindings
[object]
Array of bindings used for the mobile test.
principals
[string]
List of principals for a mobile test binding.
relation
enum
The type of relation for the binding.
Allowed enum values: editor,viewer
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
defaultStepTimeout
int32
The default timeout for steps in the test (in seconds).
device_ids [required]
[string]
For mobile test, array with the different device IDs used to run the test.
disableAutoAcceptAlert
boolean
A boolean to disable auto accepting alerts.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
mobileApplication [required]
object
Mobile application for mobile synthetics test.
applicationId [required]
string
Application ID of the mobile application.
referenceId [required]
string
Reference ID of the mobile application.
referenceType [required]
enum
Reference type for the mobile application for a mobile synthetics test.
Allowed enum values: latest,version
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every [required]
int64
The frequency at which to run the Synthetic test (in seconds).
verbosity
int32
The level of verbosity for the mobile test. This field can not be set by a user.
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
hasNewStepElement
boolean
A boolean set to determine if the step has a new step element.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name [required]
string
The name of the step.
noScreenshot
boolean
A boolean set to not take a screenshot for the step.
params [required]
object
The parameters of a mobile step.
check
enum
Type of assertion to apply in an API test.
Allowed enum values: equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty
delay
int64
Number of milliseconds to wait between inputs in a typeText step type.
direction
enum
The direction of the scroll for a scrollToElement step type.
Allowed enum values: up,down,left,right
element
object
Information about the element used for a step.
context
string
Context of the element.
contextType
enum
Type of the context that the element is in.
Allowed enum values: native,web
elementDescription
string
Description of the element.
multiLocator
object
Multi-locator to find the element.
relativePosition
object
Position of the action relative to the element.
x
double
The relativePosition on the x axis for the element.
y
double
The relativePosition on the y axis for the element.
textContent
string
Text content of the element.
userLocator
object
User locator to find the element.
failTestOnCannotLocate
boolean
Whether if the test should fail if the element cannot be found.
values
[object]
Values of the user locator.
type
enum
Type of a user locator.
Allowed enum values: accessibility-id,id,ios-predicate-string,ios-class-chain,xpath
value
string
Value of a user locator.
viewName
string
Name of the view of the element.
enabled
boolean
Boolean to change the state of the wifi for a toggleWiFi step type.
maxScrolls
int64
Maximum number of scrolls to do for a scrollToElement step type.
positions
[object]
List of positions for the flick step type. The maximum is 10 flicks per step
x
double
The x position for the flick.
y
double
The y position for the flick.
subtestPublicId
string
Public ID of the test to be played as part of a playSubTest step type.
value
<oneOf>
Values used in the step for in multiple step types.
Option 1
string
Value used in the step for in multiple step types.
Option 2
int64
Value used in the step for in multiple step types.
variable
object
Variable object for extractVariable step type.
example [required]
string
An example for the variable.
name [required]
string
The variable name.
withEnter
boolean
Boolean to indicate if Enter should be pressed at the end of the typeText step type.
x
double
Amount to scroll by on the x axis for a scroll step type.
y
double
Amount to scroll by on the y axis for a scroll step type.
publicId
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type [required]
enum
Step type used in your mobile Synthetic test.
Allowed enum values: assertElementContent,assertScreenContains,assertScreenLacks,doubleTap,extractVariable,flick,openDeeplink,playSubTest,pressBack,restartApplication,rotate,scroll,scrollToElement,tap,toggleWiFi,typeText,wait
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, mobile.
Allowed enum values: mobile
default: mobile
{"config":{"initialApplicationArguments":{"<any-key>":"string"},"variables":[{"example":"string","id":"string","name":"VARIABLE_NAME","pattern":"string","secure":false,"type":"text"}]},"device_ids":["chrome.laptop_large"],"message":"Notification message","monitor_id":12345678,"name":"Example test name","options":{"allowApplicationCrash":false,"bindings":[{"principals":[],"relation":"string"}],"ci":{"executionRule":"blocking"},"defaultStepTimeout":"integer","device_ids":["synthetics:mobile:device:apple_ipad_10th_gen_2022_ios_16"],"disableAutoAcceptAlert":false,"min_failure_duration":"integer","mobileApplication":{"applicationId":"00000000-0000-0000-0000-aaaaaaaaaaaa","referenceId":"00000000-0000-0000-0000-aaaaaaaaaaab","referenceType":"latest"},"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"},"scheduling":{"timeframes":[{"day":1,"from":"07:00","to":"16:00"}],"timezone":"America/New_York"},"tick_every":300,"verbosity":"integer"},"public_id":"123-abc-456","status":"live","steps":[{"allowFailure":false,"hasNewStepElement":false,"isCritical":false,"name":"","noScreenshot":false,"params":{"check":"string","delay":"integer","direction":"string","element":{"context":"string","contextType":"string","elementDescription":"string","multiLocator":{},"relativePosition":{"x":"number","y":"number"},"textContent":"string","userLocator":{"failTestOnCannotLocate":false,"values":[{"type":"string","value":"string"}]},"viewName":"string"},"enabled":false,"maxScrolls":"integer","positions":[{"x":"number","y":"number"}],"subtestPublicId":"string","value":{"description":"undefined","type":"undefined"},"variable":{"example":"","name":"VAR_NAME"},"withEnter":false,"x":"number","y":"number"},"publicId":"pub-lic-id0","timeout":"integer","type":"assertElementContent"}],"tags":["env:production"],"type":"mobile"}
"""
Get a Mobile test returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApi# there is a valid "synthetics_mobile_test" in the systemSYNTHETICS_MOBILE_TEST_PUBLIC_ID=environ["SYNTHETICS_MOBILE_TEST_PUBLIC_ID"]configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_mobile_test(public_id=SYNTHETICS_MOBILE_TEST_PUBLIC_ID,)print(response)
# Get a Mobile test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "synthetics_mobile_test" in the systemSYNTHETICS_MOBILE_TEST_PUBLIC_ID=ENV["SYNTHETICS_MOBILE_TEST_PUBLIC_ID"]papi_instance.get_mobile_test(SYNTHETICS_MOBILE_TEST_PUBLIC_ID)
// Get a Mobile test returns "OK" response
packagemainimport("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")funcmain(){// there is a valid "synthetics_mobile_test" in the system
SyntheticsMobileTestPublicID:=os.Getenv("SYNTHETICS_MOBILE_TEST_PUBLIC_ID")ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetMobileTest(ctx,SyntheticsMobileTestPublicID)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetMobileTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetMobileTest`:\n%s\n",responseContent)}
// Get a Mobile test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsMobileTest;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "synthetics_mobile_test" in the systemStringSYNTHETICS_MOBILE_TEST_PUBLIC_ID=System.getenv("SYNTHETICS_MOBILE_TEST_PUBLIC_ID");try{SyntheticsMobileTestresult=apiInstance.getMobileTest(SYNTHETICS_MOBILE_TEST_PUBLIC_ID);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getMobileTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get a Mobile test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){// there is a valid "synthetics_mobile_test" in the system
letsynthetics_mobile_test_public_id=std::env::var("SYNTHETICS_MOBILE_TEST_PUBLIC_ID").unwrap();letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_mobile_test(synthetics_mobile_test_public_id.clone()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a Mobile test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "synthetics_mobile_test" in the system
constSYNTHETICS_MOBILE_TEST_PUBLIC_ID=process.env.SYNTHETICS_MOBILE_TEST_PUBLIC_IDasstring;constparams: v1.SyntheticsApiGetMobileTestRequest={publicId: SYNTHETICS_MOBILE_TEST_PUBLIC_ID,};apiInstance.getMobileTest(params).then((data: v1.SyntheticsMobileTest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Object containing details about a Synthetic API test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic API test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
steps
[ <oneOf>]
When the test subtype is multi, the steps of the test.
Option 1
object
The Test step used in a Synthetic multi-step API test.
allowFailure
boolean
Determines whether or not to continue with test if this step fails.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
exitIfSucceed
boolean
Determines whether or not to exit the test if the step succeeds.
extractedValues
[object]
Array of values to parse and save as variables from the response.
field
string
When type is http_header or grpc_metadata, name of the header or metadatum to extract.
name
string
Name of the variable to extract.
parser
object
Details of the parser to use for the global variable.
type [required]
enum
Type of parser for a Synthetic global variable from a synthetics test.
Allowed enum values: raw,json_path,regex,x_path
value
string
Regex or JSON path used for the parser. Not used with type raw.
secure
boolean
Determines whether or not the extracted value will be obfuscated.
type
enum
Property of the Synthetic Test Response to extract into a local variable.
Allowed enum values: grpc_message,grpc_metadata,http_body,http_header,http_status_code
extractedValuesFromScript
string
Generate variables using JavaScript.
isCritical
boolean
Determines whether or not to consider the entire test as failed if this step fails.
Can be used only if allowFailure is true.
name [required]
string
The name of the step.
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
subtype [required]
enum
The subtype of the Synthetic multi-step API test step.
Allowed enum values: http,grpc
Option 2
object
The Wait step used in a Synthetic multi-step API test.
name [required]
string
The name of the step.
subtype [required]
enum
The subtype of the Synthetic multi-step API wait step.
Allowed enum values: wait
value [required]
int32
The time to wait in seconds. Minimum value: 0. Maximum value: 180.
variablesFromScript
string
Variables defined from JavaScript code.
locations [required]
[string]
Array of locations used to run the test.
message [required]
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID for the test.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type [required]
enum
Type of the Synthetic test, api.
Allowed enum values: api
default: api
{"config":{"assertions":[[]],"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","url":"https://example.com"},"steps":[],"variablesFromScript":"dd.variable.set(\"FOO\", \"foo\")"},"locations":["aws:eu-west-3"],"message":"Notification message","monitor_id":12345678,"name":"Example test name","options":{"accept_self_signed":false,"allow_insecure":false,"checkCertificateRevocation":false,"ci":{"executionRule":"blocking"},"device_ids":["chrome.laptop_large"],"disableCors":false,"disableCsp":false,"enableProfiling":false,"enableSecurityTesting":false,"follow_redirects":false,"httpVersion":"string","ignoreServerCertificateError":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":"123-abc-456","status":"live","subtype":"http","tags":["env:production"],"type":"api"}
"""
Get an API test returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_api_test(public_id="public_id",)print(response)
# Get an API test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_api_test("public_id")
// Get an API test returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetAPITest(ctx,"public_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetAPITest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetAPITest`:\n%s\n",responseContent)}
// Get an API test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsAPITest;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsAPITestresult=apiInstance.getAPITest("public_id");System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getAPITest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get an API test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_api_test("public_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get an API test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetAPITestRequest={publicId:"public_id",};apiInstance.getAPITest(params).then((data: v1.SyntheticsAPITest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Obtén la configuración detallada (incluyendo los pasos), asociada a
un test de navegador Synthetic.
This endpoint requires the synthetics_read permission.
OAuth apps require the synthetics_read authorization scope to access this endpoint.
Object containing details about a Synthetic browser test.
Expand All
Campo
Tipo
Descripción
config [required]
object
Configuration object for a Synthetic browser test.
assertions [required]
[ <oneOf>]
Array of assertions used for the test.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request [required]
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
setCookie
string
Cookies to be used for the request, using the Set-Cookie syntax.
variables
[object]
Array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
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.
name [required]
string
Name of the test.
options [required]
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The public ID of the test.
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.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,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
{"config":{"assertions":[{"operator":"contains","property":"string","target":123456,"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","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,"checkCertificateRevocation":false,"ci":{"executionRule":"blocking"},"device_ids":["chrome.laptop_large"],"disableCors":false,"disableCsp":false,"enableProfiling":false,"enableSecurityTesting":false,"follow_redirects":false,"httpVersion":"string","ignoreServerCertificateError":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"}
"""
Get a browser test returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_browser_test(public_id="public_id",)print(response)
# Get a browser test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_browser_test("public_id")
// Get a browser test returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetBrowserTest(ctx,"public_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetBrowserTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetBrowserTest`:\n%s\n",responseContent)}
// Get a browser test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsBrowserTest;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsBrowserTestresult=apiInstance.getBrowserTest("public_id");System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getBrowserTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get a browser test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_browser_test("public_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a browser test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetBrowserTestRequest={publicId:"public_id",};apiInstance.getBrowserTest(params).then((data: v1.SyntheticsBrowserTest)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get the on-demand concurrency cap returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_on_demand_concurrency_cap()print(response)
# Get the on-demand concurrency cap returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::SyntheticsAPI.newpapi_instance.get_on_demand_concurrency_cap()
// Get the on-demand concurrency cap returns "OK" response
packagemainimport("context""encoding/json""fmt""os""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewSyntheticsApi(apiClient)resp,r,err:=api.GetOnDemandConcurrencyCap(ctx)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetOnDemandConcurrencyCap`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetOnDemandConcurrencyCap`:\n%s\n",responseContent)}
// Get the on-demand concurrency cap returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.SyntheticsApi;importcom.datadog.api.client.v2.model.OnDemandConcurrencyCapResponse;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{OnDemandConcurrencyCapResponseresult=apiInstance.getOnDemandConcurrencyCap();System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getOnDemandConcurrencyCap");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get the on-demand concurrency cap returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_on_demand_concurrency_cap().await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<API-KEY>"DD_APP_KEY="<APP-KEY>"cargo run
/**
* Get the on-demand concurrency cap returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.SyntheticsApi(configuration);apiInstance.getOnDemandConcurrencyCap().then((data: v2.OnDemandConcurrencyCapResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Object containing an array of Synthetic tests configuration.
Expand All
Campo
Tipo
Descripción
tests
[object]
Array of Synthetic tests configuration.
config
object
Configuration object for a Synthetic test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
creator
object
Object describing the creator of the shared element.
email
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
locations
[string]
Array of locations used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name
string
Name of the test.
options
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The test public ID.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
steps
[object]
For browser test, the steps of the test.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type
enum
Type of the Synthetic test, either api or browser.
Allowed enum values: api,browser,mobile
"""
Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.list_tests()print(response)
# Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.list_tests()
// Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests." response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.ListTests(ctx,*datadogV1.NewListTestsOptionalParameters())iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.ListTests`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.ListTests`:\n%s\n",responseContent)}
// Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests."// responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsListTestsResponse;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsListTestsResponseresult=apiInstance.listTests();System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#listTests");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get the list of all Synthetic tests returns "OK - Returns the list of all
// Synthetic tests." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::ListTestsOptionalParams;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.list_tests(ListTestsOptionalParams::default()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get the list of all Synthetic tests returns "OK - Returns the list of all Synthetic tests." response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);apiInstance.listTests().then((data: v1.SyntheticsListTestsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Save new value for on-demand concurrency cap returns "OK" response
packagemainimport("context""encoding/json""fmt""os""github.com/DataDog/datadog-api-client-go/v2/api/datadog""github.com/DataDog/datadog-api-client-go/v2/api/datadogV2")funcmain(){body:=datadogV2.OnDemandConcurrencyCapAttributes{OnDemandConcurrencyCap:datadog.PtrFloat64(20),}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewSyntheticsApi(apiClient)resp,r,err:=api.SetOnDemandConcurrencyCap(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.SetOnDemandConcurrencyCap`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.SetOnDemandConcurrencyCap`:\n%s\n",responseContent)}
// Save new value for on-demand concurrency cap returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.SyntheticsApi;importcom.datadog.api.client.v2.model.OnDemandConcurrencyCapAttributes;importcom.datadog.api.client.v2.model.OnDemandConcurrencyCapResponse;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);OnDemandConcurrencyCapAttributesbody=newOnDemandConcurrencyCapAttributes().onDemandConcurrencyCap(20.0);try{OnDemandConcurrencyCapResponseresult=apiInstance.setOnDemandConcurrencyCap(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#setOnDemandConcurrencyCap");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Save new value for on-demand concurrency cap returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v2.model.on_demand_concurrency_cap_attributesimportOnDemandConcurrencyCapAttributesbody=OnDemandConcurrencyCapAttributes(on_demand_concurrency_cap=20.0,)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.set_on_demand_concurrency_cap(body=body)print(response)
# Save new value for on-demand concurrency cap returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::SyntheticsAPI.newbody=DatadogAPIClient::V2::OnDemandConcurrencyCapAttributes.new({on_demand_concurrency_cap:20,})papi_instance.set_on_demand_concurrency_cap(body)
// Save new value for on-demand concurrency cap returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV2::model::OnDemandConcurrencyCapAttributes;#[tokio::main]asyncfnmain(){letbody=OnDemandConcurrencyCapAttributes::new().on_demand_concurrency_cap(20.0asf64);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.set_on_demand_concurrency_cap(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<API-KEY>"DD_APP_KEY="<APP-KEY>"cargo run
/**
* Save new value for on-demand concurrency cap returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.SyntheticsApi(configuration);constparams: v2.SyntheticsApiSetOnDemandConcurrencyCapRequest={body:{onDemandConcurrencyCap: 20,},};apiInstance.setOnDemandConcurrencyCap(params).then((data: v2.OnDemandConcurrencyCapResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
check_time
double
When the API test was conducted.
check_version
int64
Version of the API test used.
probe_dc
string
Locations for which to query the API test results.
result
object
Object containing results for your Synthetic API test.
cert
object
Object describing the SSL certificate used for a Synthetic test.
cipher
string
Cipher used for the connection.
exponent
double
Exponent associated to the certificate.
extKeyUsage
[string]
Array of extensions and details used for the certificate.
fingerprint
string
MD5 digest of the DER-encoded Certificate information.
fingerprint256
string
SHA-1 digest of the DER-encoded Certificate information.
issuer
object
Object describing the issuer of a SSL certificate.
C
string
Country Name that issued the certificate.
CN
string
Common Name that issued certificate.
L
string
Locality that issued the certificate.
O
string
Organization that issued the certificate.
OU
string
Organizational Unit that issued the certificate.
ST
string
State Or Province Name that issued the certificate.
modulus
string
Modulus associated to the SSL certificate private key.
protocol
string
TLS protocol used for the test.
serialNumber
string
Serial Number assigned by Symantec to the SSL certificate.
subject
object
Object describing the SSL certificate used for the test.
C
string
Country Name associated with the certificate.
CN
string
Common Name that associated with the certificate.
L
string
Locality associated with the certificate.
O
string
Organization associated with the certificate.
OU
string
Organizational Unit associated with the certificate.
ST
string
State Or Province Name associated with the certificate.
altName
string
Subject Alternative Name associated with the certificate.
validFrom
date-time
Date from which the SSL certificate is valid.
validTo
date-time
Date until which the SSL certificate is valid.
eventType
enum
Status of a Synthetic test.
Allowed enum values: not_scheduled,scheduled,finished,finished_with_error
failure
object
The API test failure details.
code
enum
Error code that can be returned by a Synthetic test.
Allowed enum values: BODY_TOO_LARGE,DENIED,TOO_MANY_REDIRECTS,AUTHENTICATION_ERROR,DECRYPTION,INVALID_CHAR_IN_HEADER,HEADER_TOO_LARGE,HEADERS_INCOMPATIBLE_CONTENT_LENGTH,INVALID_REQUEST,REQUIRES_UPDATE,UNESCAPED_CHARACTERS_IN_REQUEST_PATH,MALFORMED_RESPONSE,INCORRECT_ASSERTION,CONNREFUSED,CONNRESET,DNS,HOSTUNREACH,NETUNREACH,TIMEOUT,SSL,OCSP,INVALID_TEST,TUNNEL,WEBSOCKET,UNKNOWN,INTERNAL_ERROR
The time in millisecond spent during redirections.
ssl
double
The duration in millisecond of the TLS handshake.
tcp
double
Time in millisecond to establish the TCP connection.
total
double
The overall time in millisecond the request took to be processed.
wait
double
Time spent in millisecond waiting for a response.
result_id
string
ID of the API test result.
status
enum
The status of your Synthetic monitor.
O for not triggered
1 for triggered
2 for no data
Allowed enum values: 0,1,2
{"check":{"config":{"assertions":[{"operator":"contains","property":"string","target":123456,"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","url":"https://example.com"},"variables":[{"example":"string","id":"string","name":"VARIABLE_NAME","pattern":"string","secure":false,"type":"text"}]}},"check_time":"number","check_version":"integer","probe_dc":"string","result":{"cert":{"cipher":"string","exponent":"number","extKeyUsage":[],"fingerprint":"string","fingerprint256":"string","issuer":{"C":"string","CN":"string","L":"string","O":"string","OU":"string","ST":"string"},"modulus":"string","protocol":"string","serialNumber":"string","subject":{"C":"string","CN":"string","L":"string","O":"string","OU":"string","ST":"string","altName":"string"},"validFrom":"2019-09-19T10:00:00.000Z","validTo":"2019-09-19T10:00:00.000Z"},"eventType":"string","failure":{"code":"string","message":"Error during DNS resolution (ENOTFOUND)."},"httpStatusCode":"integer","requestHeaders":{"<any-key>":{}},"responseBody":"string","responseHeaders":{"<any-key>":"undefined"},"responseSize":"integer","timings":{"dns":"number","download":"number","firstByte":"number","handshake":"number","redirect":"number","ssl":"number","tcp":"number","total":"number","wait":"number"}},"result_id":"string","status":"integer"}
"""
Get an API test result returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_api_test_result(public_id="hwb-332-3xe",result_id="3420446318379485707",)print(response)
# Get an API test result returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_api_test_result("hwb-332-3xe","3420446318379485707")
// Get an API test result returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetAPITestResult(ctx,"hwb-332-3xe","3420446318379485707")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetAPITestResult`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetAPITestResult`:\n%s\n",responseContent)}
// Get an API test result returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsAPITestResultFull;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsAPITestResultFullresult=apiInstance.getAPITestResult("hwb-332-3xe","3420446318379485707");System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getAPITestResult");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get an API test result returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_api_test_result("hwb-332-3xe".to_string(),"3420446318379485707".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get an API test result returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetAPITestResultRequest={publicId:"hwb-332-3xe",resultId:"3420446318379485707",};apiInstance.getAPITestResult(params).then((data: v1.SyntheticsAPITestResultFull)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
check_time
double
When the browser test was conducted.
check_version
int64
Version of the browser test used.
probe_dc
string
Location from which the browser test was performed.
result
object
Object containing results for your Synthetic browser test.
browserType
string
Type of browser device used for the browser test.
browserVersion
string
Browser version used for the browser test.
device
object
Object describing the device used to perform the Synthetic test.
height [required]
int64
Screen height of the device.
id [required]
string
The device ID.
isMobile
boolean
Whether or not the device is a mobile.
name [required]
string
The device name.
width [required]
int64
Screen width of the device.
duration
double
Global duration in second of the browser test.
error
string
Error returned for the browser test.
failure
object
The browser test failure details.
code
enum
Error code that can be returned by a Synthetic test.
Allowed enum values: API_REQUEST_FAILURE,ASSERTION_FAILURE,DOWNLOAD_FILE_TOO_LARGE,ELEMENT_NOT_INTERACTABLE,EMAIL_VARIABLE_NOT_DEFINED,EVALUATE_JAVASCRIPT,EVALUATE_JAVASCRIPT_CONTEXT,EXTRACT_VARIABLE,FORBIDDEN_URL,FRAME_DETACHED,INCONSISTENCIES,INTERNAL_ERROR,INVALID_TYPE_TEXT_DELAY,INVALID_URL,INVALID_VARIABLE_PATTERN,INVISIBLE_ELEMENT,LOCATE_ELEMENT,NAVIGATE_TO_LINK,OPEN_URL,PRESS_KEY,SERVER_CERTIFICATE,SELECT_OPTION,STEP_TIMEOUT,SUB_TEST_NOT_PASSED,TEST_TIMEOUT,TOO_MANY_HTTP_REQUESTS,UNAVAILABLE_BROWSER,UNKNOWN,UNSUPPORTED_AUTH_SCHEMA,UPLOAD_FILES_ELEMENT_TYPE,UPLOAD_FILES_DIALOG,UPLOAD_FILES_DYNAMIC_ELEMENT,UPLOAD_FILES_NAME
message
string
The browser test error message.
passed
boolean
Whether or not the browser test was conducted.
receivedEmailCount
int64
The amount of email received during the browser test.
startUrl
string
Starting URL for the browser test.
stepDetails
[object]
Array containing the different browser test steps.
allowFailure
boolean
Whether or not the step was allowed to fail.
browserErrors
[object]
Array of errors collected for a browser test.
description [required]
string
Description of the error.
name [required]
string
Name of the error.
status
int64
Status Code of the error.
type [required]
enum
Error type returned by a browser test.
Allowed enum values: network,js
checkType
enum
Type of assertion to apply in an API test.
Allowed enum values: equals,notEquals,contains,notContains,startsWith,notStartsWith,greater,lower,greaterEquals,lowerEquals,matchRegex,between,isEmpty,notIsEmpty
description
string
Description of the test.
duration
double
Total duration in millisecond of the test.
error
string
Error returned by the test.
failure
object
The browser test failure details.
code
enum
Error code that can be returned by a Synthetic test.
Allowed enum values: API_REQUEST_FAILURE,ASSERTION_FAILURE,DOWNLOAD_FILE_TOO_LARGE,ELEMENT_NOT_INTERACTABLE,EMAIL_VARIABLE_NOT_DEFINED,EVALUATE_JAVASCRIPT,EVALUATE_JAVASCRIPT_CONTEXT,EXTRACT_VARIABLE,FORBIDDEN_URL,FRAME_DETACHED,INCONSISTENCIES,INTERNAL_ERROR,INVALID_TYPE_TEXT_DELAY,INVALID_URL,INVALID_VARIABLE_PATTERN,INVISIBLE_ELEMENT,LOCATE_ELEMENT,NAVIGATE_TO_LINK,OPEN_URL,PRESS_KEY,SERVER_CERTIFICATE,SELECT_OPTION,STEP_TIMEOUT,SUB_TEST_NOT_PASSED,TEST_TIMEOUT,TOO_MANY_HTTP_REQUESTS,UNAVAILABLE_BROWSER,UNKNOWN,UNSUPPORTED_AUTH_SCHEMA,UPLOAD_FILES_ELEMENT_TYPE,UPLOAD_FILES_DIALOG,UPLOAD_FILES_DYNAMIC_ELEMENT,UPLOAD_FILES_NAME
message
string
The browser test error message.
playingTab
enum
Navigate between different tabs for your browser test.
Allowed enum values: -1,0,1,2,3
screenshotBucketKey
boolean
Whether or not screenshots where collected by the test.
skipped
boolean
Whether or not to skip this step.
snapshotBucketKey
boolean
Whether or not snapshots where collected by the test.
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
url
string
URL to perform the step against.
value
Value for the step.
vitalsMetrics
[object]
Array of Core Web Vitals metrics for the step.
cls
double
Cumulative Layout Shift.
lcp
double
Largest Contentful Paint in milliseconds.
url
string
URL attached to the metrics.
warnings
[object]
Warning collected that didn't failed the step.
message [required]
string
Message for the warning.
type [required]
enum
User locator used.
Allowed enum values: user_locator
thumbnailsBucketKey
boolean
Whether or not a thumbnail is associated with the browser test.
timeToInteractive
double
Time in second to wait before the browser test starts after
reaching the start URL.
result_id
string
ID of the browser test result.
status
enum
The status of your Synthetic monitor.
O for not triggered
1 for triggered
2 for no data
Allowed enum values: 0,1,2
{"check":{"config":{"assertions":[{"operator":"contains","property":"string","target":123456,"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":[],"compressedJsonDescriptor":"string","compressedProtoFile":"string","dnsServer":"string","dnsServerPort":"string","files":[{"bucketKey":"string","content":"string","name":"string","originalFileName":"string","size":"integer","type":"string"}],"follow_redirects":false,"headers":{"<any-key>":"string"},"host":"string","httpVersion":"string","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","url":"https://example.com"},"variables":[{"example":"string","id":"string","name":"VARIABLE_NAME","pattern":"string","secure":false,"type":"text"}]}},"check_time":"number","check_version":"integer","probe_dc":"string","result":{"browserType":"string","browserVersion":"string","device":{"height":0,"id":"chrome.laptop_large","isMobile":false,"name":"","width":0},"duration":"number","error":"string","failure":{"code":"string","message":"Error during DNS resolution (ENOTFOUND)."},"passed":false,"receivedEmailCount":"integer","startUrl":"string","stepDetails":[{"allowFailure":false,"browserErrors":[{"description":"Example error message","name":"Failed test","status":500,"type":"network"}],"checkType":"string","description":"string","duration":"number","error":"string","failure":{"code":"string","message":"Error during DNS resolution (ENOTFOUND)."},"playingTab":"integer","screenshotBucketKey":false,"skipped":false,"snapshotBucketKey":false,"stepId":"integer","subTestStepDetails":[],"timeToInteractive":"number","type":"assertElementContent","url":"string","value":"undefined","vitalsMetrics":[{"cls":"number","lcp":"number","url":"string"}],"warnings":[{"message":"","type":"user_locator"}]}],"thumbnailsBucketKey":false,"timeToInteractive":"number"},"result_id":"string","status":"integer"}
"""
Get a browser test result returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_browser_test_result(public_id="2yy-sem-mjh",result_id="5671719892074090418",)print(response)
# Get a browser test result returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_browser_test_result("2yy-sem-mjh","5671719892074090418")
// Get a browser test result returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetBrowserTestResult(ctx,"2yy-sem-mjh","5671719892074090418")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetBrowserTestResult`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetBrowserTestResult`:\n%s\n",responseContent)}
// Get a browser test result returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsBrowserTestResultFull;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsBrowserTestResultFullresult=apiInstance.getBrowserTestResult("2yy-sem-mjh","5671719892074090418");System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getBrowserTestResult");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get a browser test result returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_browser_test_result("2yy-sem-mjh".to_string(),"5671719892074090418".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a browser test result returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetBrowserTestResultRequest={publicId:"2yy-sem-mjh",resultId:"5671719892074090418",};apiInstance.getBrowserTestResult(params).then((data: v1.SyntheticsBrowserTestResultFull)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get an API test's latest results summaries returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_api_test_latest_results(public_id="hwb-332-3xe",)print(response)
# Get an API test's latest results summaries returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_api_test_latest_results("hwb-332-3xe")
// Get an API test's latest results summaries returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetAPITestLatestResults(ctx,"hwb-332-3xe",*datadogV1.NewGetAPITestLatestResultsOptionalParameters())iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetAPITestLatestResults`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetAPITestLatestResults`:\n%s\n",responseContent)}
// Get an API test's latest results summaries returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsGetAPITestLatestResultsResponse;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsGetAPITestLatestResultsResponseresult=apiInstance.getAPITestLatestResults("hwb-332-3xe");System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getAPITestLatestResults");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get an API test's latest results summaries returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::GetAPITestLatestResultsOptionalParams;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_api_test_latest_results("hwb-332-3xe".to_string(),GetAPITestLatestResultsOptionalParams::default(),).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get an API test's latest results summaries returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetAPITestLatestResultsRequest={publicId:"hwb-332-3xe",};apiInstance.getAPITestLatestResults(params).then((data: v1.SyntheticsGetAPITestLatestResultsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Obtén los últimos 150 resúmenes de los resultados de un determinado test de navegador Synthetic.
This endpoint requires the synthetics_read permission.
OAuth apps require the synthetics_read authorization scope to access this endpoint.
Argumentos
Parámetros de ruta
Nombre
Tipo
Descripción
public_id [required]
string
The public ID of the browser test for which to search results
for.
Cadenas de consulta
Nombre
Tipo
Descripción
from_ts
integer
Timestamp in milliseconds from which to start querying results.
to_ts
integer
Timestamp in milliseconds up to which to query results.
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a browser test's latest results summaries returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetBrowserTestLatestResultsRequest={publicId:"2yy-sem-mjh",};apiInstance.getBrowserTestLatestResults(params).then((data: v1.SyntheticsGetBrowserTestLatestResultsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get details of batch returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_synthetics_ci_batch(batch_id="batch_id",)print(response)
# Get details of batch returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_synthetics_ci_batch("batch_id")
// Get details of batch returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetSyntheticsCIBatch(ctx,"batch_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetSyntheticsCIBatch`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetSyntheticsCIBatch`:\n%s\n",responseContent)}
// Get details of batch returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_synthetics_ci_batch("batch_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get details of batch returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetSyntheticsCIBatchRequest={batchId:"batch_id",};apiInstance.getSyntheticsCIBatch(params).then((data: v1.SyntheticsBatchDetails)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Delete tests returns "OK." response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_delete_tests_payloadimportSyntheticsDeleteTestsPayload# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=environ["SYNTHETICS_API_TEST_PUBLIC_ID"]body=SyntheticsDeleteTestsPayload(public_ids=[SYNTHETICS_API_TEST_PUBLIC_ID,],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.delete_tests(body=body)print(response)
# Delete tests returns "OK." responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "synthetics_api_test" in the systemSYNTHETICS_API_TEST_PUBLIC_ID=ENV["SYNTHETICS_API_TEST_PUBLIC_ID"]body=DatadogAPIClient::V1::SyntheticsDeleteTestsPayload.new({public_ids:[SYNTHETICS_API_TEST_PUBLIC_ID,],})papi_instance.delete_tests(body)
// Delete tests returns "OK." response
packagemainimport("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")funcmain(){// there is a valid "synthetics_api_test" in the system
SyntheticsAPITestPublicID:=os.Getenv("SYNTHETICS_API_TEST_PUBLIC_ID")body:=datadogV1.SyntheticsDeleteTestsPayload{PublicIds:[]string{SyntheticsAPITestPublicID,},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.DeleteTests(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.DeleteTests`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.DeleteTests`:\n%s\n",responseContent)}
// Delete tests returns "OK." responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsDeleteTestsPayload;importcom.datadog.api.client.v1.model.SyntheticsDeleteTestsResponse;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "synthetics_api_test" in the systemStringSYNTHETICS_API_TEST_PUBLIC_ID=System.getenv("SYNTHETICS_API_TEST_PUBLIC_ID");SyntheticsDeleteTestsPayloadbody=newSyntheticsDeleteTestsPayload().publicIds(Collections.singletonList(SYNTHETICS_API_TEST_PUBLIC_ID));try{SyntheticsDeleteTestsResponseresult=apiInstance.deleteTests(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#deleteTests");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Delete tests returns "OK." response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsDeleteTestsPayload;#[tokio::main]asyncfnmain(){// there is a valid "synthetics_api_test" in the system
letsynthetics_api_test_public_id=std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();letbody=SyntheticsDeleteTestsPayload::new().public_ids(vec![synthetics_api_test_public_id.clone()]);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.delete_tests(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Delete tests returns "OK." response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "synthetics_api_test" in the system
constSYNTHETICS_API_TEST_PUBLIC_ID=process.env.SYNTHETICS_API_TEST_PUBLIC_IDasstring;constparams: v1.SyntheticsApiDeleteTestsRequest={body:{publicIds:[SYNTHETICS_API_TEST_PUBLIC_ID],},};apiInstance.deleteTests(params).then((data: v1.SyntheticsDeleteTestsResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get all global variables returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.list_global_variables()print(response)
# Get all global variables returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.list_global_variables()
// Get all global variables returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.ListGlobalVariables(ctx)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.ListGlobalVariables`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.ListGlobalVariables`:\n%s\n",responseContent)}
// Get all global variables returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsListGlobalVariablesResponse;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsListGlobalVariablesResponseresult=apiInstance.listGlobalVariables();System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#listGlobalVariables");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get all global variables returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.list_global_variables().await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get all global variables returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);apiInstance.listGlobalVariables().then((data: v1.SyntheticsListGlobalVariablesResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Create a FIDO global variable returns "OK" response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsGlobalVariableRequest{Description:"",IsFido:datadog.PtrBool(true),Name:"GLOBAL_VARIABLE_FIDO_PAYLOAD_EXAMPLESYNTHETIC",Tags:[]string{},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateGlobalVariable(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateGlobalVariable`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateGlobalVariable`:\n%s\n",responseContent)}
// Create a TOTP global variable returns "OK" response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsGlobalVariableRequest{Description:"",IsTotp:datadog.PtrBool(true),Name:"GLOBAL_VARIABLE_TOTP_PAYLOAD_EXAMPLESYNTHETIC",Tags:[]string{},Value:&datadogV1.SyntheticsGlobalVariableValue{Secure:datadog.PtrBool(false),Value:datadog.PtrString(""),Options:&datadogV1.SyntheticsGlobalVariableOptions{TotpParameters:&datadogV1.SyntheticsGlobalVariableTOTPParameters{Digits:datadog.PtrInt32(6),RefreshInterval:datadog.PtrInt32(30),},},},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateGlobalVariable(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateGlobalVariable`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateGlobalVariable`:\n%s\n",responseContent)}
// Create a global variable from test returns "OK" response
packagemainimport("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")funcmain(){// there is a valid "synthetics_api_test_multi_step" in the system
SyntheticsAPITestMultiStepPublicID:=os.Getenv("SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID")body:=datadogV1.SyntheticsGlobalVariableRequest{Description:"",Name:"GLOBAL_VARIABLE_FROM_TEST_PAYLOAD_EXAMPLESYNTHETIC",Tags:[]string{},Value:&datadogV1.SyntheticsGlobalVariableValue{Secure:datadog.PtrBool(false),Value:datadog.PtrString(""),},ParseTestPublicId:datadog.PtrString(SyntheticsAPITestMultiStepPublicID),ParseTestOptions:&datadogV1.SyntheticsGlobalVariableParseTestOptions{Type:datadogV1.SYNTHETICSGLOBALVARIABLEPARSETESTOPTIONSTYPE_LOCAL_VARIABLE,LocalVariableName:datadog.PtrString("EXTRACTED_VALUE"),},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreateGlobalVariable(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreateGlobalVariable`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreateGlobalVariable`:\n%s\n",responseContent)}
// Create a FIDO global variable returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariable;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableRequest;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsGlobalVariableRequestbody=newSyntheticsGlobalVariableRequest().description("").isFido(true).name("GLOBAL_VARIABLE_FIDO_PAYLOAD_EXAMPLESYNTHETIC");try{SyntheticsGlobalVariableresult=apiInstance.createGlobalVariable(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createGlobalVariable");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Create a TOTP global variable returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariable;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableOptions;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableRequest;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableTOTPParameters;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableValue;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);SyntheticsGlobalVariableRequestbody=newSyntheticsGlobalVariableRequest().description("").isTotp(true).name("GLOBAL_VARIABLE_TOTP_PAYLOAD_EXAMPLESYNTHETIC").value(newSyntheticsGlobalVariableValue().secure(false).value("").options(newSyntheticsGlobalVariableOptions().totpParameters(newSyntheticsGlobalVariableTOTPParameters().digits(6).refreshInterval(30))));try{SyntheticsGlobalVariableresult=apiInstance.createGlobalVariable(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createGlobalVariable");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Create a global variable from test returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariable;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableParseTestOptions;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableParseTestOptionsType;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableRequest;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariableValue;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "synthetics_api_test_multi_step" in the systemStringSYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID=System.getenv("SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID");SyntheticsGlobalVariableRequestbody=newSyntheticsGlobalVariableRequest().description("").name("GLOBAL_VARIABLE_FROM_TEST_PAYLOAD_EXAMPLESYNTHETIC").value(newSyntheticsGlobalVariableValue().secure(false).value("")).parseTestPublicId(SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID).parseTestOptions(newSyntheticsGlobalVariableParseTestOptions().type(SyntheticsGlobalVariableParseTestOptionsType.LOCAL_VARIABLE).localVariableName("EXTRACTED_VALUE"));try{SyntheticsGlobalVariableresult=apiInstance.createGlobalVariable(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createGlobalVariable");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Create a FIDO global variable returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_global_variable_requestimportSyntheticsGlobalVariableRequestbody=SyntheticsGlobalVariableRequest(description="",is_fido=True,name="GLOBAL_VARIABLE_FIDO_PAYLOAD_EXAMPLESYNTHETIC",tags=[],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_global_variable(body=body)print(response)
"""
Create a TOTP global variable returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_global_variable_optionsimportSyntheticsGlobalVariableOptionsfromdatadog_api_client.v1.model.synthetics_global_variable_requestimportSyntheticsGlobalVariableRequestfromdatadog_api_client.v1.model.synthetics_global_variable_totp_parametersimport(SyntheticsGlobalVariableTOTPParameters,)fromdatadog_api_client.v1.model.synthetics_global_variable_valueimportSyntheticsGlobalVariableValuebody=SyntheticsGlobalVariableRequest(description="",is_totp=True,name="GLOBAL_VARIABLE_TOTP_PAYLOAD_EXAMPLESYNTHETIC",tags=[],value=SyntheticsGlobalVariableValue(secure=False,value="",options=SyntheticsGlobalVariableOptions(totp_parameters=SyntheticsGlobalVariableTOTPParameters(digits=6,refresh_interval=30,),),),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_global_variable(body=body)print(response)
"""
Create a global variable from test returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_global_variable_parse_test_optionsimport(SyntheticsGlobalVariableParseTestOptions,)fromdatadog_api_client.v1.model.synthetics_global_variable_parse_test_options_typeimport(SyntheticsGlobalVariableParseTestOptionsType,)fromdatadog_api_client.v1.model.synthetics_global_variable_requestimportSyntheticsGlobalVariableRequestfromdatadog_api_client.v1.model.synthetics_global_variable_valueimportSyntheticsGlobalVariableValue# there is a valid "synthetics_api_test_multi_step" in the systemSYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID=environ["SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID"]body=SyntheticsGlobalVariableRequest(description="",name="GLOBAL_VARIABLE_FROM_TEST_PAYLOAD_EXAMPLESYNTHETIC",tags=[],value=SyntheticsGlobalVariableValue(secure=False,value="",),parse_test_public_id=SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID,parse_test_options=SyntheticsGlobalVariableParseTestOptions(type=SyntheticsGlobalVariableParseTestOptionsType.LOCAL_VARIABLE,local_variable_name="EXTRACTED_VALUE",),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_global_variable(body=body)print(response)
# Create a FIDO global variable returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsGlobalVariableRequest.new({description:"",is_fido:true,name:"GLOBAL_VARIABLE_FIDO_PAYLOAD_EXAMPLESYNTHETIC",tags:[],})papi_instance.create_global_variable(body)
# Create a TOTP global variable returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsGlobalVariableRequest.new({description:"",is_totp:true,name:"GLOBAL_VARIABLE_TOTP_PAYLOAD_EXAMPLESYNTHETIC",tags:[],value:DatadogAPIClient::V1::SyntheticsGlobalVariableValue.new({secure:false,value:"",options:DatadogAPIClient::V1::SyntheticsGlobalVariableOptions.new({totp_parameters:DatadogAPIClient::V1::SyntheticsGlobalVariableTOTPParameters.new({digits:6,refresh_interval:30,}),}),}),})papi_instance.create_global_variable(body)
# Create a global variable from test returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "synthetics_api_test_multi_step" in the systemSYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID=ENV["SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID"]body=DatadogAPIClient::V1::SyntheticsGlobalVariableRequest.new({description:"",name:"GLOBAL_VARIABLE_FROM_TEST_PAYLOAD_EXAMPLESYNTHETIC",tags:[],value:DatadogAPIClient::V1::SyntheticsGlobalVariableValue.new({secure:false,value:"",}),parse_test_public_id:SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID,parse_test_options:DatadogAPIClient::V1::SyntheticsGlobalVariableParseTestOptions.new({type:DatadogAPIClient::V1::SyntheticsGlobalVariableParseTestOptionsType::LOCAL_VARIABLE,local_variable_name:"EXTRACTED_VALUE",}),})papi_instance.create_global_variable(body)
// Create a FIDO global variable returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableRequest;#[tokio::main]asyncfnmain(){letbody=SyntheticsGlobalVariableRequest::new("".to_string(),"GLOBAL_VARIABLE_FIDO_PAYLOAD_EXAMPLESYNTHETIC".to_string(),vec![],).is_fido(true);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_global_variable(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
// Create a TOTP global variable returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableOptions;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableRequest;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableTOTPParameters;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableValue;#[tokio::main]asyncfnmain(){letbody=SyntheticsGlobalVariableRequest::new("".to_string(),"GLOBAL_VARIABLE_TOTP_PAYLOAD_EXAMPLESYNTHETIC".to_string(),vec![],).is_totp(true).value(SyntheticsGlobalVariableValue::new().options(SyntheticsGlobalVariableOptions::new().totp_parameters(SyntheticsGlobalVariableTOTPParameters::new().digits(6).refresh_interval(30),),).secure(false).value("".to_string()),);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_global_variable(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
// Create a global variable from test returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableParseTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableParseTestOptionsType;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableRequest;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableValue;#[tokio::main]asyncfnmain(){// there is a valid "synthetics_api_test_multi_step" in the system
letsynthetics_api_test_multi_step_public_id=std::env::var("SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID").unwrap();letbody=SyntheticsGlobalVariableRequest::new("".to_string(),"GLOBAL_VARIABLE_FROM_TEST_PAYLOAD_EXAMPLESYNTHETIC".to_string(),vec![],).parse_test_options(SyntheticsGlobalVariableParseTestOptions::new(SyntheticsGlobalVariableParseTestOptionsType::LOCAL_VARIABLE,).local_variable_name("EXTRACTED_VALUE".to_string()),).parse_test_public_id(synthetics_api_test_multi_step_public_id.clone()).value(SyntheticsGlobalVariableValue::new().secure(false).value("".to_string()),);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_global_variable(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Create a FIDO global variable returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiCreateGlobalVariableRequest={body:{description:"",isFido: true,name:"GLOBAL_VARIABLE_FIDO_PAYLOAD_EXAMPLESYNTHETIC",tags:[],},};apiInstance.createGlobalVariable(params).then((data: v1.SyntheticsGlobalVariable)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
/**
* Create a TOTP global variable returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiCreateGlobalVariableRequest={body:{description:"",isTotp: true,name:"GLOBAL_VARIABLE_TOTP_PAYLOAD_EXAMPLESYNTHETIC",tags:[],value:{secure: false,value:"",options:{totpParameters:{digits: 6,refreshInterval: 30,},},},},};apiInstance.createGlobalVariable(params).then((data: v1.SyntheticsGlobalVariable)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
/**
* Create a global variable from test returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "synthetics_api_test_multi_step" in the system
constSYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID=process.env.SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_IDasstring;constparams: v1.SyntheticsApiCreateGlobalVariableRequest={body:{description:"",name:"GLOBAL_VARIABLE_FROM_TEST_PAYLOAD_EXAMPLESYNTHETIC",tags:[],value:{secure: false,value:"",},parseTestPublicId: SYNTHETICS_API_TEST_MULTI_STEP_PUBLIC_ID,parseTestOptions:{type:"local_variable",localVariableName:"EXTRACTED_VALUE",},},};apiInstance.createGlobalVariable(params).then((data: v1.SyntheticsGlobalVariable)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get a global variable returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_global_variable(variable_id="variable_id",)print(response)
# Get a global variable returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_global_variable("variable_id")
// Get a global variable returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetGlobalVariable(ctx,"variable_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetGlobalVariable`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetGlobalVariable`:\n%s\n",responseContent)}
// Get a global variable returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsGlobalVariable;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsGlobalVariableresult=apiInstance.getGlobalVariable("variable_id");System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getGlobalVariable");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get a global variable returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_global_variable("variable_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a global variable returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetGlobalVariableRequest={variableId:"variable_id",};apiInstance.getGlobalVariable(params).then((data: v1.SyntheticsGlobalVariable)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Edit a global variable returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_global_variable_attributesimportSyntheticsGlobalVariableAttributesfromdatadog_api_client.v1.model.synthetics_global_variable_parse_test_optionsimport(SyntheticsGlobalVariableParseTestOptions,)fromdatadog_api_client.v1.model.synthetics_global_variable_parse_test_options_typeimport(SyntheticsGlobalVariableParseTestOptionsType,)fromdatadog_api_client.v1.model.synthetics_global_variable_parser_typeimportSyntheticsGlobalVariableParserTypefromdatadog_api_client.v1.model.synthetics_global_variable_requestimportSyntheticsGlobalVariableRequestfromdatadog_api_client.v1.model.synthetics_global_variable_valueimportSyntheticsGlobalVariableValuefromdatadog_api_client.v1.model.synthetics_restricted_rolesimportSyntheticsRestrictedRolesfromdatadog_api_client.v1.model.synthetics_variable_parserimportSyntheticsVariableParserbody=SyntheticsGlobalVariableRequest(attributes=SyntheticsGlobalVariableAttributes(restricted_roles=SyntheticsRestrictedRoles(["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",]),),description="Example description",name="MY_VARIABLE",parse_test_options=SyntheticsGlobalVariableParseTestOptions(field="content-type",local_variable_name="LOCAL_VARIABLE",parser=SyntheticsVariableParser(type=SyntheticsGlobalVariableParserType.REGEX,value=".*",),type=SyntheticsGlobalVariableParseTestOptionsType.HTTP_BODY,),parse_test_public_id="abc-def-123",tags=["team:front","test:workflow-1",],value=SyntheticsGlobalVariableValue(secure=True,value="value",),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.edit_global_variable(variable_id="variable_id",body=body)print(response)
# Edit a global variable returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newbody=DatadogAPIClient::V1::SyntheticsGlobalVariableRequest.new({attributes:DatadogAPIClient::V1::SyntheticsGlobalVariableAttributes.new({restricted_roles:["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",],}),description:"Example description",name:"MY_VARIABLE",parse_test_options:DatadogAPIClient::V1::SyntheticsGlobalVariableParseTestOptions.new({field:"content-type",local_variable_name:"LOCAL_VARIABLE",parser:DatadogAPIClient::V1::SyntheticsVariableParser.new({type:DatadogAPIClient::V1::SyntheticsGlobalVariableParserType::REGEX,value:".*",}),type:DatadogAPIClient::V1::SyntheticsGlobalVariableParseTestOptionsType::HTTP_BODY,}),parse_test_public_id:"abc-def-123",tags:["team:front","test:workflow-1",],value:DatadogAPIClient::V1::SyntheticsGlobalVariableValue.new({secure:true,value:"value",}),})papi_instance.edit_global_variable("variable_id",body)
// Edit a global variable returns "OK" response
packagemainimport("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")funcmain(){body:=datadogV1.SyntheticsGlobalVariableRequest{Attributes:&datadogV1.SyntheticsGlobalVariableAttributes{RestrictedRoles:[]string{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",},},Description:"Example description",Name:"MY_VARIABLE",ParseTestOptions:&datadogV1.SyntheticsGlobalVariableParseTestOptions{Field:datadog.PtrString("content-type"),LocalVariableName:datadog.PtrString("LOCAL_VARIABLE"),Parser:&datadogV1.SyntheticsVariableParser{Type:datadogV1.SYNTHETICSGLOBALVARIABLEPARSERTYPE_REGEX,Value:datadog.PtrString(".*"),},Type:datadogV1.SYNTHETICSGLOBALVARIABLEPARSETESTOPTIONSTYPE_HTTP_BODY,},ParseTestPublicId:datadog.PtrString("abc-def-123"),Tags:[]string{"team:front","test:workflow-1",},Value:&datadogV1.SyntheticsGlobalVariableValue{Secure:datadog.PtrBool(true),Value:datadog.PtrString("value"),},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.EditGlobalVariable(ctx,"variable_id",body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.EditGlobalVariable`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.EditGlobalVariable`:\n%s\n",responseContent)}
// Edit a global variable returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableAttributes;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableParseTestOptions;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableParseTestOptionsType;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableParserType;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableRequest;usedatadog_api_client::datadogV1::model::SyntheticsGlobalVariableValue;usedatadog_api_client::datadogV1::model::SyntheticsVariableParser;#[tokio::main]asyncfnmain(){letbody=SyntheticsGlobalVariableRequest::new("Example description".to_string(),"MY_VARIABLE".to_string(),vec!["team:front".to_string(),"test:workflow-1".to_string()],).attributes(SyntheticsGlobalVariableAttributes::new().restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()]),).parse_test_options(SyntheticsGlobalVariableParseTestOptions::new(SyntheticsGlobalVariableParseTestOptionsType::HTTP_BODY,).field("content-type".to_string()).local_variable_name("LOCAL_VARIABLE".to_string()).parser(SyntheticsVariableParser::new(SyntheticsGlobalVariableParserType::REGEX).value(".*".to_string()),),).parse_test_public_id("abc-def-123".to_string()).value(SyntheticsGlobalVariableValue::new().secure(true).value("value".to_string()),);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.edit_global_variable("variable_id".to_string(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Edit a global variable returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiEditGlobalVariableRequest={body:{attributes:{restrictedRoles:["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"],},description:"Example description",name:"MY_VARIABLE",parseTestOptions:{field:"content-type",localVariableName:"LOCAL_VARIABLE",parser:{type:"regex",value:".*",},type:"http_body",},parseTestPublicId:"abc-def-123",tags:["team:front","test:workflow-1"],value:{secure: true,value:"value",},},variableId:"variable_id",};apiInstance.editGlobalVariable(params).then((data: v1.SyntheticsGlobalVariable)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Delete a global variable returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)api_instance.delete_global_variable(variable_id="variable_id",)
# Delete a global variable returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.delete_global_variable("variable_id")
// Delete a global variable returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.delete_global_variable("variable_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Delete a global variable returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiDeleteGlobalVariableRequest={variableId:"variable_id",};apiInstance.deleteGlobalVariable(params).then((data: any)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
// Create a private location returns "OK" response
packagemainimport("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")funcmain(){// there is a valid "role" in the system
RoleDataID:=os.Getenv("ROLE_DATA_ID")body:=datadogV1.SyntheticsPrivateLocation{Description:"Test Example-Synthetic description",Metadata:&datadogV1.SyntheticsPrivateLocationMetadata{RestrictedRoles:[]string{RoleDataID,},},Name:"Example-Synthetic",Tags:[]string{"test:examplesynthetic",},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.CreatePrivateLocation(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.CreatePrivateLocation`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.CreatePrivateLocation`:\n%s\n",responseContent)}
// Create a private location returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsPrivateLocation;importcom.datadog.api.client.v1.model.SyntheticsPrivateLocationCreationResponse;importcom.datadog.api.client.v1.model.SyntheticsPrivateLocationMetadata;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);// there is a valid "role" in the systemStringROLE_DATA_ID=System.getenv("ROLE_DATA_ID");SyntheticsPrivateLocationbody=newSyntheticsPrivateLocation().description("Test Example-Synthetic description").metadata(newSyntheticsPrivateLocationMetadata().restrictedRoles(Collections.singletonList(ROLE_DATA_ID))).name("Example-Synthetic").tags(Collections.singletonList("test:examplesynthetic"));try{SyntheticsPrivateLocationCreationResponseresult=apiInstance.createPrivateLocation(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#createPrivateLocation");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Create a private location returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApifromdatadog_api_client.v1.model.synthetics_private_locationimportSyntheticsPrivateLocationfromdatadog_api_client.v1.model.synthetics_private_location_metadataimportSyntheticsPrivateLocationMetadatafromdatadog_api_client.v1.model.synthetics_restricted_rolesimportSyntheticsRestrictedRoles# there is a valid "role" in the systemROLE_DATA_ID=environ["ROLE_DATA_ID"]body=SyntheticsPrivateLocation(description="Test Example-Synthetic description",metadata=SyntheticsPrivateLocationMetadata(restricted_roles=SyntheticsRestrictedRoles([ROLE_DATA_ID,]),),name="Example-Synthetic",tags=["test:examplesynthetic",],)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.create_private_location(body=body)print(response)
# Create a private location returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.new# there is a valid "role" in the systemROLE_DATA_ID=ENV["ROLE_DATA_ID"]body=DatadogAPIClient::V1::SyntheticsPrivateLocation.new({description:"Test Example-Synthetic description",metadata:DatadogAPIClient::V1::SyntheticsPrivateLocationMetadata.new({restricted_roles:[ROLE_DATA_ID,],}),name:"Example-Synthetic",tags:["test:examplesynthetic",],})papi_instance.create_private_location(body)
// Create a private location returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;usedatadog_api_client::datadogV1::model::SyntheticsPrivateLocation;usedatadog_api_client::datadogV1::model::SyntheticsPrivateLocationMetadata;#[tokio::main]asyncfnmain(){// there is a valid "role" in the system
letrole_data_id=std::env::var("ROLE_DATA_ID").unwrap();letbody=SyntheticsPrivateLocation::new("Test Example-Synthetic description".to_string(),"Example-Synthetic".to_string(),vec!["test:examplesynthetic".to_string()],).metadata(SyntheticsPrivateLocationMetadata::new().restricted_roles(vec![role_data_id.clone()]),);letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.create_private_location(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Create a private location returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);// there is a valid "role" in the system
constROLE_DATA_ID=process.env.ROLE_DATA_IDasstring;constparams: v1.SyntheticsApiCreatePrivateLocationRequest={body:{description:"Test Example-Synthetic description",metadata:{restrictedRoles:[ROLE_DATA_ID],},name:"Example-Synthetic",tags:["test:examplesynthetic"],},};apiInstance.createPrivateLocation(params).then((data: v1.SyntheticsPrivateLocationCreationResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get a private location returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_private_location(location_id="location_id",)print(response)
# Get a private location returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_private_location("location_id")
// Get a private location returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetPrivateLocation(ctx,"location_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetPrivateLocation`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetPrivateLocation`:\n%s\n",responseContent)}
// Get a private location returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_private_location("location_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a private location returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetPrivateLocationRequest={locationId:"location_id",};apiInstance.getPrivateLocation(params).then((data: v1.SyntheticsPrivateLocation)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Edit a private location returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiUpdatePrivateLocationRequest={body:{description:"Description of private location",metadata:{restrictedRoles:["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"],},name:"New private location",tags:["team:front"],},locationId:"location_id",};apiInstance.updatePrivateLocation(params).then((data: v1.SyntheticsPrivateLocation)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Obtén la lista de ubicaciones públicas y privadas disponibles para tests Synthetic.
No se requieren argumentos.
This endpoint requires the synthetics_private_location_read permission.
OAuth apps require the synthetics_private_location_read authorization scope to access this endpoint.
"""
Get all locations (public and private) returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.list_locations()print(response)
# Get all locations (public and private) returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.list_locations()
// Get all locations (public and private) returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.ListLocations(ctx)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.ListLocations`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.ListLocations`:\n%s\n",responseContent)}
// Get all locations (public and private) returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsLocations;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsLocationsresult=apiInstance.listLocations();System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#listLocations");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get all locations (public and private) returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.list_locations().await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get all locations (public and private) returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);apiInstance.listLocations().then((data: v1.SyntheticsLocations)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Delete a private location returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiDeletePrivateLocationRequest={locationId:"location_id",};apiInstance.deletePrivateLocation(params).then((data: any)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Object containing details about your Synthetic test.
Expand All
Campo
Tipo
Descripción
config
object
Configuration object for a Synthetic test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
creator
object
Object describing the creator of the shared element.
email
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
locations
[string]
Array of locations used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name
string
Name of the test.
options
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The test public ID.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
steps
[object]
For browser test, the steps of the test.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type
enum
Type of the Synthetic test, either api or browser.
Allowed enum values: api,browser,mobile
"""
Get a test configuration returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_test(public_id="public_id",)print(response)
# Get a test configuration returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_test("public_id")
// Get a test configuration returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetTest(ctx,"public_id")iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetTest`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetTest`:\n%s\n",responseContent)}
// Get a test configuration returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v1.api.SyntheticsApi;importcom.datadog.api.client.v1.model.SyntheticsTestDetails;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SyntheticsApiapiInstance=newSyntheticsApi(defaultClient);try{SyntheticsTestDetailsresult=apiInstance.getTest("public_id");System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SyntheticsApi#getTest");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Get a test configuration returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_test("public_id".to_string()).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Get a test configuration returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiGetTestRequest={publicId:"public_id",};apiInstance.getTest(params).then((data: v1.SyntheticsTestDetails)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
"""
Get the default locations returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v1.api.synthetics_apiimportSyntheticsApiconfiguration=Configuration()withApiClient(configuration)asapi_client:api_instance=SyntheticsApi(api_client)response=api_instance.get_synthetics_default_locations()print(response)
# Get the default locations returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V1::SyntheticsAPI.newpapi_instance.get_synthetics_default_locations()
// Get the default locations returns "OK" response
packagemainimport("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")funcmain(){ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV1.NewSyntheticsApi(apiClient)resp,r,err:=api.GetSyntheticsDefaultLocations(ctx)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SyntheticsApi.GetSyntheticsDefaultLocations`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SyntheticsApi.GetSyntheticsDefaultLocations`:\n%s\n",responseContent)}
// Get the default locations returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;#[tokio::main]asyncfnmain(){letconfiguration=datadog::Configuration::new();letapi=SyntheticsAPI::with_config(configuration);letresp=api.get_synthetics_default_locations().await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<API-KEY>"DD_APP_KEY="<APP-KEY>"cargo run
/**
* Get the default locations returns "OK" response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);apiInstance.getSyntheticsDefaultLocations().then((data: string[])=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
creator
object
Object describing the creator of the shared element.
email
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
locations
[string]
Array of locations used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name
string
Name of the test.
options
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The test public ID.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
steps
[object]
For browser test, the steps of the test.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type
enum
Type of the Synthetic test, either api or browser.
Allowed enum values: api,browser,mobile
Object containing details about your Synthetic test.
Expand All
Campo
Tipo
Descripción
config
object
Configuration object for a Synthetic test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
creator
object
Object describing the creator of the shared element.
email
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
locations
[string]
Array of locations used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name
string
Name of the test.
options
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The test public ID.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
steps
[object]
For browser test, the steps of the test.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type
enum
Type of the Synthetic test, either api or browser.
Allowed enum values: api,browser,mobile
An array of error objects returned while querying the history data for the service level objective.
error_message [required]
string
A message with more details about the error.
error_type [required]
string
Type of the error.
group
string
The location name
history
[array]
The state transition history for the monitor, represented as an array of
pairs. Each pair is an array where the first element is the transition timestamp
in Unix epoch format (integer) and the second element is the state (integer).
For the state, an integer value of 0 indicates uptime, 1 indicates downtime,
and 2 indicates no data.
span_precision
double
The number of decimal places to which the SLI value is accurate for the given from-to timestamps.
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Fetch uptime for multiple tests returns "OK." response
*/import{client,v1}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv1.SyntheticsApi(configuration);constparams: v1.SyntheticsApiFetchUptimesRequest={body:{fromTs: 1726041488,publicIds:["p8m-9gw-nte"],toTs: 1726055954,},};apiInstance.fetchUptimes(params).then((data: v1.SyntheticsTestUptime[])=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
creator
object
Object describing the creator of the shared element.
email
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
locations
[string]
Array of locations used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name
string
Name of the test.
options
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The test public ID.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
steps
[object]
For browser test, the steps of the test.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type
enum
Type of the Synthetic test, either api or browser.
Allowed enum values: api,browser,mobile
Object containing details about your Synthetic test.
Expand All
Campo
Tipo
Descripción
config
object
Configuration object for a Synthetic test.
assertions
[ <oneOf>]
Array of assertions used for the test. Required for single API tests.
default:
Option 1
object
An assertion which uses a simple target.
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
property
string
The associated assertion property.
target [required]
Value used by the operator.
timingsScope
enum
Timings scope for response time assertions.
Allowed enum values: all,withoutDNS
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
Option 2
object
An assertion which targets body hash.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: md5,sha1,sha256
target [required]
Value used by the operator.
type [required]
enum
Type of the assertion.
Allowed enum values: bodyHash
Option 3
object
An assertion for the validatesJSONPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONPath
property
string
The associated assertion property.
target
object
Composed target for validatesJSONPath operator.
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.
jsonPath
string
The JSON path to assert.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
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
Option 4
object
An assertion for the validatesJSONSchema operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesJSONSchema
target
object
Composed target for validatesJSONSchema operator.
jsonSchema
string
The JSON Schema to assert.
metaSchema
enum
The JSON Schema meta-schema version used in the assertion.
Allowed enum values: draft-07,draft-06
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
Option 5
object
An assertion for the validatesXPath operator.
operator [required]
enum
Assertion operator to apply.
Allowed enum values: validatesXPath
property
string
The associated assertion property.
target
object
Composed target for validatesXPath operator.
operator
string
The specific operator to use on the path.
targetValue
The path target value to compare to.
xPath
string
The X path to assert.
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
Option 6
object
A JavaScript assertion.
code [required]
string
The JavaScript code that performs the assertions.
type [required]
enum
Type of the assertion.
Allowed enum values: javascript
configVariables
[object]
Array of variables used for the test.
example
string
Example for the variable.
id
string
ID of the variable for global variables.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Whether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]
enum
Type of the configuration variable.
Allowed enum values: global,text,email
request
object
Object describing the Synthetic test request.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in a multistep test step.
basicAuth
<oneOf>
Object to handle basic authentication when performing the test.
Option 1
object
Object to handle basic authentication when performing the test.
password [required]
string
Password to use for the basic authentication.
type
enum
The type of basic authentication to use when performing the test.
Allowed enum values: web
default: web
username [required]
string
Username to use for the basic authentication.
Option 2
object
Object to handle SIGV4 authentication when performing the test.
accessKey [required]
string
Access key for the SIGV4 authentication.
region
string
Region for the SIGV4 authentication.
secretKey [required]
string
Secret key for the SIGV4 authentication.
serviceName
string
Service name for the SIGV4 authentication.
sessionToken
string
Session token for the SIGV4 authentication.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: sigv4
default: sigv4
Option 3
object
Object to handle NTLM authentication when performing the test.
domain
string
Domain for the authentication to use when performing the test.
password
string
Password for the authentication to use when performing the test.
type [required]
enum
The type of authentication to use when performing the test.
Allowed enum values: ntlm
default: ntlm
username
string
Username for the authentication to use when performing the test.
workstation
string
Workstation for the authentication to use when performing the test.
Option 4
object
Object to handle digest authentication when performing the test.
password [required]
string
Password to use for the digest authentication.
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: digest
default: digest
username [required]
string
Username to use for the digest authentication.
Option 5
object
Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId [required]
string
Client ID to use when performing the authentication.
clientSecret [required]
string
Client secret to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-client
default: oauth-client
Option 6
object
Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]
string
Access token URL to use when performing the authentication.
audience
string
Audience to use when performing the authentication.
clientId
string
Client ID to use when performing the authentication.
clientSecret
string
Client secret to use when performing the authentication.
password [required]
string
Password to use when performing the authentication.
resource
string
Resource to use when performing the authentication.
scope
string
Scope to use when performing the authentication.
tokenApiAuthentication [required]
enum
Type of token to use when performing the authentication.
Allowed enum values: header,body
type [required]
enum
The type of basic authentication to use when performing the test.
Allowed enum values: oauth-rop
default: oauth-rop
username [required]
string
Username to use when performing the authentication.
body
string
Body to include in the test.
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
callType
enum
The type of gRPC call to perform.
Allowed enum values: healthcheck,unary
certificate
object
Client certificate to use when performing the test request.
cert
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
key
object
Define a request certificate.
content
string
Content of the certificate or key.
filename
string
File name for the certificate or key.
updatedAt
string
Date of update of the certificate or key, ISO format.
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.
default:
compressedJsonDescriptor
string
A protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFile
string
A protobuf file that needs to be gzipped first then base64 encoded.
dnsServer
string
DNS server to use for DNS tests.
dnsServerPort
string
DNS server port to use for DNS tests.
files
[object]
Files to be used as part of the request in the test.
bucketKey
string
Bucket key of the file.
content
string
Content of the file.
name
string
Name of the file.
originalFileName
string
Original name of the file.
size
int64
Size of the file.
type
string
Type of the file.
follow_redirects
boolean
Specifies whether or not the request follows redirects.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
host
string
Host name to perform the test with.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
message
string
Message to send for UDP or WebSocket tests.
metadata
object
Metadata to include when performing the gRPC test.
<any-key>
string
A single metadatum.
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.
noSavingResponseBody
boolean
Determines whether or not to save the response body.
numberOfPackets
int32
Number of pings to use per test.
persistCookies
boolean
Persist cookies across redirects.
port
<oneOf>
Port to use when performing the test.
Option 1
int64
Integer Port number to use when performing the test.
Option 2
string
String Port number to use when performing the test. Supports templated variables.
proxy
object
The proxy to perform the test.
headers
object
Headers to include when performing the test.
<any-key>
string
A single Header.
url [required]
string
URL of the proxy to perform the test.
query
object
Query to use for the test.
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.
service
string
The gRPC service on which you want to perform the gRPC call.
shouldTrackHops
boolean
Turns on a traceroute probe to discover all gateways along the path to the host destination.
timeout
double
Timeout in seconds for the test.
url
string
URL to perform the test with.
variables
[object]
Browser tests only - array of variables used for the test steps.
example
string
Example for the variable.
id
string
ID for the variable. Global variables require an ID.
name [required]
string
Name of the variable.
pattern
string
Pattern of the variable.
secure
boolean
Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]
enum
Type of browser test variable.
Allowed enum values: element,email,global,text
creator
object
Object describing the creator of the shared element.
email
string
Email of the creator.
handle
string
Handle of the creator.
name
string
Name of the creator.
locations
[string]
Array of locations used to run the test.
message
string
Notification message associated with the test.
monitor_id
int64
The associated monitor ID.
name
string
Name of the test.
options
object
Object describing the extra options for a Synthetic test.
accept_self_signed
boolean
For SSL test, whether or not the test should allow self signed
certificates.
allow_insecure
boolean
Allows loading insecure content for an HTTP request in an API test.
checkCertificateRevocation
boolean
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci
object
CI/CD options for a Synthetic test.
executionRule [required]
enum
Execution rule for a Synthetic test.
Allowed enum values: blocking,non_blocking,skipped
device_ids
[string]
For browser test, array with the different device IDs used to run the test.
disableCors
boolean
Whether or not to disable CORS mechanism.
disableCsp
boolean
Disable Content Security Policy for browser tests.
enableProfiling
boolean
Enable profiling for browser tests.
enableSecurityTesting
boolean
DEPRECATED: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used.
follow_redirects
boolean
For API HTTP test, whether or not the test should follow redirects.
httpVersion
enum
HTTP version to use for a Synthetic test.
Allowed enum values: http1,http2,any
ignoreServerCertificateError
boolean
Ignore server certificate error for browser tests.
initialNavigationTimeout
int64
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration
int64
Minimum amount of time in failure required to trigger an alert.
min_location_failed
int64
Minimum number of locations in failure required to trigger
an alert.
monitor_name
string
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options
object
Object containing the options for a Synthetic test as a monitor
(for example, renotification).
escalation_message
string
Message to include in the escalation notification.
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
renotify_interval
int64
Time interval before renotifying if the test is still failing
(in minutes).
renotify_occurrences
int64
The number of times to renotify if the test is still failing.
monitor_priority
int32
Integer from 1 (high) to 5 (low) indicating alert severity.
noScreenshot
boolean
Prevents saving screenshots of the steps.
restricted_roles
[string]
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry
object
Object describing the retry strategy to apply to a Synthetic test.
count
int64
Number of times a test needs to be retried before marking a
location as failed. Defaults to 0.
interval
double
Time interval between retries (in milliseconds). Defaults to
300ms.
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.
applicationId
string
RUM application ID used to collect RUM data for the browser test.
clientTokenId
int64
RUM application API key ID used to collect RUM data for the browser test.
isEnabled [required]
boolean
Determines whether RUM data is collected during test runs.
scheduling
object
Object containing timeframes and timezone used for advanced scheduling.
timeframes [required]
[object]
Array containing objects describing the scheduling pattern to apply to each day.
day [required]
int32
Number representing the day of the week.
from [required]
string
The hour of the day on which scheduling starts.
to [required]
string
The hour of the day on which scheduling ends.
timezone [required]
string
Timezone in which the timeframe is based.
tick_every
int64
The frequency at which to run the Synthetic test (in seconds).
public_id
string
The test public ID.
status
enum
Define whether you want to start (live) or pause (paused) a
Synthetic test.
Allowed enum values: live,paused
steps
[object]
For browser test, the steps of the test.
allowFailure
boolean
A boolean set to allow this step to fail.
alwaysExecute
boolean
A boolean set to always execute this step even if the previous step failed or was skipped.
exitIfSucceed
boolean
A boolean set to exit the test if the step succeeds.
isCritical
boolean
A boolean to use in addition to allowFailure to determine if the test should be marked as failed when the step fails.
name
string
The name of the step.
noScreenshot
boolean
A boolean set to skip taking a screenshot for the step.
params
object
The parameters of the step.
public_id
string
The public ID of the step.
timeout
int64
The time before declaring a step failed.
type
enum
Step type used in your Synthetic test.
Allowed enum values: assertCurrentUrl,assertElementAttribute,assertElementContent,assertElementPresent,assertEmail,assertFileDownload,assertFromJavascript,assertPageContains,assertPageLacks,click,extractFromJavascript,extractVariable,goToEmailLink,goToUrl,goToUrlAndMeasureTti,hover,playSubTest,pressKey,refresh,runApiTest,scroll,selectOption,typeText,uploadFiles,wait
subtype
enum
The subtype of the Synthetic API test, http, ssl, tcp,
dns, icmp, udp, websocket, grpc or multi.
Allowed enum values: http,ssl,tcp,dns,multi,icmp,udp,websocket,grpc
tags
[string]
Array of tags attached to the test.
type
enum
Type of the Synthetic test, either api or browser.
Allowed enum values: api,browser,mobile