Back to Collection Items
use chilkat();
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = chilkat::CkHttp->new();
$queryParams = chilkat::CkJsonObject->new();
$queryParams->UpdateString("with_configured_alert_ids","true");
$http->SetRequestHeader("Accept","application/json");
# resp is a HttpResponse
$resp = $http->QuickRequestParams("GET","https://api.app.ddog-gov.com/api/v1/slo/:slo_id",$queryParams);
if ($http->get_LastMethodSuccess() == 0) {
print $http->lastErrorText() . "\r\n";
exit;
}
$sbResponseBody = chilkat::CkStringBuilder->new();
$resp->GetBodySb($sbResponseBody);
$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(0);
print "Response Body:" . "\r\n";
print $jResp->emit() . "\r\n";
$respStatusCode = $resp->get_StatusCode();
print "Response Status Code = " . $respStatusCode . "\r\n";
if ($respStatusCode >= 400) {
print "Response Header:" . "\r\n";
print $resp->header() . "\r\n";
print "Failed." . "\r\n";
exit;
}
# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)
# {
# "data": {
# "configured_alert_ids": [
# 123,
# 456,
# 789
# ],
# "created_at": 17466638,
# "creator": {
# "email": "proident ex ullamco",
# "handle": "laborum ad ex non",
# "name": "officia dolor consectetur nisi"
# },
# "description": "est id",
# "groups": [
# "env:prod",
# "role:mysql"
# ],
# "id": "esse cillum anim ",
# "modified_at": -26273532,
# "monitor_ids": [
# -91642399,
# 93741
# ],
# "monitor_tags": [
# "aliquip nulla Lorem ut",
# "reprehenderit velit"
# ],
# "name": "Custom Metric SLO",
# "query": {
# "numerator": "sum:my.custom.metric{type:good}.as_count()",
# "denominator": "sum:my.custom.metric{*}.as_count()"
# },
# "tags": [
# "env:prod",
# "app:core"
# ],
# "target_threshold": 99.9,
# "thresholds": [
# {
# "target": 95,
# "timeframe": "7d"
# },
# {
# "target": 95,
# "timeframe": "30d",
# "warning": 97
# }
# ],
# "timeframe": "30d",
# "type": "metric",
# "warning_threshold": 99.95
# },
# "errors": [
# "consectetur velit",
# "elit in"
# ]
# }
# Sample code for parsing the JSON response...
# Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
$Created_at = $jResp->IntOf("data.created_at");
$v_Email = $jResp->stringOf("data.creator.email");
$Handle = $jResp->stringOf("data.creator.handle");
$Name = $jResp->stringOf("data.creator.name");
$Description = $jResp->stringOf("data.description");
$Id = $jResp->stringOf("data.id");
$Modified_at = $jResp->IntOf("data.modified_at");
$dataName = $jResp->stringOf("data.name");
$Numerator = $jResp->stringOf("data.query.numerator");
$Denominator = $jResp->stringOf("data.query.denominator");
$Target_threshold = $jResp->stringOf("data.target_threshold");
$Timeframe = $jResp->stringOf("data.timeframe");
$v_Type = $jResp->stringOf("data.type");
$Warning_threshold = $jResp->stringOf("data.warning_threshold");
$i = 0;
$count_i = $jResp->SizeOfArray("data.configured_alert_ids");
while ($i < $count_i) {
$jResp->put_I($i);
$intVal = $jResp->IntOf("data.configured_alert_ids[i]");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("data.groups");
while ($i < $count_i) {
$jResp->put_I($i);
$strVal = $jResp->stringOf("data.groups[i]");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("data.monitor_ids");
while ($i < $count_i) {
$jResp->put_I($i);
$intVal = $jResp->IntOf("data.monitor_ids[i]");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("data.monitor_tags");
while ($i < $count_i) {
$jResp->put_I($i);
$strVal = $jResp->stringOf("data.monitor_tags[i]");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("data.tags");
while ($i < $count_i) {
$jResp->put_I($i);
$strVal = $jResp->stringOf("data.tags[i]");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("data.thresholds");
while ($i < $count_i) {
$jResp->put_I($i);
$target = $jResp->IntOf("data.thresholds[i].target");
$timeframe = $jResp->stringOf("data.thresholds[i].timeframe");
$warning = $jResp->IntOf("data.thresholds[i].warning");
$i = $i + 1;
}
$i = 0;
$count_i = $jResp->SizeOfArray("errors");
while ($i < $count_i) {
$jResp->put_I($i);
$strVal = $jResp->stringOf("errors[i]");
$i = $i + 1;
}
Curl Command
curl -G -d "with_configured_alert_ids=true"
-H "Accept: application/json"
https://api.app.ddog-gov.com/api/v1/slo/:slo_id
Postman Collection Item JSON
{
"name": "Get an SLO's details",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/api/v1/slo/:slo_id?with_configured_alert_ids=true",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"slo",
":slo_id"
],
"query": [
{
"key": "with_configured_alert_ids",
"value": "true",
"description": "Get the IDs of SLO monitors that reference this SLO."
}
],
"variable": [
{
"key": "slo_id",
"value": "tempor Ut sed velit"
}
]
},
"description": "Get a service level objective object."
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/api/v1/slo/:slo_id?with_configured_alert_ids=true",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"slo",
":slo_id"
],
"query": [
{
"key": "with_configured_alert_ids",
"value": "true",
"description": "Get the IDs of SLO monitors that reference this SLO."
}
],
"variable": [
{
"key": "slo_id"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"data\": {\n \"configured_alert_ids\": [\n 123,\n 456,\n 789\n ],\n \"created_at\": 17466638,\n \"creator\": {\n \"email\": \"proident ex ullamco\",\n \"handle\": \"laborum ad ex non\",\n \"name\": \"officia dolor consectetur nisi\"\n },\n \"description\": \"est id\",\n \"groups\": [\n \"env:prod\",\n \"role:mysql\"\n ],\n \"id\": \"esse cillum anim \",\n \"modified_at\": -26273532,\n \"monitor_ids\": [\n -91642399,\n 93741\n ],\n \"monitor_tags\": [\n \"aliquip nulla Lorem ut\",\n \"reprehenderit velit\"\n ],\n \"name\": \"Custom Metric SLO\",\n \"query\": {\n \"numerator\": \"sum:my.custom.metric{type:good}.as_count()\",\n \"denominator\": \"sum:my.custom.metric{*}.as_count()\"\n },\n \"tags\": [\n \"env:prod\",\n \"app:core\"\n ],\n \"target_threshold\": 99.9,\n \"thresholds\": [\n {\n \"target\": 95,\n \"timeframe\": \"7d\"\n },\n {\n \"target\": 95,\n \"timeframe\": \"30d\",\n \"warning\": 97\n }\n ],\n \"timeframe\": \"30d\",\n \"type\": \"metric\",\n \"warning_threshold\": 99.95\n },\n \"errors\": [\n \"consectetur velit\",\n \"elit in\"\n ]\n}"
},
{
"name": "Forbidden",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/api/v1/slo/:slo_id?with_configured_alert_ids=true",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"slo",
":slo_id"
],
"query": [
{
"key": "with_configured_alert_ids",
"value": "true",
"description": "Get the IDs of SLO monitors that reference this SLO."
}
],
"variable": [
{
"key": "slo_id"
}
]
}
},
"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": "Not found",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/api/v1/slo/:slo_id?with_configured_alert_ids=true",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"slo",
":slo_id"
],
"query": [
{
"key": "with_configured_alert_ids",
"value": "true",
"description": "Get the IDs of SLO monitors that reference this SLO."
}
],
"variable": [
{
"key": "slo_id"
}
]
}
},
"status": "Not Found",
"code": 404,
"_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": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"url": {
"raw": "{{baseUrl}}/api/v1/slo/:slo_id?with_configured_alert_ids=true",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"slo",
":slo_id"
],
"query": [
{
"key": "with_configured_alert_ids",
"value": "true",
"description": "Get the IDs of SLO monitors that reference this SLO."
}
],
"variable": [
{
"key": "slo_id"
}
]
}
},
"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}"
}
]
}