Get a browser test result
https://api.datadoghq.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.us3.datadoghq.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.us5.datadoghq.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.datadoghq.eu/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.ap1.datadoghq.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.ap2.datadoghq.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.uk1.datadoghq.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.ddog-gov.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}https://api.us2.ddog-gov.com/api/v2/synthetics/tests/browser/{public_id}/results/{result_id}Overview
Get a specific full result from a given Synthetic browser test.
OAuth apps require the synthetics_read authorization scope to access this endpoint.
Arguments
Path Parameters
public_id [required]The public ID of the Synthetic browser test to which the target result belongs.
result_id [required]The ID of the result to get.
Query Strings
event_idThe event ID used to look up the result in the event store.
timestampTimestamp in seconds to look up the result.
Response
OK
Response object for a Synthetic test result.
dataWrapper object for a Synthetic test result.
attributesAttributes of a Synthetic test result.
batchBatch information for the test result.
idBatch identifier.
ciCI information associated with the test result.
pipelineDetails of the CI pipeline.
idPipeline identifier.
namePipeline name.
numberPipeline number.
urlPipeline URL.
providerDetails of the CI provider.
nameProvider name.
stageDetails of the CI stage.
nameStage name.
workspace_pathPath of the workspace that ran the CI job.
deviceDevice information for the test result (browser and mobile tests).
browserBrowser information for the device used to run the test.
typeBrowser type (for example, chrome, firefox).
user_agentUser agent string reported by the browser.
versionBrowser version.
idDevice identifier.
nameDevice name.
platformPlatform information for the device used to run the test.
namePlatform name (for example, linux, macos).
versionPlatform version.
resolutionScreen resolution of the device used to run the test.
heightViewport height in pixels.
pixel_ratioDevice pixel ratio.
widthViewport width in pixels.
typeDevice type.
gitGit information associated with the test result.
branchGit branch name.
commitDetails of the Git commit associated with the test result.
authorA Git user (author or committer).
dateTimestamp of the commit action for this user.
emailEmail address of the Git user.
nameName of the Git user.
committerA Git user (author or committer).
dateTimestamp of the commit action for this user.
emailEmail address of the Git user.
nameName of the Git user.
messageCommit message.
shaCommit SHA.
urlURL of the commit.
repository_urlGit repository URL.
locationLocation information for a Synthetic test result.
idIdentifier of the location.
nameHuman-readable name of the location.
versionVersion of the worker that ran the test.
worker_idIdentifier of the specific worker that ran the test.
resultFull result details for a Synthetic test execution.
assertionsAssertion results produced by the test.
actualActual value observed during the test. Its type depends on the assertion type.
error_messageError message if the assertion failed.
expectedExpected value for the assertion. Its type depends on the assertion type.
operatorOperator used for the assertion (for example, is, contains).
propertyProperty targeted by the assertion, when applicable.
targetTarget value for the assertion. Its type depends on the assertion type.
target_pathJSON path or XPath evaluated for the assertion.
target_path_operatorOperator used for the target path assertion.
typeType of the assertion (for example, responseTime, statusCode, body).
validWhether the assertion passed.
bucket_keysStorage bucket keys for artifacts produced during a step or test.
after_step_screenshotKey for the screenshot captured after the step (goal-based tests).
after_turn_screenshotKey for the screenshot captured after the turn (goal-based tests).
artifactsKey for miscellaneous artifacts.
before_step_screenshotKey for the screenshot captured before the step (goal-based tests).
before_turn_screenshotKey for the screenshot captured before the turn (goal-based tests).
crash_reportKey for a captured crash report.
device_logsKey for captured device logs.
email_messagesKeys for email message payloads captured by the step.
screenshotKey for the captured screenshot.
snapshotKey for the captured DOM snapshot.
sourceKey for the page source or element source.
call_typegRPC call type (for example, unary, healthCheck, or reflection).
certSSL/TLS certificate information returned from an SSL test.
cipherCipher used for the TLS connection.
exponentRSA exponent of the certificate.
ext_key_usageExtended key usage extensions for the certificate.
fingerprintSHA-1 fingerprint of the certificate.
fingerprint256SHA-256 fingerprint of the certificate.
issuerCertificate issuer details.
<any-key>modulusRSA modulus of the certificate.
protocolTLS protocol used (for example, TLSv1.2).
serial_numberSerial number of the certificate.
subjectCertificate subject details.
<any-key>tls_versionTLS protocol version.
validValidity window of a certificate.
fromUnix timestamp (ms) of when the certificate became valid.
toUnix timestamp (ms) of when the certificate expires.
compressed_json_descriptorCompressed JSON descriptor for the test (internal format).
compressed_stepsCompressed representation of the test steps (internal format).
connection_outcomeOutcome of the connection attempt (for example, established, refused).
dns_resolutionDNS resolution details recorded during the test execution.
attemptsDNS resolution attempts made during the test.
resolved_ipResolved IP address for the target host.
resolved_portResolved port for the target service.
serverDNS server used for the resolution.
durationDuration of the test execution (in milliseconds).
exited_on_step_successWhether the test exited early because a step marked with exitIfSucceed passed.
failureDetails about the failure of a Synthetic test.
codeError code for the failure.
internal_codeInternal error code used for debugging.
internal_messageInternal error message used for debugging.
messageError message for the failure.
finished_atTimestamp of when the test finished (in milliseconds).
handshakeHandshake request and response for protocol-level tests.
requestDetails of the outgoing request made during the test execution.
allow_insecureWhether insecure certificates are allowed for this request.
bodyBody sent with the request.
call_typegRPC call type (for example, unary, healthCheck, or reflection).
destination_serviceDestination service for a Network Path test.
dns_serverDNS server used to resolve the target host.
dns_server_portPort of the DNS server used for resolution.
e2e_queriesNumber of end-to-end probe queries issued.
filesFiles attached to the request.
bucket_keyStorage bucket key where the file is stored.
encodingEncoding of the file contents.
nameFile name.
sizeFile size in bytes.
typeFile MIME type.
headersHeaders sent with the request.
hostHost targeted by the request.
max_ttlMaximum TTL for network probe packets.
messageMessage sent with the request (for WebSocket/TCP/UDP tests).
methodHTTP method used for the request.
no_saving_response_bodyWhether the response body was not saved.
portPort targeted by the request. Can be a number or a string variable reference.
serviceService name targeted by the request (for gRPC tests).
source_serviceSource service for a Network Path test.
timeoutRequest timeout in milliseconds.
tool_nameName of the MCP tool called (MCP tests only).
traceroute_queriesNumber of traceroute probe queries issued.
urlURL targeted by the request.
responseDetails of the response received during the test execution.
bodyBody of the response.
body_compressedCompressed representation of the response body.
body_hashesHashes computed over the response body.
body_sizeSize of the response body in bytes.
cache_headersCache-related response headers.
<any-key>cdnCDN provider details inferred from response headers.
cacheCache status reported by the CDN for the response.
cachedWhether the response was served from the CDN cache.
statusRaw cache status string reported by the CDN.
providerName of the CDN provider.
closeWebSocket close frame information for WebSocket test responses.
reasonReason string received in the close frame.
status_codeStatus code received in the close frame.
compressed_messageCompressed representation of the response message.
headersResponse headers.
healthcheckHealth check information returned from a gRPC health check call.
messageRaw health check message payload.
<any-key>statusHealth check status code.
http_versionHTTP version of the response.
is_body_truncatedWhether the response body was truncated.
is_message_truncatedWhether the response message was truncated.
messageMessage received in the response (for WebSocket/TCP/UDP tests).
metadataAdditional metadata returned with the response.
<any-key>recordsDNS records returned in the response (DNS tests only).
typeDNS record type (for example, A, AAAA, CNAME).
valuesValues associated with the DNS record.
redirectsRedirect hops encountered while performing the request.
locationTarget location of the redirect.
status_codeHTTP status code of the redirect response.
status_codeHTTP status code of the response.
idThe unique identifier for this result.
initial_idThe initial result ID before any retries.
is_fast_retryWhether this result is from a fast retry.
is_last_retryWhether this result is from the last retry.
netpathNetwork Path test result capturing the path between source and destination.
destinationDestination endpoint of a network path measurement.
hostnameHostname of the destination.
ip_addressIP address of the destination.
portPort of the destination service.
hopsHops along the network path.
hostnameResolved hostname of the hop.
ip_addressIP address of the hop.
reachableWhether this hop was reachable.
rttRound-trip time to this hop in milliseconds.
ttlTime-to-live value of the probe packet at this hop.
originOrigin of the network path (for example, probe source).
pathtrace_idIdentifier of the path trace.
protocolProtocol used for the path trace (for example, tcp, udp, icmp).
sourceSource endpoint of a network path measurement.
hostnameHostname of the endpoint.
tagsTags associated with the network path measurement.
timestampUnix timestamp (ms) of the network path measurement.
netstatsAggregated network statistics from the test execution.
hopsStatistics about the number of hops for a network test.
avgAverage number of hops.
maxMaximum number of hops.
minMinimum number of hops.
jitterNetwork jitter in milliseconds.
latencyLatency statistics for a network probe.
avgAverage latency in milliseconds.
maxMaximum latency in milliseconds.
minMinimum latency in milliseconds.
packet_loss_percentagePercentage of probe packets lost.
packets_receivedNumber of probe packets received.
packets_sentNumber of probe packets sent.
ocspOCSP response received while validating a certificate.
certificateCertificate details returned in an OCSP response.
revocation_reasonReason code for the revocation, when applicable.
revocation_timeUnix timestamp (ms) of the revocation.
serial_numberSerial number of the certificate.
statusOCSP response status (for example, good, revoked, unknown).
updatesOCSP response update timestamps.
next_updateUnix timestamp (ms) of the next expected OCSP update.
produced_atUnix timestamp (ms) of when the OCSP response was produced.
this_updateUnix timestamp (ms) of this OCSP update.
pingA network probe result, used for traceroute hops and ping summaries.
hostTarget hostname.
latencyLatency statistics for a network probe.
avgAverage latency in milliseconds.
maxMaximum latency in milliseconds.
minMinimum latency in milliseconds.
packet_loss_percentagePercentage of probe packets lost.
packet_sizeSize of each probe packet in bytes.
packets_receivedNumber of probe packets received.
packets_sentNumber of probe packets sent.
resolved_ipResolved IP address for the target.
routersList of intermediate routers for the traceroute.
ipIP address of the router.
resolved_hostResolved hostname of the router.
received_email_countNumber of emails received during the test (email tests).
received_messageMessage received from the target (for WebSocket/TCP/UDP tests).
requestDetails of the outgoing request made during the test execution.
allow_insecureWhether insecure certificates are allowed for this request.
bodyBody sent with the request.
call_typegRPC call type (for example, unary, healthCheck, or reflection).
destination_serviceDestination service for a Network Path test.
dns_serverDNS server used to resolve the target host.
dns_server_portPort of the DNS server used for resolution.
e2e_queriesNumber of end-to-end probe queries issued.
filesFiles attached to the request.
bucket_keyStorage bucket key where the file is stored.
encodingEncoding of the file contents.
nameFile name.
sizeFile size in bytes.
typeFile MIME type.
headersHeaders sent with the request.
hostHost targeted by the request.
max_ttlMaximum TTL for network probe packets.
messageMessage sent with the request (for WebSocket/TCP/UDP tests).
methodHTTP method used for the request.
no_saving_response_bodyWhether the response body was not saved.
portPort targeted by the request. Can be a number or a string variable reference.
serviceService name targeted by the request (for gRPC tests).
source_serviceSource service for a Network Path test.
timeoutRequest timeout in milliseconds.
tool_nameName of the MCP tool called (MCP tests only).
traceroute_queriesNumber of traceroute probe queries issued.
urlURL targeted by the request.
resolved_ipIP address resolved for the target host.
responseDetails of the response received during the test execution.
bodyBody of the response.
body_compressedCompressed representation of the response body.
body_hashesHashes computed over the response body.
body_sizeSize of the response body in bytes.
cache_headersCache-related response headers.
<any-key>cdnCDN provider details inferred from response headers.
cacheCache status reported by the CDN for the response.
cachedWhether the response was served from the CDN cache.
statusRaw cache status string reported by the CDN.
providerName of the CDN provider.
closeWebSocket close frame information for WebSocket test responses.
reasonReason string received in the close frame.
status_codeStatus code received in the close frame.
compressed_messageCompressed representation of the response message.
headersResponse headers.
healthcheckHealth check information returned from a gRPC health check call.
messageRaw health check message payload.
<any-key>statusHealth check status code.
http_versionHTTP version of the response.
is_body_truncatedWhether the response body was truncated.
is_message_truncatedWhether the response message was truncated.
messageMessage received in the response (for WebSocket/TCP/UDP tests).
metadataAdditional metadata returned with the response.
<any-key>recordsDNS records returned in the response (DNS tests only).
typeDNS record type (for example, A, AAAA, CNAME).
valuesValues associated with the DNS record.
redirectsRedirect hops encountered while performing the request.
locationTarget location of the redirect.
status_codeHTTP status code of the redirect response.
status_codeHTTP status code of the response.
run_typeThe type of run for a Synthetic test result.
scheduled, fast, ci, triggeredsent_messageMessage sent to the target (for WebSocket/TCP/UDP tests).
start_urlStart URL for the test (browser tests).
started_atTimestamp of when the test started (in milliseconds).
statusStatus of a Synthetic test result.
passed, failed, no_datastepsStep results (for browser, mobile, and multistep API tests).
allow_failureWhether the test continues when this step fails.
api_testInner API test definition for browser runApiTest steps.
assertion_resultAssertion result for a browser or mobile step.
actualActual value observed during the step assertion. Its type depends on the check type.
check_typeType of the step assertion check.
expectedExpected value for the step assertion. Its type depends on the check type.
has_secure_variablesWhether the assertion involves secure variables.
assertionsAssertion results produced by the step.
actualActual value observed during the test. Its type depends on the assertion type.
error_messageError message if the assertion failed.
expectedExpected value for the assertion. Its type depends on the assertion type.
operatorOperator used for the assertion (for example, is, contains).
propertyProperty targeted by the assertion, when applicable.
targetTarget value for the assertion. Its type depends on the assertion type.
target_pathJSON path or XPath evaluated for the assertion.
target_path_operatorOperator used for the target path assertion.
typeType of the assertion (for example, responseTime, statusCode, body).
validWhether the assertion passed.
blocked_requests_urlsURLs of requests blocked during the step.
boundsBounding box of an element on the page.
heightHeight in pixels.
widthWidth in pixels.
xHorizontal position in pixels.
yVertical position in pixels.
browser_errorsBrowser errors captured during the step.
descriptionError description.
methodHTTP method associated with the error (for network errors).
nameError name.
statusHTTP status code associated with the error (for network errors).
typeType of the browser error.
urlURL associated with the error.
bucket_keysStorage bucket keys for artifacts produced during a step or test.
after_step_screenshotKey for the screenshot captured after the step (goal-based tests).
after_turn_screenshotKey for the screenshot captured after the turn (goal-based tests).
artifactsKey for miscellaneous artifacts.
before_step_screenshotKey for the screenshot captured before the step (goal-based tests).
before_turn_screenshotKey for the screenshot captured before the turn (goal-based tests).
crash_reportKey for a captured crash report.
device_logsKey for captured device logs.
email_messagesKeys for email message payloads captured by the step.
screenshotKey for the captured screenshot.
snapshotKey for the captured DOM snapshot.
sourceKey for the page source or element source.
cdn_resourcesCDN resources encountered during the step.
cdnCDN provider details inferred from response headers.
cacheCache status reported by the CDN for the response.
cachedWhether the response was served from the CDN cache.
statusRaw cache status string reported by the CDN.
providerName of the CDN provider.
resolved_ipResolved IP address for the CDN resource.
timestampUnix timestamp (ms) of when the resource was fetched.
timingsTiming breakdown for fetching the CDN resource.
click_typeClick type performed in a browser step.
compressed_json_descriptorCompressed JSON descriptor for the step (internal format).
configRequest configuration executed by this step (API test steps).
descriptionHuman-readable description of the step.
durationDuration of the step in milliseconds.
element_descriptionDescription of the element interacted with by the step.
element_updatesElement locator updates produced during a step.
multi_locatorUpdated multi-locator definition.
<any-key>target_outer_htmlUpdated outer HTML of the targeted element.
versionVersion of the element locator definition.
extracted_valueA variable used or extracted during a test.
errError encountered when evaluating the variable.
error_messageHuman-readable error message for variable evaluation.
exampleExample value for the variable.
idVariable identifier.
nameVariable name.
patternPattern used to extract the variable.
secureWhether the variable holds a secure value.
typeVariable type.
valEvaluated value of the variable.
valueCurrent value of the variable.
failureDetails about the failure of a Synthetic test.
codeError code for the failure.
internal_codeInternal error code used for debugging.
internal_messageInternal error message used for debugging.
messageError message for the failure.
http_resultsHTTP results produced by an MCP step.
actualActual value observed during the test. Its type depends on the assertion type.
error_messageError message if the assertion failed.
expectedExpected value for the assertion. Its type depends on the assertion type.
operatorOperator used for the assertion (for example, is, contains).
propertyProperty targeted by the assertion, when applicable.
targetTarget value for the assertion. Its type depends on the assertion type.
target_pathJSON path or XPath evaluated for the assertion.
target_path_operatorOperator used for the target path assertion.
typeType of the assertion (for example, responseTime, statusCode, body).
validWhether the assertion passed.
idIdentifier of the step.
is_criticalWhether this step is critical for the test outcome.
javascript_custom_assertion_codeWhether the step uses a custom JavaScript assertion.
locate_element_durationTime taken to locate the element in milliseconds.
nameName of the step.
requestDetails of the outgoing request made during the test execution.
allow_insecureWhether insecure certificates are allowed for this request.
bodyBody sent with the request.
call_typegRPC call type (for example, unary, healthCheck, or reflection).
destination_serviceDestination service for a Network Path test.
dns_serverDNS server used to resolve the target host.
dns_server_portPort of the DNS server used for resolution.
e2e_queriesNumber of end-to-end probe queries issued.
filesFiles attached to the request.
bucket_keyStorage bucket key where the file is stored.
encodingEncoding of the file contents.
nameFile name.
sizeFile size in bytes.
typeFile MIME type.
headersHeaders sent with the request.
hostHost targeted by the request.
max_ttlMaximum TTL for network probe packets.
messageMessage sent with the request (for WebSocket/TCP/UDP tests).
methodHTTP method used for the request.
no_saving_response_bodyWhether the response body was not saved.
portPort targeted by the request. Can be a number or a string variable reference.
serviceService name targeted by the request (for gRPC tests).
source_serviceSource service for a Network Path test.
timeoutRequest timeout in milliseconds.
tool_nameName of the MCP tool called (MCP tests only).
traceroute_queriesNumber of traceroute probe queries issued.
urlURL targeted by the request.
responseDetails of the response received during the test execution.
bodyBody of the response.
body_compressedCompressed representation of the response body.
body_hashesHashes computed over the response body.
body_sizeSize of the response body in bytes.
cache_headersCache-related response headers.
<any-key>cdnCDN provider details inferred from response headers.
cacheCache status reported by the CDN for the response.
cachedWhether the response was served from the CDN cache.
statusRaw cache status string reported by the CDN.
providerName of the CDN provider.
closeWebSocket close frame information for WebSocket test responses.
reasonReason string received in the close frame.
status_codeStatus code received in the close frame.
compressed_messageCompressed representation of the response message.
headersResponse headers.
healthcheckHealth check information returned from a gRPC health check call.
messageRaw health check message payload.
<any-key>statusHealth check status code.
http_versionHTTP version of the response.
is_body_truncatedWhether the response body was truncated.
is_message_truncatedWhether the response message was truncated.
messageMessage received in the response (for WebSocket/TCP/UDP tests).
metadataAdditional metadata returned with the response.
<any-key>recordsDNS records returned in the response (DNS tests only).
typeDNS record type (for example, A, AAAA, CNAME).
valuesValues associated with the DNS record.
redirectsRedirect hops encountered while performing the request.
locationTarget location of the redirect.
status_codeHTTP status code of the redirect response.
status_codeHTTP status code of the response.
retriesRetry results for the step.
retry_countNumber of times this step was retried.
rum_contextRUM application context associated with a step or sub-test.
application_idRUM application identifier.
session_idRUM session identifier.
view_idRUM view identifier.
started_atUnix timestamp (ms) of when the step started.
statusStatus of the step (for example, passed, failed).
sub_stepInformation about a sub-step in a nested test execution.
levelDepth of the sub-step in the execution tree.
parent_stepReference to the parent step of a sub-step.
idIdentifier of the parent step.
parent_testReference to the parent test of a sub-step.
idIdentifier of the parent test.
sub_testInformation about a sub-test played from a parent browser test.
idIdentifier of the sub-test.
playing_tabIndex of the browser tab playing the sub-test.
rum_contextRUM application context associated with a step or sub-test.
application_idRUM application identifier.
session_idRUM session identifier.
view_idRUM view identifier.
subtypeSubtype of the step.
tabsBrowser tabs involved in the step.
focusedWhether the tab was focused during the step.
titleTitle of the tab.
urlURL loaded in the tab.
timingsTiming breakdown of the step execution.
tunnelWhether the step was executed through a Synthetics tunnel.
typeType of the step (for example, click, assertElementContent, runApiTest).
urlURL associated with the step (for navigation steps).
valueStep value. Its type depends on the step type.
variablesVariables captured during a test step.
configVariables defined in the test configuration.
errError encountered when evaluating the variable.
error_messageHuman-readable error message for variable evaluation.
exampleExample value for the variable.
idVariable identifier.
nameVariable name.
patternPattern used to extract the variable.
secureWhether the variable holds a secure value.
typeVariable type.
valEvaluated value of the variable.
valueCurrent value of the variable.
extractedVariables extracted during the test execution.
errError encountered when evaluating the variable.
error_messageHuman-readable error message for variable evaluation.
exampleExample value for the variable.
idVariable identifier.
nameVariable name.
patternPattern used to extract the variable.
secureWhether the variable holds a secure value.
typeVariable type.
valEvaluated value of the variable.
valueCurrent value of the variable.
vitals_metricsWeb vitals metrics captured during the step.
clsCumulative Layout Shift score.
fcpFirst Contentful Paint in milliseconds.
inpInteraction to Next Paint in milliseconds.
lcpLargest Contentful Paint in milliseconds.
ttfbTime To First Byte in milliseconds.
urlURL that produced the metrics.
warningsWarnings emitted during the step.
element_boundsBounds of elements related to the warning.
heightHeight in pixels.
widthWidth in pixels.
xHorizontal position in pixels.
yVertical position in pixels.
messageWarning message.
typeType of the warning.
time_to_interactiveTime to interactive in milliseconds (browser tests).
timingsTiming breakdown of the test request phases (for example, DNS, TCP, TLS, first byte).
traceTrace identifiers associated with a Synthetic test result.
idDatadog APM trace identifier.
otel_idOpenTelemetry trace identifier.
tracerouteTraceroute hop results (for network tests).
hostTarget hostname.
latencyLatency statistics for a network probe.
avgAverage latency in milliseconds.
maxMaximum latency in milliseconds.
minMinimum latency in milliseconds.
packet_loss_percentagePercentage of probe packets lost.
packet_sizeSize of each probe packet in bytes.
packets_receivedNumber of probe packets received.
packets_sentNumber of probe packets sent.
resolved_ipResolved IP address for the target.
routersList of intermediate routers for the traceroute.
ipIP address of the router.
resolved_hostResolved hostname of the router.
triggered_atTimestamp of when the test was triggered (in milliseconds).
tunnelWhether the test was executed through a tunnel.
turnsTurns executed by a goal-based browser test.
bucket_keysStorage bucket keys for artifacts produced during a step or test.
after_step_screenshotKey for the screenshot captured after the step (goal-based tests).
after_turn_screenshotKey for the screenshot captured after the turn (goal-based tests).
artifactsKey for miscellaneous artifacts.
before_step_screenshotKey for the screenshot captured before the step (goal-based tests).
before_turn_screenshotKey for the screenshot captured before the turn (goal-based tests).
crash_reportKey for a captured crash report.
device_logsKey for captured device logs.
email_messagesKeys for email message payloads captured by the step.
screenshotKey for the captured screenshot.
snapshotKey for the captured DOM snapshot.
sourceKey for the page source or element source.
nameName of the turn.
reasoningAgent reasoning produced for this turn.
statusStatus of the turn (for example, passed, failed).
stepsSteps executed during the turn.
bucket_keysStorage bucket keys for artifacts produced during a step or test.
after_step_screenshotKey for the screenshot captured after the step (goal-based tests).
after_turn_screenshotKey for the screenshot captured after the turn (goal-based tests).
artifactsKey for miscellaneous artifacts.
before_step_screenshotKey for the screenshot captured before the step (goal-based tests).
before_turn_screenshotKey for the screenshot captured before the turn (goal-based tests).
crash_reportKey for a captured crash report.
device_logsKey for captured device logs.
email_messagesKeys for email message payloads captured by the step.
screenshotKey for the captured screenshot.
snapshotKey for the captured DOM snapshot.
sourceKey for the page source or element source.
configBrowser step configuration for this turn step.
turn_finished_atUnix timestamp (ms) of when the turn finished.
turn_started_atUnix timestamp (ms) of when the turn started.
unhealthyWhether the test runner was unhealthy at the time of execution.
variablesVariables captured during a test step.
configVariables defined in the test configuration.
errError encountered when evaluating the variable.
error_messageHuman-readable error message for variable evaluation.
exampleExample value for the variable.
idVariable identifier.
nameVariable name.
patternPattern used to extract the variable.
secureWhether the variable holds a secure value.
typeVariable type.
valEvaluated value of the variable.
valueCurrent value of the variable.
extractedVariables extracted during the test execution.
errError encountered when evaluating the variable.
error_messageHuman-readable error message for variable evaluation.
exampleExample value for the variable.
idVariable identifier.
nameVariable name.
patternPattern used to extract the variable.
secureWhether the variable holds a secure value.
typeVariable type.
valEvaluated value of the variable.
valueCurrent value of the variable.
test_sub_typeSubtype of the Synthetic test that produced this result.
dns, grpc, http, icmp, mcp, multi, ssl, tcp, udp, websockettest_typeType of the Synthetic test that produced this result.
api, browser, mobile, networkidThe result ID.
relationshipsRelationships for a Synthetic test result.
testRelationship to the Synthetic test.
dataData for the test relationship.
idThe public ID of the test.
typeType of the related resource.
typeType of the Synthetic test result resource, result.
resultresultincludedArray of included related resources, such as the test definition.
attributesAttributes of the included resource.
idID of the included resource.
typeType of the included resource.
{
"data": {
"attributes": {
"batch": {
"id": "batch-abc-123"
},
"ci": {
"pipeline": {
"id": "pipeline-abc-123",
"name": "build-and-test",
"number": 42,
"url": "https://github.com/DataDog/example/actions/runs/42"
},
"provider": {
"name": "github"
},
"stage": {
"name": "test"
},
"workspace_path": "/home/runner/work/example"
},
"device": {
"browser": {
"type": "edge",
"user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/127.0.2651.105 DatadogSynthetics",
"version": "127.0.2651.105"
},
"id": "chrome.laptop_large",
"name": "Chrome - Laptop Large",
"platform": {
"name": "ios",
"version": "14.8"
},
"resolution": {
"height": 1100,
"pixel_ratio": 2,
"width": 1440
},
"type": "browser"
},
"git": {
"branch": "main",
"commit": {
"author": {
"date": "2024-08-15T14:23:00Z",
"email": "jane.doe@example.com",
"name": "Jane Doe"
},
"committer": {
"date": "2024-08-15T14:23:00Z",
"email": "jane.doe@example.com",
"name": "Jane Doe"
},
"message": "Fix bug in login flow",
"sha": "9e107d9d372bb6826bd81d3542a419d6f0e1de56",
"url": "https://github.com/DataDog/example/commit/9e107d9d372bb6826bd81d3542a419d6f0e1de56"
},
"repository_url": "https://github.com/DataDog/example"
},
"location": {
"id": "aws:us-east-1",
"name": "N. Virginia (AWS)",
"version": "1.0.0",
"worker_id": "worker-abc-123"
},
"result": {
"assertions": [
{
"actual": 200,
"error_message": "Assertion failed: expected 200 but got 500",
"expected": "200",
"operator": "is",
"property": "content-type",
"target": 200,
"target_path": "$.url",
"target_path_operator": "contains",
"type": "statusCode",
"valid": true
}
],
"bucket_keys": {
"after_step_screenshot": "screenshots/after-step-1-1.png",
"after_turn_screenshot": "screenshots/after-turn-1.png",
"artifacts": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/artifacts__1724521416257.json",
"before_step_screenshot": "screenshots/before-step-1-1.png",
"before_turn_screenshot": "screenshots/before-turn-1.png",
"crash_report": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/crash_report.log",
"device_logs": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/d2z-32s-iax_1340718101990858549_device_logs.log",
"email_messages": [],
"screenshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/step-0__1724521416269.jpeg",
"snapshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/snapshot.html",
"source": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/step-0__1724445301832.xml"
},
"call_type": "unary",
"cert": {
"cipher": "TLS_AES_256_GCM_SHA384",
"exponent": 65537,
"ext_key_usage": [
"1.3.6.1.5.5.7.3.1"
],
"fingerprint": "D6:03:5A:9F:93:E1:B7:28:EC:90:C5:9F:72:30:55:7C:74:5F:53:92",
"fingerprint256": "04:45:93:A9:4C:14:70:47:DB:3C:FC:05:F9:5A:50:4E:DA:DB:A1:C6:37:3D:15:C0:B2:7E:5D:93:5F:A2:02:C7",
"issuer": {
"<any-key>": "string"
},
"modulus": "C0FCE9F9...",
"protocol": "TLSv1.3",
"serial_number": "7B584A1A6670A1EB0941A9A121569D60",
"subject": {
"<any-key>": "string"
},
"tls_version": 1.3,
"valid": {
"from": 1742469686000,
"to": 1749727285000
}
},
"compressed_json_descriptor": "compressedJsonDescriptorValue",
"compressed_steps": "eJzLSM3JyQcABiwCFQ==",
"connection_outcome": "established",
"dns_resolution": {
"attempts": [],
"resolved_ip": "54.243.255.141",
"resolved_port": "443",
"server": "8.8.4.4"
},
"duration": 380.7,
"exited_on_step_success": false,
"failure": {
"code": "TIMEOUT",
"internal_code": "INCORRECT_ASSERTION",
"internal_message": "Assertion failed on step 2",
"message": "Connection timed out"
},
"finished_at": 1723782422760,
"handshake": {
"request": {
"allow_insecure": false,
"body": "{\"key\":\"value\"}",
"call_type": "unary",
"destination_service": "my-service",
"dns_server": "8.8.8.8",
"dns_server_port": 53,
"e2e_queries": 4,
"files": [
{
"bucket_key": "api-upload-file/s3v-msw-tp3/2024-08-20T12:18:27.628081_f433c953-a58a-4296-834b-0669e32ba55f.json",
"encoding": "base64",
"name": "dd_logo_h_rgb.jpg",
"size": 30294,
"type": "image/jpeg"
}
],
"headers": {
"content-type": "application/json"
},
"host": "grpcbin.test.k6.io",
"max_ttl": 64,
"message": "My message",
"method": "GET",
"no_saving_response_body": true,
"port": 9000,
"service": "addsvc.Add",
"source_service": "synthetics",
"timeout": 60,
"tool_name": "search",
"traceroute_queries": 2,
"url": "https://httpbin.org/anything/lol valuehugo"
},
"response": {
"body": "{\"status\":\"ok\"}",
"body_compressed": "eJzLSM3JyQcABiwCFQ==",
"body_hashes": "9e107d9d372bb6826bd81d3542a419d6",
"body_size": 793,
"cache_headers": {
"<any-key>": "string"
},
"cdn": {
"cache": {
"cached": true,
"status": "HIT"
},
"provider": "google_cloud"
},
"close": {
"reason": "Normal closure",
"status_code": 1000
},
"compressed_message": "eJzLSM3JyQcABiwCFQ==",
"headers": {
"content-type": "application/json"
},
"healthcheck": {
"message": {
"<any-key>": "string"
},
"status": 1
},
"http_version": "2.0",
"is_body_truncated": false,
"is_message_truncated": false,
"message": "{\"f_string\":\"concat-STATIC_HIDDEN_VALUE\"}",
"metadata": {
"<any-key>": "string"
},
"records": [
{
"type": "A",
"values": [
"213.186.33.19"
]
}
],
"redirects": [
{
"location": "https://example.com/new-location",
"status_code": 301
}
],
"status_code": 200
}
},
"id": "5158904793181869365",
"initial_id": "5158904793181869365",
"is_fast_retry": true,
"is_last_retry": true,
"netpath": {
"destination": {
"hostname": "34.95.79.70",
"ip_address": "34.95.79.70",
"port": 80
},
"hops": [
{
"hostname": "70.79.95.34.bc.googleusercontent.com",
"ip_address": "10.240.134.15",
"reachable": true,
"rtt": 0.000346599,
"ttl": 2
}
],
"origin": "synthetics",
"pathtrace_id": "5d3cb978-533b-41ce-85a4-3661c8dd6a0b",
"protocol": "TCP",
"source": {
"hostname": "edge-eu1.staging.dog"
},
"tags": [
"synthetics.test_id:nja-epx-mg8"
],
"timestamp": 1744117822266
},
"netstats": {
"hops": {
"avg": 11,
"max": 11,
"min": 11
},
"jitter": 0.08,
"latency": {
"avg": 1.8805,
"max": 1.97,
"min": 1.76
},
"packet_loss_percentage": 0,
"packets_received": 4,
"packets_sent": 4
},
"ocsp": {
"certificate": {
"revocation_reason": "unspecified",
"revocation_time": 1749727285000,
"serial_number": "7B584A1A6670A1EB0941A9A121569D60"
},
"status": "good",
"updates": {
"next_update": 1743074486000,
"produced_at": 1742469686000,
"this_update": 1742469686000
}
},
"ping": {
"host": "34.95.79.70",
"latency": {
"avg": 1.8805,
"max": 1.97,
"min": 1.76
},
"packet_loss_percentage": 0,
"packet_size": 56,
"packets_received": 4,
"packets_sent": 4,
"resolved_ip": "34.95.79.70",
"routers": [
{
"ip": "34.95.79.70",
"resolved_host": "70.79.95.34.bc.googleusercontent.com"
}
]
},
"received_email_count": 1,
"received_message": "UDP echo: b'Test message'",
"request": {
"allow_insecure": false,
"body": "{\"key\":\"value\"}",
"call_type": "unary",
"destination_service": "my-service",
"dns_server": "8.8.8.8",
"dns_server_port": 53,
"e2e_queries": 4,
"files": [
{
"bucket_key": "api-upload-file/s3v-msw-tp3/2024-08-20T12:18:27.628081_f433c953-a58a-4296-834b-0669e32ba55f.json",
"encoding": "base64",
"name": "dd_logo_h_rgb.jpg",
"size": 30294,
"type": "image/jpeg"
}
],
"headers": {
"content-type": "application/json"
},
"host": "grpcbin.test.k6.io",
"max_ttl": 64,
"message": "My message",
"method": "GET",
"no_saving_response_body": true,
"port": 9000,
"service": "addsvc.Add",
"source_service": "synthetics",
"timeout": 60,
"tool_name": "search",
"traceroute_queries": 2,
"url": "https://httpbin.org/anything/lol valuehugo"
},
"resolved_ip": "54.243.255.141",
"response": {
"body": "{\"status\":\"ok\"}",
"body_compressed": "eJzLSM3JyQcABiwCFQ==",
"body_hashes": "9e107d9d372bb6826bd81d3542a419d6",
"body_size": 793,
"cache_headers": {
"<any-key>": "string"
},
"cdn": {
"cache": {
"cached": true,
"status": "HIT"
},
"provider": "google_cloud"
},
"close": {
"reason": "Normal closure",
"status_code": 1000
},
"compressed_message": "eJzLSM3JyQcABiwCFQ==",
"headers": {
"content-type": "application/json"
},
"healthcheck": {
"message": {
"<any-key>": "string"
},
"status": 1
},
"http_version": "2.0",
"is_body_truncated": false,
"is_message_truncated": false,
"message": "{\"f_string\":\"concat-STATIC_HIDDEN_VALUE\"}",
"metadata": {
"<any-key>": "string"
},
"records": [
{
"type": "A",
"values": [
"213.186.33.19"
]
}
],
"redirects": [
{
"location": "https://example.com/new-location",
"status_code": 301
}
],
"status_code": 200
},
"run_type": "scheduled",
"sent_message": "udp mess",
"start_url": "http://34.95.79.70/prototype",
"started_at": 1723782422750,
"status": "passed",
"steps": [
{
"allow_failure": false,
"api_test": {},
"assertion_result": {
"actual": "True\ngood\ngood\ngood\ngood\nTrue",
"check_type": "contains",
"expected": "True good good good good True",
"has_secure_variables": false
},
"assertions": [
{
"actual": 200,
"error_message": "Assertion failed: expected 200 but got 500",
"expected": "200",
"operator": "is",
"property": "content-type",
"target": 200,
"target_path": "$.url",
"target_path_operator": "contains",
"type": "statusCode",
"valid": true
}
],
"blocked_requests_urls": [],
"bounds": {
"height": 37,
"width": 343,
"x": 16,
"y": 140
},
"browser_errors": [
{
"description": "Failed to fetch resource",
"method": "GET",
"name": "NetworkError",
"status": 500,
"type": "network",
"url": {}
}
],
"bucket_keys": {
"after_step_screenshot": "screenshots/after-step-1-1.png",
"after_turn_screenshot": "screenshots/after-turn-1.png",
"artifacts": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/artifacts__1724521416257.json",
"before_step_screenshot": "screenshots/before-step-1-1.png",
"before_turn_screenshot": "screenshots/before-turn-1.png",
"crash_report": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/crash_report.log",
"device_logs": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/d2z-32s-iax_1340718101990858549_device_logs.log",
"email_messages": [],
"screenshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/step-0__1724521416269.jpeg",
"snapshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/snapshot.html",
"source": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/step-0__1724445301832.xml"
},
"cdn_resources": [
{
"cdn": {
"cache": {
"cached": true,
"status": "HIT"
},
"provider": "google_cloud"
},
"resolved_ip": "34.95.79.70",
"timestamp": 1724521406576,
"timings": {
"firstByte": 99.7,
"tcp": 0.9
}
}
],
"click_type": "primary",
"compressed_json_descriptor": "compressedJsonDescriptorValue",
"config": {},
"description": "Navigate to start URL",
"duration": 1015,
"element_description": "<XCUIElementTypeStaticText value=\"Scroll\" name=\"Scroll\" label=\"Scroll\">",
"element_updates": {
"multi_locator": {
"<any-key>": "string"
},
"target_outer_html": "<h1>My website - v4</h1>",
"version": 3
},
"extracted_value": {
"err": "LOCAL_VARIABLE_UNKNOWN",
"error_message": "Unknown variable name undefined.",
"example": "lol value",
"id": "c896702c-1e34-4e62-a67b-432e8092d062",
"name": "HEADER_VALUE",
"pattern": "lol value",
"secure": false,
"type": "text",
"val": "value-to-extract",
"value": "lol value"
},
"failure": {
"code": "TIMEOUT",
"internal_code": "INCORRECT_ASSERTION",
"internal_message": "Assertion failed on step 2",
"message": "Connection timed out"
},
"http_results": [
{
"actual": 200,
"error_message": "Assertion failed: expected 200 but got 500",
"expected": "200",
"operator": "is",
"property": "content-type",
"target": 200,
"target_path": "$.url",
"target_path_operator": "contains",
"type": "statusCode",
"valid": true
}
],
"id": "fkk-j2a-gmw",
"is_critical": true,
"javascript_custom_assertion_code": false,
"locate_element_duration": 845,
"name": "Extract variable from body",
"request": {
"allow_insecure": false,
"body": "{\"key\":\"value\"}",
"call_type": "unary",
"destination_service": "my-service",
"dns_server": "8.8.8.8",
"dns_server_port": 53,
"e2e_queries": 4,
"files": [
{
"bucket_key": "api-upload-file/s3v-msw-tp3/2024-08-20T12:18:27.628081_f433c953-a58a-4296-834b-0669e32ba55f.json",
"encoding": "base64",
"name": "dd_logo_h_rgb.jpg",
"size": 30294,
"type": "image/jpeg"
}
],
"headers": {
"content-type": "application/json"
},
"host": "grpcbin.test.k6.io",
"max_ttl": 64,
"message": "My message",
"method": "GET",
"no_saving_response_body": true,
"port": 9000,
"service": "addsvc.Add",
"source_service": "synthetics",
"timeout": 60,
"tool_name": "search",
"traceroute_queries": 2,
"url": "https://httpbin.org/anything/lol valuehugo"
},
"response": {
"body": "{\"status\":\"ok\"}",
"body_compressed": "eJzLSM3JyQcABiwCFQ==",
"body_hashes": "9e107d9d372bb6826bd81d3542a419d6",
"body_size": 793,
"cache_headers": {
"<any-key>": "string"
},
"cdn": {
"cache": {
"cached": true,
"status": "HIT"
},
"provider": "google_cloud"
},
"close": {
"reason": "Normal closure",
"status_code": 1000
},
"compressed_message": "eJzLSM3JyQcABiwCFQ==",
"headers": {
"content-type": "application/json"
},
"healthcheck": {
"message": {
"<any-key>": "string"
},
"status": 1
},
"http_version": "2.0",
"is_body_truncated": false,
"is_message_truncated": false,
"message": "{\"f_string\":\"concat-STATIC_HIDDEN_VALUE\"}",
"metadata": {
"<any-key>": "string"
},
"records": [
{
"type": "A",
"values": [
"213.186.33.19"
]
}
],
"redirects": [
{
"location": "https://example.com/new-location",
"status_code": 301
}
],
"status_code": 200
},
"retries": [],
"retry_count": 0,
"rum_context": {
"application_id": "00000000-0000-0000-0000-000000000000",
"session_id": "11111111-1111-1111-1111-111111111111",
"view_id": "22222222-2222-2222-2222-222222222222"
},
"started_at": 1724445283308,
"status": "passed",
"sub_step": {
"level": 1,
"parent_step": {
"id": "fkk-j2a-gmw"
},
"parent_test": {
"id": "abc-def-123"
}
},
"sub_test": {
"id": "abc-def-123",
"playing_tab": 0,
"rum_context": {
"application_id": "00000000-0000-0000-0000-000000000000",
"session_id": "11111111-1111-1111-1111-111111111111",
"view_id": "22222222-2222-2222-2222-222222222222"
}
},
"subtype": "http",
"tabs": [
{
"focused": true,
"title": "Team Browser mini-websites",
"url": "http://34.95.79.70/prototype"
}
],
"timings": {},
"tunnel": false,
"type": "click",
"url": "http://34.95.79.70/prototype",
"value": "http://34.95.79.70/prototype",
"variables": {
"config": [
{
"err": "LOCAL_VARIABLE_UNKNOWN",
"error_message": "Unknown variable name undefined.",
"example": "lol value",
"id": "c896702c-1e34-4e62-a67b-432e8092d062",
"name": "HEADER_VALUE",
"pattern": "lol value",
"secure": false,
"type": "text",
"val": "value-to-extract",
"value": "lol value"
}
],
"extracted": [
{
"err": "LOCAL_VARIABLE_UNKNOWN",
"error_message": "Unknown variable name undefined.",
"example": "lol value",
"id": "c896702c-1e34-4e62-a67b-432e8092d062",
"name": "HEADER_VALUE",
"pattern": "lol value",
"secure": false,
"type": "text",
"val": "value-to-extract",
"value": "lol value"
}
]
},
"vitals_metrics": [
{
"cls": 0,
"fcp": 120.3,
"inp": 85,
"lcp": 210.5,
"ttfb": 95.2,
"url": "http://34.95.79.70/prototype"
}
],
"warnings": [
{
"element_bounds": [
{
"height": 37,
"width": 343,
"x": 16,
"y": 140
}
],
"message": "Element is not visible in the viewport",
"type": "visibility"
}
]
}
],
"time_to_interactive": 183,
"timings": {
"dns": 2.9,
"download": 2.1,
"firstByte": 95.2,
"ssl": 187.9,
"tcp": 92.6,
"total": 380.7
},
"trace": {
"id": "5513046492231128177",
"otel_id": "d8ba00eb1507bdba8643ba8e7a1c022c"
},
"traceroute": [
{
"host": "34.95.79.70",
"latency": {
"avg": 1.8805,
"max": 1.97,
"min": 1.76
},
"packet_loss_percentage": 0,
"packet_size": 56,
"packets_received": 4,
"packets_sent": 4,
"resolved_ip": "34.95.79.70",
"routers": [
{
"ip": "34.95.79.70",
"resolved_host": "70.79.95.34.bc.googleusercontent.com"
}
]
}
],
"triggered_at": 1723782422715,
"tunnel": false,
"turns": [
{
"bucket_keys": {
"after_step_screenshot": "screenshots/after-step-1-1.png",
"after_turn_screenshot": "screenshots/after-turn-1.png",
"artifacts": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/artifacts__1724521416257.json",
"before_step_screenshot": "screenshots/before-step-1-1.png",
"before_turn_screenshot": "screenshots/before-turn-1.png",
"crash_report": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/crash_report.log",
"device_logs": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/d2z-32s-iax_1340718101990858549_device_logs.log",
"email_messages": [],
"screenshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/step-0__1724521416269.jpeg",
"snapshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/snapshot.html",
"source": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/step-0__1724445301832.xml"
},
"name": "Turn 1",
"reasoning": "I need to navigate to the chairs section",
"status": "passed",
"steps": [
{
"bucket_keys": {
"after_step_screenshot": "screenshots/after-step-1-1.png",
"after_turn_screenshot": "screenshots/after-turn-1.png",
"artifacts": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/artifacts__1724521416257.json",
"before_step_screenshot": "screenshots/before-step-1-1.png",
"before_turn_screenshot": "screenshots/before-turn-1.png",
"crash_report": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/crash_report.log",
"device_logs": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/d2z-32s-iax_1340718101990858549_device_logs.log",
"email_messages": [],
"screenshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/step-0__1724521416269.jpeg",
"snapshot": "2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/snapshot.html",
"source": "2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/step-0__1724445301832.xml"
},
"config": {
"id": "step-1",
"name": "Click on div \"Chairs\"",
"type": "click"
}
}
],
"turn_finished_at": 1724521438800,
"turn_started_at": 1724521436800
}
],
"unhealthy": false,
"variables": {
"config": [
{
"err": "LOCAL_VARIABLE_UNKNOWN",
"error_message": "Unknown variable name undefined.",
"example": "lol value",
"id": "c896702c-1e34-4e62-a67b-432e8092d062",
"name": "HEADER_VALUE",
"pattern": "lol value",
"secure": false,
"type": "text",
"val": "value-to-extract",
"value": "lol value"
}
],
"extracted": [
{
"err": "LOCAL_VARIABLE_UNKNOWN",
"error_message": "Unknown variable name undefined.",
"example": "lol value",
"id": "c896702c-1e34-4e62-a67b-432e8092d062",
"name": "HEADER_VALUE",
"pattern": "lol value",
"secure": false,
"type": "text",
"val": "value-to-extract",
"value": "lol value"
}
]
}
},
"test_sub_type": "http",
"test_type": "api"
},
"id": "5158904793181869365",
"relationships": {
"test": {
"data": {
"id": "abc-def-123",
"type": "test"
}
}
},
"type": "result"
},
"included": [
{
"attributes": {},
"id": "abc-def-123",
"type": "test"
}
]
}API error response.
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}API error response.
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Code Example
# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v2/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"// Get a browser test result returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewSyntheticsApi(apiClient)
resp, r, err := api.GetSyntheticsBrowserTestResult(ctx, "public_id", "result_id", *datadogV2.NewGetSyntheticsBrowserTestResultOptionalParameters())
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `SyntheticsApi.GetSyntheticsBrowserTestResult`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `SyntheticsApi.GetSyntheticsBrowserTestResult`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Get a browser test result returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.SyntheticsApi;
import com.datadog.api.client.v2.model.SyntheticsTestResultResponse;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);
try {
SyntheticsTestResultResponse result =
apiInstance.getSyntheticsBrowserTestResult("public_id", "result_id");
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SyntheticsApi#getSyntheticsBrowserTestResult");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Get a browser test result returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.synthetics_api import SyntheticsApi
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = SyntheticsApi(api_client)
response = api_instance.get_synthetics_browser_test_result(
public_id="public_id",
result_id="result_id",
)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Get a browser test result returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::SyntheticsAPI.new
p api_instance.get_synthetics_browser_test_result("public_id", "result_id")
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Get a browser test result returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_synthetics::GetSyntheticsBrowserTestResultOptionalParams;
use datadog_api_client::datadogV2::api_synthetics::SyntheticsAPI;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = SyntheticsAPI::with_config(configuration);
let resp = api
.get_synthetics_browser_test_result(
"public_id".to_string(),
"result_id".to_string(),
GetSyntheticsBrowserTestResultOptionalParams::default(),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-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, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.SyntheticsApi(configuration);
const params: v2.SyntheticsApiGetSyntheticsBrowserTestResultRequest = {
publicId: "public_id",
resultId: "result_id",
};
apiInstance
.getSyntheticsBrowserTestResult(params)
.then((data: v2.SyntheticsTestResultResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"https://api.datadoghq.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.us3.datadoghq.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.us5.datadoghq.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.datadoghq.eu/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.ap1.datadoghq.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.ap2.datadoghq.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.uk1.datadoghq.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.ddog-gov.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}https://api.us2.ddog-gov.com/api/v1/synthetics/tests/browser/{public_id}/results/{result_id}Overview
Get a specific full result from a given Synthetic browser test.
OAuth apps require the synthetics_read authorization scope to access this endpoint.
Arguments
Path Parameters
public_id [required]The public ID of the browser test to which the target result belongs.
result_id [required]The ID of the result to get.
Response
OK
Object returned describing a browser test result.
checkObject describing the browser test configuration.
config [required]Configuration object for a Synthetic test.
assertionsArray of assertions used for the test. Required for single API tests.
Object 1An assertion which uses a simple target.
operator [required]Assertion operator to apply.
contains, doesNotContain, is, isNot, lessThan, lessThanOrEqual, moreThan, moreThanOrEqual, matches, doesNotMatchShow 5 more
validates, isInMoreThan, isInLessThan, doesNotExist, isUndefinedpropertyThe associated assertion property.
target [required]Value used by the operator.
Object 1Numeric value used by the operator in assertions.
Object 2String value used by the operator in assertions. Supports templated variables.
timingsScopeTimings scope for response time assertions.
all, withoutDNStype [required]Type of the assertion.
body, header, statusCode, certificate, responseTime, property, recordEvery, recordSome, tlsVersion, minTlsVersionShow 13 more
latency, packetLossPercentage, packetsReceived, networkHop, receivedMessage, grpcHealthcheckStatus, grpcMetadata, grpcProto, connection, multiNetworkHop, jitter, mcpToolNameLength, mcpToolCountObject 2An assertion which targets body hash.
operator [required]Assertion operator to apply.
md5, sha1, sha256target [required]Value used by the operator.
Object 1Numeric value used by the operator in assertions.
Object 2String value used by the operator in assertions. Supports templated variables.
type [required]Type of the assertion.
bodyHashObject 3An assertion for the validatesJSONPath operator.
operator [required]Assertion operator to apply.
validatesJSONPathpropertyThe associated assertion property.
targetComposed target for validatesJSONPath operator.
elementsOperatorThe 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.
jsonPathThe JSON path to assert.
operatorThe specific operator to use on the path.
targetValueThe path target value to compare to.
Object 1Numeric value used by the operator in assertions.
Object 2String value used by the operator in assertions. Supports templated variables.
type [required]Type of the assertion.
body, header, statusCode, certificate, responseTime, property, recordEvery, recordSome, tlsVersion, minTlsVersionShow 13 more
latency, packetLossPercentage, packetsReceived, networkHop, receivedMessage, grpcHealthcheckStatus, grpcMetadata, grpcProto, connection, multiNetworkHop, jitter, mcpToolNameLength, mcpToolCountObject 4An assertion for the validatesJSONSchema operator.
operator [required]Assertion operator to apply.
validatesJSONSchematargetComposed target for validatesJSONSchema operator.
jsonSchemaThe JSON Schema to assert.
metaSchemaThe JSON Schema meta-schema version used in the assertion.
draft-07, draft-06type [required]Type of the assertion.
body, header, statusCode, certificate, responseTime, property, recordEvery, recordSome, tlsVersion, minTlsVersionShow 13 more
latency, packetLossPercentage, packetsReceived, networkHop, receivedMessage, grpcHealthcheckStatus, grpcMetadata, grpcProto, connection, multiNetworkHop, jitter, mcpToolNameLength, mcpToolCountObject 5An assertion for the validatesXPath operator.
operator [required]Assertion operator to apply.
validatesXPathpropertyThe associated assertion property.
targetComposed target for validatesXPath operator.
operatorThe specific operator to use on the path.
targetValueThe path target value to compare to.
Object 1Numeric value used by the operator in assertions.
Object 2String value used by the operator in assertions. Supports templated variables.
xPathThe X path to assert.
type [required]Type of the assertion.
body, header, statusCode, certificate, responseTime, property, recordEvery, recordSome, tlsVersion, minTlsVersionShow 13 more
latency, packetLossPercentage, packetsReceived, networkHop, receivedMessage, grpcHealthcheckStatus, grpcMetadata, grpcProto, connection, multiNetworkHop, jitter, mcpToolNameLength, mcpToolCountObject 6A JavaScript assertion.
code [required]The JavaScript code that performs the assertions.
type [required]Type of the assertion.
javascriptObject 7An assertion that checks that an MCP server advertises the expected capabilities.
operator [required]Assertion operator to apply.
contains, doesNotContain, is, isNot, lessThan, lessThanOrEqual, moreThan, moreThanOrEqual, matches, doesNotMatchShow 5 more
validates, isInMoreThan, isInLessThan, doesNotExist, isUndefinedtarget [required]List of MCP server capabilities to assert against.
type [required]Type of the assertion.
mcpServerCapabilitiesObject 8An assertion that verifies the MCP server response respects the MCP specification.
type [required]Type of the assertion.
mcpRespectsSpecificationconfigVariablesArray of variables used for the test.
exampleExample for the variable.
idID of the variable for global variables.
name [required]Name of the variable.
patternPattern of the variable.
secureWhether the value of this variable will be obfuscated in test results. Only for config variables of type text.
type [required]Type of the configuration variable.
global, text, emailrequestObject describing the Synthetic test request.
allow_insecureAllows loading insecure content for an HTTP request in a multistep test step.
basicAuthObject to handle basic authentication when performing the test.
<type=web>Object to handle basic authentication when performing the test.
passwordPassword to use for the basic authentication.
typeThe type of basic authentication to use when performing the test.
webwebusernameUsername to use for the basic authentication.
<type=sigv4>Object to handle SIGV4 authentication when performing the test.
accessKey [required]Access key for the SIGV4 authentication.
regionRegion for the SIGV4 authentication.
secretKey [required]Secret key for the SIGV4 authentication.
serviceNameService name for the SIGV4 authentication.
sessionTokenSession token for the SIGV4 authentication.
type [required]The type of authentication to use when performing the test.
sigv4sigv4<type=ntlm>Object to handle NTLM authentication when performing the test.
domainDomain for the authentication to use when performing the test.
passwordPassword for the authentication to use when performing the test.
type [required]The type of authentication to use when performing the test.
ntlmntlmusernameUsername for the authentication to use when performing the test.
workstationWorkstation for the authentication to use when performing the test.
<type=digest>Object to handle digest authentication when performing the test.
password [required]Password to use for the digest authentication.
type [required]The type of basic authentication to use when performing the test.
digestdigestusername [required]Username to use for the digest authentication.
<type=oauth-client>Object to handle oauth client authentication when performing the test.
accessTokenUrl [required]Access token URL to use when performing the authentication.
audienceAudience to use when performing the authentication.
clientId [required]Client ID to use when performing the authentication.
clientSecret [required]Client secret to use when performing the authentication.
resourceResource to use when performing the authentication.
scopeScope to use when performing the authentication.
tokenApiAuthentication [required]Type of token to use when performing the authentication.
header, bodytype [required]The type of basic authentication to use when performing the test.
oauth-clientoauth-client<type=oauth-rop>Object to handle oauth rop authentication when performing the test.
accessTokenUrl [required]Access token URL to use when performing the authentication.
audienceAudience to use when performing the authentication.
clientIdClient ID to use when performing the authentication.
clientSecretClient secret to use when performing the authentication.
password [required]Password to use when performing the authentication.
resourceResource to use when performing the authentication.
scopeScope to use when performing the authentication.
tokenApiAuthentication [required]Type of token to use when performing the authentication.
header, bodytype [required]The type of basic authentication to use when performing the test.
oauth-ropoauth-ropusername [required]Username to use when performing the authentication.
<type=jwt>Object to handle JWT authentication when performing the test.
addClaimsStandard JWT claims to automatically inject.
expWhether to inject the exp (expiration) claim.
iatWhether to inject the iat (issued at) claim.
algorithm [required]Algorithm to use for the JWT authentication.
HS256, RS256, ES256expiresInToken time-to-live in seconds.
headerCustom JWT header as a JSON string.
payload [required]JWT claims as a JSON string.
secret [required]Signing key for the JWT authentication. Use the shared secret for HS256
or the private key (PEM format) for RS256 and ES256.
tokenPrefixPrefix added before the token in the Authorization header. Defaults to Bearer.
type [required]The type of authentication to use when performing the test.
jwtjwtbodyBody to include in the test.
bodyTypeType of the request body.
text/plain, application/json, text/xml, text/html, application/x-www-form-urlencoded, graphql, application/octet-stream, multipart/form-datacallTypeThe type of call to perform. Used by gRPC steps (healthcheck, unary)
and MCP steps (init, tool_list, tool_call). Valid values depend on
the parent step's subtype.
healthcheck, unary, init, tool_list, tool_callcertificateClient certificate to use when performing the test request.
certDefine a request certificate.
contentContent of the certificate or key.
filenameFile name for the certificate or key.
updatedAtDate of update of the certificate or key, ISO format.
keyDefine a request certificate.
contentContent of the certificate or key.
filenameFile name for the certificate or key.
updatedAtDate of update of the certificate or key, ISO format.
certificateDomainsBy 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.
checkCertificateRevocationCheck for certificate revocation.
compressedJsonDescriptorA protobuf JSON descriptor that needs to be gzipped first then base64 encoded.
compressedProtoFileA protobuf file that needs to be gzipped first then base64 encoded.
disableAiaIntermediateFetchingDisable fetching intermediate certificates from AIA.
dnsServerDNS server to use for DNS tests.
dnsServerPortDNS server port to use for DNS tests.
Object 1Integer DNS server port number to use when performing the test.
Object 2String DNS server port number to use when performing the test. Supports templated variables.
filesFiles to be used as part of the request in the test. Only valid if bodyType is multipart/form-data.
bucketKeyBucket key of the file.
contentContent of the file.
encodingEncoding of the file content. The only supported value is base64, indicating the content field contains base64-encoded data.
nameName of the file.
originalFileNameOriginal name of the file.
sizeSize of the file.
typeType of the file.
follow_redirectsSpecifies whether or not the request follows redirects.
formForm to be used as part of the request in the test. Only valid if bodyType is multipart/form-data.
<any-key>A single form entry.
headersHeaders to include when performing the test.
<any-key>A single Header.
hostHost name to perform the test with.
httpVersionHTTP version to use for a Synthetic test.
http1, http2, anyignore_certificate_validationFor SSL tests, whether the test should ignore certificate validation.
isMessageBase64EncodedWhether the message is base64 encoded.
mcpProtocolVersionThe MCP protocol version used by the step. See https://modelcontextprotocol.io/specification.
2025-06-18messageMessage to send for UDP or WebSocket tests.
metadataMetadata to include when performing the gRPC test.
<any-key>A single metadatum.
methodEither 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.
noSavingResponseBodyDetermines whether or not to save the response body.
numberOfPacketsNumber of pings to use per test.
persistCookiesPersist cookies across redirects.
portPort to use when performing the test.
Object 1Integer Port number to use when performing the test.
Object 2String Port number to use when performing the test. Supports templated variables.
proxyThe proxy to perform the test.
headersHeaders to include when performing the test.
<any-key>A single Header.
url [required]URL of the proxy to perform the test.
queryQuery to use for the test.
servernameFor 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.
serviceThe gRPC service on which you want to perform the gRPC call.
shouldTrackHopsTurns on a traceroute probe to discover all gateways along the path to the host destination.
timeoutTimeout in seconds for the test.
toolArgsArguments to pass to the MCP tool. Free-form object whose shape depends on the tool. Used when callType is tool_call.
toolNameThe name of the MCP tool to call. Required when callType is tool_call.
urlURL to perform the test with.
variablesBrowser tests only - array of variables used for the test steps.
exampleExample for the variable.
idID for the variable. Global variables require an ID.
name [required]Name of the variable.
patternPattern of the variable.
secureDetermines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type text.
type [required]Type of browser test variable.
element, email, global, textcheck_timeWhen the browser test was conducted.
check_versionVersion of the browser test used.
probe_dcLocation from which the browser test was performed.
resultObject containing results for your Synthetic browser test.
browserTypeType of browser device used for the browser test.
browserVersionBrowser version used for the browser test.
deviceObject describing the device used to perform the Synthetic test.
height [required]Screen height of the device.
id [required]The device ID.
isMobileWhether or not the device is a mobile.
name [required]The device name.
width [required]Screen width of the device.
durationGlobal duration in second of the browser test.
errorError returned for the browser test.
failureThe browser test failure details.
codeError code that can be returned by a Synthetic test.
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_DETACHEDShow 23 more
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_NAMEmessageThe browser test error message.
passedWhether or not the browser test was conducted.
receivedEmailCountThe amount of email received during the browser test.
startUrlStarting URL for the browser test.
stepDetailsArray containing the different browser test steps.
allowFailureWhether or not the step was allowed to fail.
browserErrorsArray of errors collected for a browser test.
description [required]Description of the error.
name [required]Name of the error.
statusStatus Code of the error.
type [required]Error type returned by a browser test.
network, jscheckTypeType of assertion to apply in an API test.
equals, notEquals, contains, notContains, startsWith, notStartsWith, greater, lower, greaterEquals, lowerEqualsShow 4 more
matchRegex, between, isEmpty, notIsEmptydescriptionDescription of the test.
durationTotal duration in millisecond of the test.
errorError returned by the test.
failureThe browser test failure details.
codeError code that can be returned by a Synthetic test.
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_DETACHEDShow 23 more
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_NAMEmessageThe browser test error message.
playingTabNavigate between different tabs for your browser test.
-1, 0, 1, 2, 3screenshotBucketKeyWhether or not screenshots where collected by the test.
skippedWhether or not to skip this step.
snapshotBucketKeyWhether or not snapshots where collected by the test.
stepIdThe step ID.
timeToInteractiveTime before starting the step.
typeStep type used in your Synthetic test.
assertCurrentUrl, assertElementAttribute, assertElementContent, assertElementPresent, assertEmail, assertFileDownload, assertFromJavascript, assertPageContains, assertPageLacks, assertRequestsShow 19 more
click, drag, drop, extractFromJavascript, extractFromEmailBody, extractVariable, goToEmailLink, goToUrl, goToUrlAndMeasureTti, hover, playSubTest, pressKey, refresh, runApiTest, scroll, selectOption, typeText, uploadFiles, waiturlURL to perform the step against.
valueValue for the step.
vitalsMetricsArray of Core Web Vitals metrics for the step.
clsCumulative Layout Shift.
lcpLargest Contentful Paint in milliseconds.
urlURL attached to the metrics.
warningsWarning collected that didn't failed the step.
message [required]Message for the warning.
type [required]User locator used.
user_locatorthumbnailsBucketKeyWhether or not a thumbnail is associated with the browser test.
timeToInteractiveTime in second to wait before the browser test starts after reaching the start URL.
result_idID of the browser test result.
statusThe status of your Synthetic monitor.
Ofor not triggered1for triggered2for no data
0, 1, 2{
"check": {
"config": {
"assertions": [
{
"operator": "contains",
"property": "string",
"target": 0,
"timingsScope": "string",
"type": "statusCode"
}
],
"configVariables": [
{
"example": "string",
"id": "string",
"name": "VARIABLE_NAME",
"pattern": "string",
"secure": false,
"type": "text"
}
],
"request": {
"allow_insecure": false,
"basicAuth": {
"password": "PaSSw0RD!",
"type": "web",
"username": "my_username"
},
"body": "string",
"bodyType": "text/plain",
"callType": "unary",
"certificate": {
"cert": {
"content": "string",
"filename": "string",
"updatedAt": "string"
},
"key": {
"content": "string",
"filename": "string",
"updatedAt": "string"
}
},
"certificateDomains": [],
"checkCertificateRevocation": false,
"compressedJsonDescriptor": "string",
"compressedProtoFile": "string",
"disableAiaIntermediateFetching": false,
"dnsServer": "string",
"dnsServerPort": {
"description": "undefined",
"format": "undefined",
"type": "undefined"
},
"files": [
{
"bucketKey": "string",
"content": "string",
"encoding": "string",
"name": "string",
"originalFileName": "string",
"size": "integer",
"type": "string"
}
],
"follow_redirects": false,
"form": {
"<any-key>": "string"
},
"headers": {
"<any-key>": "string"
},
"host": "string",
"httpVersion": "string",
"ignore_certificate_validation": false,
"isMessageBase64Encoded": false,
"mcpProtocolVersion": "2025-06-18",
"message": "string",
"metadata": {
"<any-key>": "string"
},
"method": "string",
"noSavingResponseBody": false,
"numberOfPackets": "integer",
"persistCookies": false,
"port": {
"description": "undefined",
"format": "undefined",
"type": "undefined"
},
"proxy": {
"headers": {
"<any-key>": "string"
},
"url": "https://example.com"
},
"query": {},
"servername": "string",
"service": "Greeter",
"shouldTrackHops": false,
"timeout": "number",
"toolArgs": {},
"toolName": "search",
"url": "https://example.com"
},
"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"
}Forbidden
Error response object.
errors [required]Array of errors returned by the API.
{
"errors": [
"Bad Request"
]
}- Synthetic Monitoring is not activated for the user - Test or result is not owned by the user
Error response object.
errors [required]Array of errors returned by the API.
{
"errors": [
"Bad Request"
]
}Too many requests
Error response object.
errors [required]Array of errors returned by the API.
{
"errors": [
"Bad Request"
]
}Code Example
# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"# Path parameters
export public_id="CHANGE_ME"
export result_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X GET "https://api.${DD_SITE}/api/v1/synthetics/tests/browser/${public_id}/results/${result_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"// Get a browser test result returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV1"
)
func main() {
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV1.NewSyntheticsApi(apiClient)
resp, r, err := api.GetBrowserTestResult(ctx, "2yy-sem-mjh", "5671719892074090418")
if err != 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)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Get a browser test result returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v1.api.SyntheticsApi;
import com.datadog.api.client.v1.model.SyntheticsBrowserTestResultFull;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);
try {
SyntheticsBrowserTestResultFull result =
apiInstance.getBrowserTestResult("2yy-sem-mjh", "5671719892074090418");
System.out.println(result);
} catch (ApiException e) {
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();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Get a browser test result returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.synthetics_api import SyntheticsApi
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = SyntheticsApi(api_client)
response = api_instance.get_browser_test_result(
public_id="2yy-sem-mjh",
result_id="5671719892074090418",
)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Get a browser test result returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
p api_instance.get_browser_test_result("2yy-sem-mjh", "5671719892074090418")
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Get a browser test result returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;
#[tokio::main]
async fn main() {
let configuration = datadog::Configuration::new();
let api = SyntheticsAPI::with_config(configuration);
let resp = api
.get_browser_test_result("2yy-sem-mjh".to_string(), "5671719892074090418".to_string())
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-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";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v1.SyntheticsApi(configuration);
const params: 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));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"