Get a specific version of a test

GET https://api.ap1.datadoghq.com/api/v2/synthetics/tests/{public_id}/version_history/{version_number}https://api.ap2.datadoghq.com/api/v2/synthetics/tests/{public_id}/version_history/{version_number}https://api.datadoghq.eu/api/v2/synthetics/tests/{public_id}/version_history/{version_number}https://api.ddog-gov.com/api/v2/synthetics/tests/{public_id}/version_history/{version_number}https://api.us2.ddog-gov.com/api/v2/synthetics/tests/{public_id}/version_history/{version_number}https://api.datadoghq.com/api/v2/synthetics/tests/{public_id}/version_history/{version_number}https://api.us3.datadoghq.com/api/v2/synthetics/tests/{public_id}/version_history/{version_number}https://api.us5.datadoghq.com/api/v2/synthetics/tests/{public_id}/version_history/{version_number}

Overview

Get a specific version of a Synthetic test by its version number. This endpoint requires the synthetics_read permission.

OAuth apps require the synthetics_read authorization scope to access this endpoint.

Arguments

Path Parameters

Name

Type

Description

public_id [required]

string

The public ID of the Synthetic test.

version_number [required]

integer

The version number to retrieve.

Query Strings

Name

Type

Description

include_change_metadata

boolean

If true, include change metadata in the response.

only_check_existence

boolean

If true, only check whether the version exists without returning its full payload. Returns an empty object if the version exists, or 404 if not.

Response

OK

Response containing a specific version of a Synthetic test.

Expand All

Field

Type

Description

data

object

Data object for a specific Synthetic test version.

attributes

object

Attributes of a specific Synthetic test version.

author

object

Object describing the author of a test version.

email

string

Email address of the author.

handle

string

The author's Datadog handle (login username).

id

string

UUID of the author.

name

string

Display name of the author.

change_metadata

[object]

List of metadata describing individual changes in this version. Only returned when the include_change_metadata query parameter is true.

action

string

The action that was performed (for example, updated or created).

action_metadata

object

Object containing metadata about a change action.

after_value

The value of the property after the change.

before_value

The value of the property before the change.

diff_patches

[object]

List of diff patches for text changes.

diffs

[object]

List of individual diff operations.

change_text

string

The text that was changed.

operation

string

The diff operation applied.

length1

int64

Length of the original text segment.

length2

int64

Length of the modified text segment.

start1

int64

Start position in the original text.

start2

int64

Start position in the modified text.

property_path

string

The dot-separated path of the property that was changed.

payload

object

The full test configuration at this version.

version_payload_created_at

date-time

Timestamp of when this version was created.

id

string

UUID of the version record.

type

enum

Type of the version resource. Allowed enum values: version

default: version

{
  "data": {
    "attributes": {
      "author": {
        "email": "john.doe@example.com",
        "handle": "john.doe",
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "John Doe"
      },
      "change_metadata": [
        {
          "action": "string",
          "action_metadata": {
            "after_value": "undefined",
            "before_value": "undefined",
            "diff_patches": [
              {
                "diffs": [
                  {
                    "change_text": "string",
                    "operation": "string"
                  }
                ],
                "length1": "integer",
                "length2": "integer",
                "start1": "integer",
                "start2": "integer"
              }
            ],
            "property_path": "string"
          }
        }
      ],
      "payload": {},
      "version_payload_created_at": "2024-01-01T00:00:00+00:00"
    },
    "id": "00000000-0000-0000-0000-000000000000",
    "type": "version"
  }
}

API error response.

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                  # Path parameters
export public_id="CHANGE_ME"
export version_number="CHANGE_ME"
# Curl command
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/synthetics/tests/${public_id}/version_history/${version_number}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
"""
Get a specific version of a test returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.synthetics_api import SyntheticsApi

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = SyntheticsApi(api_client)
    response = api_instance.get_synthetics_test_version(
        public_id="public_id",
        version_number=9223372036854775807,
    )

    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Get a specific version of a test returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::SyntheticsAPI.new
p api_instance.get_synthetics_test_version("public_id", 9223372036854775807)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Get a specific version of a test returns "OK" response

package main

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

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

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewSyntheticsApi(apiClient)
	resp, r, err := api.GetSyntheticsTestVersion(ctx, "public_id", 9223372036854775807, *datadogV2.NewGetSyntheticsTestVersionOptionalParameters())

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

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `SyntheticsApi.GetSyntheticsTestVersion`:\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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Get a specific version of a test 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.SyntheticsTestVersionResponse;

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

    try {
      SyntheticsTestVersionResponse result =
          apiInstance.getSyntheticsTestVersion("public_id", 9223372036854775807L);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling SyntheticsApi#getSyntheticsTestVersion");
      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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Get a specific version of a test returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_synthetics::GetSyntheticsTestVersionOptionalParams;
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_test_version(
            "public_id".to_string(),
            9223372036854775807,
            GetSyntheticsTestVersionOptionalParams::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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Get a specific version of a test returns "OK" response
 */

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

const configuration = client.createConfiguration();
const apiInstance = new v2.SyntheticsApi(configuration);

const params: v2.SyntheticsApiGetSyntheticsTestVersionRequest = {
  publicId: "public_id",
  versionNumber: 9223372036854775807,
};

apiInstance
  .getSyntheticsTestVersion(params)
  .then((data: v2.SyntheticsTestVersionResponse) => {
    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.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"