Chilkat Online Tools

PowerBuilder / Datadog API Collection / Get an SLO's history

Back to Collection Items

integer li_rc
oleobject loo_Http
integer li_Success
oleobject loo_QueryParams
oleobject loo_Resp
oleobject loo_SbResponseBody
oleobject loo_JResp
integer li_RespStatusCode
string ls_StrVal
integer li_Error_budget_remaining7d
string ls_Group
integer li_Monitor_modified
string ls_Monitor_type
string ls_Name
integer li_Precision
integer li_Preview
string ls_Sli_value
integer li_Span_precision
string ls_Uptime
integer j
integer li_Count_j
string ls_Error_type
string ls_Error_message
integer k
integer li_Count_k
integer li_IntVal
string ls_Error
integer li_From_ts
integer li_V_7d
string ls_Group
integer li_Monitor_modified
string ls_Monitor_type
string ls_Name
integer li_V_30d
integer li_Precision7d
integer li_Preview
string ls_Sli_value
integer li_Span_precision
string ls_Uptime
string ls_Res_type
integer li_Interval
integer li_Resp_version
string ls_Query
integer li_Count
integer li_Sum
integer li_DenominatorCount
integer li_DenominatorSum
string ls_Message
integer li_Target
string ls_Timeframe
integer li_To_ts
string ls_V_Type
integer li_Type_id
integer i
integer li_Count_i

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat_9_5_0.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_QueryParams = create oleobject
li_rc = loo_QueryParams.ConnectToNewObject("Chilkat_9_5_0.JsonObject")

loo_QueryParams.UpdateInt("from_ts",-62147425)
loo_QueryParams.UpdateInt("to_ts",-62147425)
loo_QueryParams.UpdateString("target","49.34019051965387")
loo_QueryParams.UpdateString("apply_correction","true")

loo_Http.SetRequestHeader("Accept","application/json")

loo_Resp = loo_Http.QuickRequestParams("GET","https://api.app.ddog-gov.com/api/v1/slo/:slo_id/history",loo_QueryParams)
if loo_Http.LastMethodSuccess = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_QueryParams
    return
end if

loo_SbResponseBody = create oleobject
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat_9_5_0.StringBuilder")

loo_Resp.GetBodySb(loo_SbResponseBody)

loo_JResp = create oleobject
li_rc = loo_JResp.ConnectToNewObject("Chilkat_9_5_0.JsonObject")

loo_JResp.LoadSb(loo_SbResponseBody)
loo_JResp.EmitCompact = 0

Write-Debug "Response Body:"
Write-Debug loo_JResp.Emit()

li_RespStatusCode = loo_Resp.StatusCode
Write-Debug "Response Status Code = " + string(li_RespStatusCode)
if li_RespStatusCode >= 400 then
    Write-Debug "Response Header:"
    Write-Debug loo_Resp.Header
    Write-Debug "Failed."
    destroy loo_Resp
    destroy loo_Http
    destroy loo_QueryParams
    destroy loo_SbResponseBody
    destroy loo_JResp
    return
end if

destroy loo_Resp

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "data": {
//     "from_ts": 1615323990,
//     "group_by": [
//       "aliqua pariatur",
//       "labor"
//     ],
//     "groups": [
//       {
//         "error_budget_remaining": {
//           "7d": 100
//         },
//         "errors": [
//           {
//             "error_type": "",
//             "error_message": ""
//           },
//           {
//             "error_type": "",
//             "error_message": ""
//           }
//         ],
//         "group": "name",
//         "history": [
//           [
//             1579212382,
//             0
//           ]
//         ],
//         "monitor_modified": 1615867200,
//         "monitor_type": "string",
//         "name": "string",
//         "precision": 2,
//         "preview": true,
//         "sli_value": 99.99,
//         "span_precision": 2,
//         "uptime": 99.99
//       },
//       {
//         "error_budget_remaining": {
//           "7d": 100
//         },
//         "errors": [
//           {
//             "error_type": "",
//             "error_message": ""
//           },
//           {
//             "error_type": "",
//             "error_message": ""
//           }
//         ],
//         "group": "name",
//         "history": [
//           [
//             1579212382,
//             0
//           ]
//         ],
//         "monitor_modified": 1615867200,
//         "monitor_type": "string",
//         "name": "string",
//         "precision": 2,
//         "preview": true,
//         "sli_value": 99.99,
//         "span_precision": 2,
//         "uptime": 99.99
//       }
//     ],
//     "monitors": [
//       {
//         "error_budget_remaining": {
//           "7d": 100
//         },
//         "errors": [
//           {
//             "error_type": "",
//             "error_message": ""
//           },
//           {
//             "error_type": "",
//             "error_message": ""
//           }
//         ],
//         "group": "name",
//         "history": [
//           [
//             1579212382,
//             0
//           ]
//         ],
//         "monitor_modified": 1615867200,
//         "monitor_type": "string",
//         "name": "string",
//         "precision": 2,
//         "preview": true,
//         "sli_value": 99.99,
//         "span_precision": 2,
//         "uptime": 99.99
//       },
//       {
//         "error_budget_remaining": {
//           "7d": 100
//         },
//         "errors": [
//           {
//             "error_type": "",
//             "error_message": ""
//           },
//           {
//             "error_type": "",
//             "error_message": ""
//           }
//         ],
//         "group": "name",
//         "history": [
//           [
//             1579212382,
//             0
//           ]
//         ],
//         "monitor_modified": 1615867200,
//         "monitor_type": "string",
//         "name": "string",
//         "precision": 2,
//         "preview": true,
//         "sli_value": 99.99,
//         "span_precision": 2,
//         "uptime": 99.99
//       }
//     ],
//     "overall": {
//       "error_budget_remaining": {
//         "7d": 100
//       },
//       "errors": [
//         {
//           "error_type": "",
//           "error_message": ""
//         },
//         {
//           "error_type": "",
//           "error_message": ""
//         }
//       ],
//       "group": "name",
//       "history": [
//         [
//           1579212382,
//           0
//         ]
//       ],
//       "monitor_modified": 1615867200,
//       "monitor_type": "string",
//       "name": "string",
//       "precision": {
//         "30d": 1,
//         "7d": 2
//       },
//       "preview": true,
//       "sli_value": 99.99,
//       "span_precision": 2,
//       "uptime": 99.99
//     },
//     "series": {
//       "res_type": "",
//       "interval": 0,
//       "resp_version": 0,
//       "query": "",
//       "times": [
//       ],
//       "numerator": {
//         "count": 0,
//         "sum": 0,
//         "metadata": {}
//       },
//       "denominator": {
//         "count": 0,
//         "sum": 0,
//         "metadata": {}
//       },
//       "message": ""
//     },
//     "thresholds": {
//       "my_service": {
//         "target": 95,
//         "timeframe": "7d"
//       }
//     },
//     "to_ts": 1615928790,
//     "type": "metric",
//     "type_id": 0
//   },
//   "errors": [
//     {
//       "error": "ullamco pariatur"
//     },
//     {
//       "error": "aliquip anim do laborum commodo"
//     }
//   ]
// }

// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

li_From_ts = loo_JResp.IntOf("data.from_ts")
li_V_7d = loo_JResp.IntOf("data.overall.error_budget_remaining.7d")
ls_Group = loo_JResp.StringOf("data.overall.group")
li_Monitor_modified = loo_JResp.IntOf("data.overall.monitor_modified")
ls_Monitor_type = loo_JResp.StringOf("data.overall.monitor_type")
ls_Name = loo_JResp.StringOf("data.overall.name")
li_V_30d = loo_JResp.IntOf("data.overall.precision.30d")
li_Precision7d = loo_JResp.IntOf("data.overall.precision.7d")
li_Preview = loo_JResp.BoolOf("data.overall.preview")
ls_Sli_value = loo_JResp.StringOf("data.overall.sli_value")
li_Span_precision = loo_JResp.IntOf("data.overall.span_precision")
ls_Uptime = loo_JResp.StringOf("data.overall.uptime")
ls_Res_type = loo_JResp.StringOf("data.series.res_type")
li_Interval = loo_JResp.IntOf("data.series.interval")
li_Resp_version = loo_JResp.IntOf("data.series.resp_version")
ls_Query = loo_JResp.StringOf("data.series.query")
li_Count = loo_JResp.IntOf("data.series.numerator.count")
li_Sum = loo_JResp.IntOf("data.series.numerator.sum")
li_DenominatorCount = loo_JResp.IntOf("data.series.denominator.count")
li_DenominatorSum = loo_JResp.IntOf("data.series.denominator.sum")
ls_Message = loo_JResp.StringOf("data.series.message")
li_Target = loo_JResp.IntOf("data.thresholds.my_service.target")
ls_Timeframe = loo_JResp.StringOf("data.thresholds.my_service.timeframe")
li_To_ts = loo_JResp.IntOf("data.to_ts")
ls_V_Type = loo_JResp.StringOf("data.type")
li_Type_id = loo_JResp.IntOf("data.type_id")
i = 0
li_Count_i = loo_JResp.SizeOfArray("data.group_by")
do while i < li_Count_i
    loo_JResp.I = i
    ls_StrVal = loo_JResp.StringOf("data.group_by[i]")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("data.groups")
do while i < li_Count_i
    loo_JResp.I = i
    li_Error_budget_remaining7d = loo_JResp.IntOf("data.groups[i].error_budget_remaining.7d")
    ls_Group = loo_JResp.StringOf("data.groups[i].group")
    li_Monitor_modified = loo_JResp.IntOf("data.groups[i].monitor_modified")
    ls_Monitor_type = loo_JResp.StringOf("data.groups[i].monitor_type")
    ls_Name = loo_JResp.StringOf("data.groups[i].name")
    li_Precision = loo_JResp.IntOf("data.groups[i].precision")
    li_Preview = loo_JResp.BoolOf("data.groups[i].preview")
    ls_Sli_value = loo_JResp.StringOf("data.groups[i].sli_value")
    li_Span_precision = loo_JResp.IntOf("data.groups[i].span_precision")
    ls_Uptime = loo_JResp.StringOf("data.groups[i].uptime")
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("data.groups[i].errors")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Error_type = loo_JResp.StringOf("data.groups[i].errors[j].error_type")
        ls_Error_message = loo_JResp.StringOf("data.groups[i].errors[j].error_message")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("data.groups[i].history")
    do while j < li_Count_j
        loo_JResp.J = j
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("data.groups[i].history[j]")
        do while k < li_Count_k
            loo_JResp.K = k
            li_IntVal = loo_JResp.IntOf("data.groups[i].history[j][k]")
            k = k + 1
        loop
        j = j + 1
    loop
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("data.monitors")
do while i < li_Count_i
    loo_JResp.I = i
    li_Error_budget_remaining7d = loo_JResp.IntOf("data.monitors[i].error_budget_remaining.7d")
    ls_Group = loo_JResp.StringOf("data.monitors[i].group")
    li_Monitor_modified = loo_JResp.IntOf("data.monitors[i].monitor_modified")
    ls_Monitor_type = loo_JResp.StringOf("data.monitors[i].monitor_type")
    ls_Name = loo_JResp.StringOf("data.monitors[i].name")
    li_Precision = loo_JResp.IntOf("data.monitors[i].precision")
    li_Preview = loo_JResp.BoolOf("data.monitors[i].preview")
    ls_Sli_value = loo_JResp.StringOf("data.monitors[i].sli_value")
    li_Span_precision = loo_JResp.IntOf("data.monitors[i].span_precision")
    ls_Uptime = loo_JResp.StringOf("data.monitors[i].uptime")
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("data.monitors[i].errors")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Error_type = loo_JResp.StringOf("data.monitors[i].errors[j].error_type")
        ls_Error_message = loo_JResp.StringOf("data.monitors[i].errors[j].error_message")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("data.monitors[i].history")
    do while j < li_Count_j
        loo_JResp.J = j
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("data.monitors[i].history[j]")
        do while k < li_Count_k
            loo_JResp.K = k
            li_IntVal = loo_JResp.IntOf("data.monitors[i].history[j][k]")
            k = k + 1
        loop
        j = j + 1
    loop
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("data.overall.errors")
do while i < li_Count_i
    loo_JResp.I = i
    ls_Error_type = loo_JResp.StringOf("data.overall.errors[i].error_type")
    ls_Error_message = loo_JResp.StringOf("data.overall.errors[i].error_message")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("data.overall.history")
do while i < li_Count_i
    loo_JResp.I = i
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("data.overall.history[i]")
    do while j < li_Count_j
        loo_JResp.J = j
        li_IntVal = loo_JResp.IntOf("data.overall.history[i][j]")
        j = j + 1
    loop
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("data.series.times")
do while i < li_Count_i
    loo_JResp.I = i
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("errors")
do while i < li_Count_i
    loo_JResp.I = i
    ls_Error = loo_JResp.StringOf("errors[i].error")
    i = i + 1
loop


destroy loo_Http
destroy loo_QueryParams
destroy loo_SbResponseBody
destroy loo_JResp

Curl Command

curl -G -d "from_ts=-62147425"
	-d "to_ts=-62147425"
	-d "target=49.34019051965387"
	-d "apply_correction=true"
	-H "Accept: application/json"
https://api.app.ddog-gov.com/api/v1/slo/:slo_id/history

Postman Collection Item JSON

{
  "name": "Get an SLO's history",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "url": {
      "raw": "{{baseUrl}}/api/v1/slo/:slo_id/history?from_ts=-62147425&to_ts=-62147425&target=49.34019051965387&apply_correction=true",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "v1",
        "slo",
        ":slo_id",
        "history"
      ],
      "query": [
        {
          "key": "from_ts",
          "value": "-62147425",
          "description": "(Required) The `from` timestamp for the query window in epoch seconds."
        },
        {
          "key": "to_ts",
          "value": "-62147425",
          "description": "(Required) The `to` timestamp for the query window in epoch seconds."
        },
        {
          "key": "target",
          "value": "49.34019051965387",
          "description": "The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`."
        },
        {
          "key": "apply_correction",
          "value": "true",
          "description": "Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`,\nthen the corrections will not be applied and the SLI values will not be affected."
        }
      ],
      "variable": [
        {
          "key": "slo_id",
          "value": "tempor Ut sed velit"
        }
      ]
    },
    "description": "Get a specific SLO’s history, regardless of its SLO type.\n\nThe detailed history data is structured according to the source data type.\nFor example, metric data is included for event SLOs that use\nthe metric source, and monitor SLO types include the monitor transition history.\n\n**Note:** There are different response formats for event based and time based SLOs.\nExamples of both are shown."
  },
  "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/history?from_ts=-62147425&to_ts=-62147425&target=49.34019051965387&apply_correction=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            ":slo_id",
            "history"
          ],
          "query": [
            {
              "key": "from_ts",
              "value": "-62147425",
              "description": "(Required) The `from` timestamp for the query window in epoch seconds."
            },
            {
              "key": "to_ts",
              "value": "-62147425",
              "description": "(Required) The `to` timestamp for the query window in epoch seconds."
            },
            {
              "key": "target",
              "value": "49.34019051965387",
              "description": "The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`."
            },
            {
              "key": "apply_correction",
              "value": "true",
              "description": "Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`,\nthen the corrections will not be applied and the SLI values will not be affected."
            }
          ],
          "variable": [
            {
              "key": "slo_id"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"data\": {\n    \"from_ts\": 1615323990,\n    \"group_by\": [\n      \"aliqua pariatur\",\n      \"labor\"\n    ],\n    \"groups\": [\n      {\n        \"error_budget_remaining\": {\n          \"7d\": 100\n        },\n        \"errors\": [\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          },\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          }\n        ],\n        \"group\": \"name\",\n        \"history\": [\n          [\n            1579212382,\n            0\n          ]\n        ],\n        \"monitor_modified\": 1615867200,\n        \"monitor_type\": \"string\",\n        \"name\": \"string\",\n        \"precision\": 2,\n        \"preview\": true,\n        \"sli_value\": 99.99,\n        \"span_precision\": 2,\n        \"uptime\": 99.99\n      },\n      {\n        \"error_budget_remaining\": {\n          \"7d\": 100\n        },\n        \"errors\": [\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          },\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          }\n        ],\n        \"group\": \"name\",\n        \"history\": [\n          [\n            1579212382,\n            0\n          ]\n        ],\n        \"monitor_modified\": 1615867200,\n        \"monitor_type\": \"string\",\n        \"name\": \"string\",\n        \"precision\": 2,\n        \"preview\": true,\n        \"sli_value\": 99.99,\n        \"span_precision\": 2,\n        \"uptime\": 99.99\n      }\n    ],\n    \"monitors\": [\n      {\n        \"error_budget_remaining\": {\n          \"7d\": 100\n        },\n        \"errors\": [\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          },\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          }\n        ],\n        \"group\": \"name\",\n        \"history\": [\n          [\n            1579212382,\n            0\n          ]\n        ],\n        \"monitor_modified\": 1615867200,\n        \"monitor_type\": \"string\",\n        \"name\": \"string\",\n        \"precision\": 2,\n        \"preview\": true,\n        \"sli_value\": 99.99,\n        \"span_precision\": 2,\n        \"uptime\": 99.99\n      },\n      {\n        \"error_budget_remaining\": {\n          \"7d\": 100\n        },\n        \"errors\": [\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          },\n          {\n            \"error_type\": \"\",\n            \"error_message\": \"\"\n          }\n        ],\n        \"group\": \"name\",\n        \"history\": [\n          [\n            1579212382,\n            0\n          ]\n        ],\n        \"monitor_modified\": 1615867200,\n        \"monitor_type\": \"string\",\n        \"name\": \"string\",\n        \"precision\": 2,\n        \"preview\": true,\n        \"sli_value\": 99.99,\n        \"span_precision\": 2,\n        \"uptime\": 99.99\n      }\n    ],\n    \"overall\": {\n      \"error_budget_remaining\": {\n        \"7d\": 100\n      },\n      \"errors\": [\n        {\n          \"error_type\": \"\",\n          \"error_message\": \"\"\n        },\n        {\n          \"error_type\": \"\",\n          \"error_message\": \"\"\n        }\n      ],\n      \"group\": \"name\",\n      \"history\": [\n        [\n          1579212382,\n          0\n        ]\n      ],\n      \"monitor_modified\": 1615867200,\n      \"monitor_type\": \"string\",\n      \"name\": \"string\",\n      \"precision\": {\n        \"30d\": 1,\n        \"7d\": 2\n      },\n      \"preview\": true,\n      \"sli_value\": 99.99,\n      \"span_precision\": 2,\n      \"uptime\": 99.99\n    },\n    \"series\": {\n      \"res_type\": \"\",\n      \"interval\": 0,\n      \"resp_version\": 0,\n      \"query\": \"\",\n      \"times\": [],\n      \"numerator\": {\n        \"count\": 0,\n        \"sum\": 0,\n        \"metadata\": {}\n      },\n      \"denominator\": {\n        \"count\": 0,\n        \"sum\": 0,\n        \"metadata\": {}\n      },\n      \"message\": \"\"\n    },\n    \"thresholds\": {\n      \"my_service\": {\n        \"target\": 95,\n        \"timeframe\": \"7d\"\n      }\n    },\n    \"to_ts\": 1615928790,\n    \"type\": \"metric\",\n    \"type_id\": 0\n  },\n  \"errors\": [\n    {\n      \"error\": \"ullamco pariatur\"\n    },\n    {\n      \"error\": \"aliquip anim do laborum commodo\"\n    }\n  ]\n}"
    },
    {
      "name": "Bad Request",
      "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/history?from_ts=-62147425&to_ts=-62147425&target=49.34019051965387&apply_correction=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            ":slo_id",
            "history"
          ],
          "query": [
            {
              "key": "from_ts",
              "value": "-62147425",
              "description": "(Required) The `from` timestamp for the query window in epoch seconds."
            },
            {
              "key": "to_ts",
              "value": "-62147425",
              "description": "(Required) The `to` timestamp for the query window in epoch seconds."
            },
            {
              "key": "target",
              "value": "49.34019051965387",
              "description": "The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`."
            },
            {
              "key": "apply_correction",
              "value": "true",
              "description": "Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`,\nthen the corrections will not be applied and the SLI values will not be affected."
            }
          ],
          "variable": [
            {
              "key": "slo_id"
            }
          ]
        }
      },
      "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": "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/history?from_ts=-62147425&to_ts=-62147425&target=49.34019051965387&apply_correction=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            ":slo_id",
            "history"
          ],
          "query": [
            {
              "key": "from_ts",
              "value": "-62147425",
              "description": "(Required) The `from` timestamp for the query window in epoch seconds."
            },
            {
              "key": "to_ts",
              "value": "-62147425",
              "description": "(Required) The `to` timestamp for the query window in epoch seconds."
            },
            {
              "key": "target",
              "value": "49.34019051965387",
              "description": "The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`."
            },
            {
              "key": "apply_correction",
              "value": "true",
              "description": "Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`,\nthen the corrections will not be applied and the SLI values will not be affected."
            }
          ],
          "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/history?from_ts=-62147425&to_ts=-62147425&target=49.34019051965387&apply_correction=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            ":slo_id",
            "history"
          ],
          "query": [
            {
              "key": "from_ts",
              "value": "-62147425",
              "description": "(Required) The `from` timestamp for the query window in epoch seconds."
            },
            {
              "key": "to_ts",
              "value": "-62147425",
              "description": "(Required) The `to` timestamp for the query window in epoch seconds."
            },
            {
              "key": "target",
              "value": "49.34019051965387",
              "description": "The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`."
            },
            {
              "key": "apply_correction",
              "value": "true",
              "description": "Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`,\nthen the corrections will not be applied and the SLI values will not be affected."
            }
          ],
          "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/history?from_ts=-62147425&to_ts=-62147425&target=49.34019051965387&apply_correction=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            ":slo_id",
            "history"
          ],
          "query": [
            {
              "key": "from_ts",
              "value": "-62147425",
              "description": "(Required) The `from` timestamp for the query window in epoch seconds."
            },
            {
              "key": "to_ts",
              "value": "-62147425",
              "description": "(Required) The `to` timestamp for the query window in epoch seconds."
            },
            {
              "key": "target",
              "value": "49.34019051965387",
              "description": "The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`."
            },
            {
              "key": "apply_correction",
              "value": "true",
              "description": "Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`,\nthen the corrections will not be applied and the SLI values will not be affected."
            }
          ],
          "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}"
    }
  ]
}