Back to Collection Items
<?php
include("chilkat_9_5_0.php");
$json->UpdateString('config.assertions[0].operator','lessThan');$json->UpdateInt('config.assertions[0].target',1000);$json->UpdateString('config.assertions[0].type','responseTime');$json->UpdateString('config.assertions[1].operator','is');$json->UpdateInt('config.assertions[1].target',200);$json->UpdateString('config.assertions[1].type','statusCode');$json->UpdateString('config.assertions[2].operator','is');$json->UpdateString('config.assertions[2].property','content-type');$json->UpdateString('config.assertions[2].target','text/html; charset=UTF-8');$json->UpdateString('config.assertions[2].type','header');$json->UpdateString('config.request.method','GET');$json->UpdateString('config.request.url','https://example.com');$json->UpdateString('locations[0]','azure:eastus');$json->UpdateString('locations[1]','aws:eu-west-3');$json->UpdateString('message','MY_NOTIFICATION_MESSAGE');$json->UpdateString('name','MY_TEST_NAME');$json->UpdateInt('options.min_failure_duration',0);$json->UpdateInt('options.min_location_failed',1);$json->UpdateBool('options.monitor_options.include_tags',true);$json->UpdateBool('options.monitor_options.locked',false);$json->UpdateInt('options.monitor_options.new_host_delay',300);$json->UpdateBool('options.monitor_options.notify_audit',false);$json->UpdateBool('options.monitor_options.notify_no_data',false);$json->UpdateInt('options.monitor_options.renotify_interval',0);$json->UpdateInt('options.tick_every',60);$json->UpdateString('status','live');$json->UpdateString('subtype','http');$json->UpdateString('tags[0]','env:production');$json->UpdateString('type','api');$resp->GetBodySb($sbResponseBody);$jResp->LoadSb($sbResponseBody);$jResp->put_EmitCompact(false);$jResp->put_I($i);$operator = $jResp->stringOf('config.assertions[i].operator');$target = $jResp->IntOf('config.assertions[i].target');$v_type = $jResp->stringOf('config.assertions[i].type');$i = $i + 1;$i = 0;$count_i = $jResp->SizeOfArray('locations');$jResp->put_I($i);$strVal = $jResp->stringOf('locations[i]');$i = $i + 1;$i = 0;$count_i = $jResp->SizeOfArray('options.device_ids');$jResp->put_I($i);$strVal = $jResp->stringOf('options.device_ids[i]');$i = $i + 1;$i = 0;$count_i = $jResp->SizeOfArray('options.restricted_roles');$jResp->put_I($i);$strVal = $jResp->stringOf('options.restricted_roles[i]');$i = $i + 1;$i = 0;$count_i = $jResp->SizeOfArray('options.scheduling.timeframes');$jResp->put_I($i);$day = $jResp->IntOf('options.scheduling.timeframes[i].day');$from = $jResp->stringOf('options.scheduling.timeframes[i].from');$v_to = $jResp->stringOf('options.scheduling.timeframes[i].to');$i = $i + 1;$i = 0;$count_i = $jResp->SizeOfArray('tags');$jResp->put_I($i);$strVal = $jResp->stringOf('tags[i]');$i = $i + 1;
?>
Curl Command
curl -X POST
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"config": {
"assertions": [
{
"operator": "lessThan",
"target": 1000,
"type": "responseTime"
},
{
"operator": "is",
"target": 200,
"type": "statusCode"
},
{
"operator": "is",
"property": "content-type",
"target": "text/html; charset=UTF-8",
"type": "header"
}
],
"request": {
"method": "GET",
"url": "https://example.com"
}
},
"locations": [
"azure:eastus",
"aws:eu-west-3"
],
"message": "MY_NOTIFICATION_MESSAGE",
"name": "MY_TEST_NAME",
"options": {
"min_failure_duration": 0,
"min_location_failed": 1,
"monitor_options": {
"include_tags": true,
"locked": false,
"new_host_delay": 300,
"notify_audit": false,
"notify_no_data": false,
"renotify_interval": 0
},
"tick_every": 60
},
"status": "live",
"subtype": "http",
"tags": [
"env:production"
],
"type": "api"
}'
https://api.app.ddog-gov.com/api/v1/synthetics/tests/api
Postman Collection Item JSON
{
"name": "Create an API test",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"config\": {\n \"assertions\": [\n {\n \"operator\": \"lessThan\",\n \"target\": 1000,\n \"type\": \"responseTime\"\n },\n {\n \"operator\": \"is\",\n \"target\": 200,\n \"type\": \"statusCode\"\n },\n {\n \"operator\": \"is\",\n \"property\": \"content-type\",\n \"target\": \"text/html; charset=UTF-8\",\n \"type\": \"header\"\n }\n ],\n \"request\": {\n \"method\": \"GET\",\n \"url\": \"https://example.com\"\n }\n },\n \"locations\": [\n \"azure:eastus\",\n \"aws:eu-west-3\"\n ],\n \"message\": \"MY_NOTIFICATION_MESSAGE\",\n \"name\": \"MY_TEST_NAME\",\n \"options\": {\n \"min_failure_duration\": 0,\n \"min_location_failed\": 1,\n \"monitor_options\": {\n \"include_tags\": true,\n \"locked\": false,\n \"new_host_delay\": 300,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"renotify_interval\": 0\n },\n \"tick_every\": 60\n },\n \"status\": \"live\",\n \"subtype\": \"http\",\n \"tags\": [\n \"env:production\"\n ],\n \"type\": \"api\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/synthetics/tests/api",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"synthetics",
"tests",
"api"
]
},
"description": "Create a Synthetic API test."
},
"response": [
{
"name": "OK - Returns the created test details.",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"config\": {\n \"assertions\": [\n {\n \"operator\": \"lessThan\",\n \"target\": 1000,\n \"type\": \"responseTime\"\n },\n {\n \"operator\": \"is\",\n \"target\": 200,\n \"type\": \"statusCode\"\n },\n {\n \"operator\": \"is\",\n \"property\": \"content-type\",\n \"target\": \"text/html; charset=UTF-8\",\n \"type\": \"header\"\n }\n ],\n \"request\": {\n \"method\": \"GET\",\n \"url\": \"https://example.com\"\n }\n },\n \"locations\": [\n \"azure:eastus\",\n \"aws:eu-west-3\"\n ],\n \"message\": \"MY_NOTIFICATION_MESSAGE\",\n \"name\": \"MY_TEST_NAME\",\n \"options\": {\n \"min_failure_duration\": 0,\n \"min_location_failed\": 1,\n \"monitor_options\": {\n \"include_tags\": true,\n \"locked\": false,\n \"new_host_delay\": 300,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"renotify_interval\": 0\n },\n \"tick_every\": 60\n },\n \"status\": \"live\",\n \"subtype\": \"http\",\n \"tags\": [\n \"env:production\"\n ],\n \"type\": \"api\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/synthetics/tests/api",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"synthetics",
"tests",
"api"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"name\": \"Example test name\",\n \"config\": {\n \"assertions\": [\n {\n \"operator\": \"lessThan\",\n \"target\": 1000,\n \"type\": \"responseTime\"\n }\n ],\n \"request\": {\n \"method\": \"GET\",\n \"url\": \"https://example.com\"\n }\n },\n \"locations\": [\n \"aws:eu-west-3\"\n ],\n \"options\": {\n \"accept_self_signed\": true,\n \"allow_insecure\": true,\n \"checkCertificateRevocation\": true,\n \"ci\": {\n \"executionRule\": \"non_blocking\"\n },\n \"device_ids\": [\n \"laptop_large\",\n \"laptop_large\"\n ],\n \"disableCors\": false,\n \"disableCsp\": false,\n \"follow_redirects\": true,\n \"httpVersion\": \"http1\",\n \"ignoreServerCertificateError\": false,\n \"initialNavigationTimeout\": 87780679,\n \"min_failure_duration\": -32472759,\n \"min_location_failed\": -5806955,\n \"monitor_name\": \"et deserunt \",\n \"monitor_options\": {\n \"renotify_interval\": 834\n },\n \"monitor_priority\": 3,\n \"noScreenshot\": false,\n \"restricted_roles\": [\n \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n ],\n \"retry\": {\n \"count\": -50657150,\n \"interval\": -91565669.0691471\n },\n \"rumSettings\": {\n \"applicationId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n \"clientTokenId\": 12345,\n \"isEnabled\": true\n },\n \"scheduling\": {\n \"timeframes\": [\n {\n \"day\": 1,\n \"from\": \"07:00\",\n \"to\": \"16:00\"\n },\n {\n \"day\": 3,\n \"from\": \"07:00\",\n \"to\": \"16:00\"\n }\n ],\n \"timezone\": \"America/New_York\"\n },\n \"tick_every\": 384020\n },\n \"type\": \"api\",\n \"message\": \"Notification message\",\n \"monitor_id\": 12345678,\n \"public_id\": \"123-abc-456\",\n \"status\": \"live\",\n \"subtype\": \"http\",\n \"tags\": [\n \"env:production\"\n ]\n}"
},
{
"name": "- JSON format is wrong\n- Creation failed",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"config\": {\n \"assertions\": [\n {\n \"operator\": \"lessThan\",\n \"target\": 1000,\n \"type\": \"responseTime\"\n },\n {\n \"operator\": \"is\",\n \"target\": 200,\n \"type\": \"statusCode\"\n },\n {\n \"operator\": \"is\",\n \"property\": \"content-type\",\n \"target\": \"text/html; charset=UTF-8\",\n \"type\": \"header\"\n }\n ],\n \"request\": {\n \"method\": \"GET\",\n \"url\": \"https://example.com\"\n }\n },\n \"locations\": [\n \"azure:eastus\",\n \"aws:eu-west-3\"\n ],\n \"message\": \"MY_NOTIFICATION_MESSAGE\",\n \"name\": \"MY_TEST_NAME\",\n \"options\": {\n \"min_failure_duration\": 0,\n \"min_location_failed\": 1,\n \"monitor_options\": {\n \"include_tags\": true,\n \"locked\": false,\n \"new_host_delay\": 300,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"renotify_interval\": 0\n },\n \"tick_every\": 60\n },\n \"status\": \"live\",\n \"subtype\": \"http\",\n \"tags\": [\n \"env:production\"\n ],\n \"type\": \"api\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/synthetics/tests/api",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"synthetics",
"tests",
"api"
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"errors\": [\n \"Bad Request\",\n \"Bad Request\"\n ]\n}"
},
{
"name": "Test quota is reached",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"config\": {\n \"assertions\": [\n {\n \"operator\": \"lessThan\",\n \"target\": 1000,\n \"type\": \"responseTime\"\n },\n {\n \"operator\": \"is\",\n \"target\": 200,\n \"type\": \"statusCode\"\n },\n {\n \"operator\": \"is\",\n \"property\": \"content-type\",\n \"target\": \"text/html; charset=UTF-8\",\n \"type\": \"header\"\n }\n ],\n \"request\": {\n \"method\": \"GET\",\n \"url\": \"https://example.com\"\n }\n },\n \"locations\": [\n \"azure:eastus\",\n \"aws:eu-west-3\"\n ],\n \"message\": \"MY_NOTIFICATION_MESSAGE\",\n \"name\": \"MY_TEST_NAME\",\n \"options\": {\n \"min_failure_duration\": 0,\n \"min_location_failed\": 1,\n \"monitor_options\": {\n \"include_tags\": true,\n \"locked\": false,\n \"new_host_delay\": 300,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"renotify_interval\": 0\n },\n \"tick_every\": 60\n },\n \"status\": \"live\",\n \"subtype\": \"http\",\n \"tags\": [\n \"env:production\"\n ],\n \"type\": \"api\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/synthetics/tests/api",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"synthetics",
"tests",
"api"
]
}
},
"status": "Payment Required",
"code": 402,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"errors\": [\n \"Bad Request\",\n \"Bad Request\"\n ]\n}"
},
{
"name": "Forbidden",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"config\": {\n \"assertions\": [\n {\n \"operator\": \"lessThan\",\n \"target\": 1000,\n \"type\": \"responseTime\"\n },\n {\n \"operator\": \"is\",\n \"target\": 200,\n \"type\": \"statusCode\"\n },\n {\n \"operator\": \"is\",\n \"property\": \"content-type\",\n \"target\": \"text/html; charset=UTF-8\",\n \"type\": \"header\"\n }\n ],\n \"request\": {\n \"method\": \"GET\",\n \"url\": \"https://example.com\"\n }\n },\n \"locations\": [\n \"azure:eastus\",\n \"aws:eu-west-3\"\n ],\n \"message\": \"MY_NOTIFICATION_MESSAGE\",\n \"name\": \"MY_TEST_NAME\",\n \"options\": {\n \"min_failure_duration\": 0,\n \"min_location_failed\": 1,\n \"monitor_options\": {\n \"include_tags\": true,\n \"locked\": false,\n \"new_host_delay\": 300,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"renotify_interval\": 0\n },\n \"tick_every\": 60\n },\n \"status\": \"live\",\n \"subtype\": \"http\",\n \"tags\": [\n \"env:production\"\n ],\n \"type\": \"api\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/synthetics/tests/api",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"synthetics",
"tests",
"api"
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"errors\": [\n \"Bad Request\",\n \"Bad Request\"\n ]\n}"
},
{
"name": "Too many requests",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"config\": {\n \"assertions\": [\n {\n \"operator\": \"lessThan\",\n \"target\": 1000,\n \"type\": \"responseTime\"\n },\n {\n \"operator\": \"is\",\n \"target\": 200,\n \"type\": \"statusCode\"\n },\n {\n \"operator\": \"is\",\n \"property\": \"content-type\",\n \"target\": \"text/html; charset=UTF-8\",\n \"type\": \"header\"\n }\n ],\n \"request\": {\n \"method\": \"GET\",\n \"url\": \"https://example.com\"\n }\n },\n \"locations\": [\n \"azure:eastus\",\n \"aws:eu-west-3\"\n ],\n \"message\": \"MY_NOTIFICATION_MESSAGE\",\n \"name\": \"MY_TEST_NAME\",\n \"options\": {\n \"min_failure_duration\": 0,\n \"min_location_failed\": 1,\n \"monitor_options\": {\n \"include_tags\": true,\n \"locked\": false,\n \"new_host_delay\": 300,\n \"notify_audit\": false,\n \"notify_no_data\": false,\n \"renotify_interval\": 0\n },\n \"tick_every\": 60\n },\n \"status\": \"live\",\n \"subtype\": \"http\",\n \"tags\": [\n \"env:production\"\n ],\n \"type\": \"api\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/synthetics/tests/api",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"synthetics",
"tests",
"api"
]
}
},
"status": "Too Many Requests",
"code": 429,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"errors\": [\n \"Bad Request\",\n \"Bad Request\"\n ]\n}"
}
]
}