Chilkat Online Tools

VB6 / Datadog API Collection / Search for SLOs

Back to Collection Items

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

Dim http As New ChilkatHttp
Dim success As Long

Dim queryParams As New ChilkatJsonObject
success = queryParams.UpdateString("query","tempor Ut sed velit")
success = queryParams.UpdateInt("page[size]",-62147425)
success = queryParams.UpdateInt("page[number]",-62147425)
success = queryParams.UpdateString("include_facets","true")

http.SetRequestHeader "Accept","application/json"

Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequestParams("GET","https://api.app.ddog-gov.com/api/v1/slo/search",queryParams)
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)

Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Debug.Print "Response Body:"
Debug.Print jResp.Emit()

Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print resp.Header
    Debug.Print "Failed."

    Exit Sub
End If

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

' {
'   "data": {
'     "attributes": {
'       "facets": {
'         "all_tags": [
'           {
'             "count": -8530751,
'             "name": "est cillum id ex"
'           },
'           {
'             "count": 20390494,
'             "name": "adipisicing minim quis velit dolore"
'           }
'         ],
'         "creator_name": [
'           {
'             "count": 77247452,
'             "name": "cupidatat elit eu id aute"
'           },
'           {
'             "count": -77371710,
'             "name": "dolore"
'           }
'         ],
'         "env_tags": [
'           {
'             "count": -42199690,
'             "name": "dolor eiusmod"
'           },
'           {
'             "count": -60615528,
'             "name": "commodo mollit"
'           }
'         ],
'         "service_tags": [
'           {
'             "count": 49217615,
'             "name": "aute cupidatat"
'           },
'           {
'             "count": 77659232,
'             "name": "est Ut aute"
'           }
'         ],
'         "slo_type": [
'           {
'             "count": 55153641,
'             "name": 41482978.922150195
'           },
'           {
'             "count": 11427450,
'             "name": 85748817.01266047
'           }
'         ],
'         "target": [
'           {
'             "count": 96778717,
'             "name": -37511597.68983867
'           },
'           {
'             "count": 15549994,
'             "name": 30406993.57594505
'           }
'         ],
'         "team_tags": [
'           {
'             "count": -61109884,
'             "name": "laborum ex esse proident"
'           },
'           {
'             "count": 68412080,
'             "name": "nisi qui cillum exercitation"
'           }
'         ],
'         "timeframe": [
'           {
'             "count": -21958451,
'             "name": "fugiat"
'           },
'           {
'             "count": 12824105,
'             "name": "tempor adipisi"
'           }
'         ]
'       },
'       "slos": [
'         {
'           "data": {
'             "attributes": {
'               "all_tags": [
'                 "env:prod",
'                 "app:core"
'               ],
'               "created_at": 2857983,
'               "creator": {
'                 "email": "non Lorem",
'                 "id": 39288042,
'                 "name": "voluptate"
'               },
'               "description": "fugiat sit in quis",
'               "env_tags": [
'                 "irure tempor",
'                 "laborum reprehenderi"
'               ],
'               "groups": [
'                 "env:prod",
'                 "role:mysql"
'               ],
'               "modified_at": -85796945,
'               "monitor_ids": [
'                 99205206,
'                 23793820
'               ],
'               "name": "Custom Metric SLO",
'               "overall_status": [
'                 {
'                   "error": "occaecat dolore",
'                   "error_budget_remaining": 100,
'                   "indexed_at": 1662496260,
'                   "raw_error_budget_remaining": {
'                     "unit": "requests",
'                     "value": 60
'                   },
'                   "span_precision": 2,
'                   "state": "ok",
'                   "status": 100,
'                   "target": 99,
'                   "timeframe": "30d"
'                 },
'                 {
'                   "error": "in officia",
'                   "error_budget_remaining": 100,
'                   "indexed_at": 1662496260,
'                   "raw_error_budget_remaining": {
'                     "unit": "requests",
'                     "value": 60
'                   },
'                   "span_precision": 2,
'                   "state": "ok",
'                   "status": 100,
'                   "target": 99,
'                   "timeframe": "30d"
'                 }
'               ],
'               "query": {
'                 "denominator": "sum:my.custom.metric{*}.as_count()",
'                 "metrics": [
'                   "my.custom.metric",
'                   "my.other.custom.metric"
'                 ],
'                 "numerator": "sum:my.custom.metric{type:good}.as_count()"
'               },
'               "service_tags": [
'                 "aute amet dolor pariatur mollit",
'                 "officia"
'               ],
'               "slo_type": "metric",
'               "status": {
'                 "calculation_error": "qui",
'                 "error_budget_remaining": 100,
'                 "indexed_at": 1662496260,
'                 "raw_error_budget_remaining": {
'                   "unit": "requests",
'                   "value": 60
'                 },
'                 "sli": 100,
'                 "span_precision": 2,
'                 "state": "ok"
'               },
'               "team_tags": [
'                 "quis veniam magna",
'                 "ad"
'               ],
'               "thresholds": [
'                 {
'                   "target": 95,
'                   "target_display": "95",
'                   "timeframe": "7d"
'                 },
'                 {
'                   "target": 95,
'                   "target_display": "95",
'                   "timeframe": "30d",
'                   "warning": 97,
'                   "warning_display": "97"
'                 }
'               ]
'             },
'             "id": "sed fugiat est cillum",
'             "type": "mollit dolore"
'           }
'         },
'         {
'           "data": {
'             "attributes": {
'               "all_tags": [
'                 "env:prod",
'                 "app:core"
'               ],
'               "created_at": -97407922,
'               "creator": {
'                 "email": "in nulla",
'                 "id": -4202515,
'                 "name": "elit et consequat"
'               },
'               "description": "dolor sed cupidatat pariatur sint",
'               "env_tags": [
'                 "magna ex pariatur dolore sed",
'                 "velit dolor aute in nostrud"
'               ],
'               "groups": [
'                 "env:prod",
'                 "role:mysql"
'               ],
'               "modified_at": -32142227,
'               "monitor_ids": [
'                 83809238,
'                 -63596037
'               ],
'               "name": "Custom Metric SLO",
'               "overall_status": [
'                 {
'                   "error": "reprehenderit cupidat",
'                   "error_budget_remaining": 100,
'                   "indexed_at": 1662496260,
'                   "raw_error_budget_remaining": {
'                     "unit": "requests",
'                     "value": 60
'                   },
'                   "span_precision": 2,
'                   "state": "ok",
'                   "status": 100,
'                   "target": 99,
'                   "timeframe": "30d"
'                 },
'                 {
'                   "error": "consequat",
'                   "error_budget_remaining": 100,
'                   "indexed_at": 1662496260,
'                   "raw_error_budget_remaining": {
'                     "unit": "requests",
'                     "value": 60
'                   },
'                   "span_precision": 2,
'                   "state": "ok",
'                   "status": 100,
'                   "target": 99,
'                   "timeframe": "30d"
'                 }
'               ],
'               "query": {
'                 "denominator": "sum:my.custom.metric{*}.as_count()",
'                 "metrics": [
'                   "my.custom.metric",
'                   "my.other.custom.metric"
'                 ],
'                 "numerator": "sum:my.custom.metric{type:good}.as_count()"
'               },
'               "service_tags": [
'                 "magna velit",
'                 "occaecat tempor proident ex ea"
'               ],
'               "slo_type": "metric",
'               "status": {
'                 "calculation_error": "in occaecat e",
'                 "error_budget_remaining": 100,
'                 "indexed_at": 1662496260,
'                 "raw_error_budget_remaining": {
'                   "unit": "requests",
'                   "value": 60
'                 },
'                 "sli": 100,
'                 "span_precision": 2,
'                 "state": "ok"
'               },
'               "team_tags": [
'                 "Ut nisi ipsum fugiat",
'                 "exercitation proident consequat aute"
'               ],
'               "thresholds": [
'                 {
'                   "target": 95,
'                   "target_display": "95",
'                   "timeframe": "7d"
'                 },
'                 {
'                   "target": 95,
'                   "target_display": "95",
'                   "timeframe": "30d",
'                   "warning": 97,
'                   "warning_display": "97"
'                 }
'               ]
'             },
'             "id": "et sit commodo",
'             "type": "Lorem ut quis"
'           }
'         }
'       ]
'     },
'     "type": ""
'   },
'   "links": {
'     "first": "voluptate veniam aliqua ea enim",
'     "last": "non cupidatat amet dolore et",
'     "next": "reprehenderit ex anim Lorem",
'     "prev": "aute ex",
'     "self": "deserunt"
'   },
'   "meta": {
'     "pagination": {
'       "first_number": 71439942,
'       "last_number": -13516974,
'       "next_number": -42474877,
'       "number": 60934593,
'       "prev_number": -25990176,
'       "size": -54076764,
'       "total": 58951452,
'       "type": "deserunt et voluptate"
'     }
'   }
' }

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

Dim count As Long
Dim name As String
Dim Created_at As Long
Dim v_Email As String
Dim Id As Long
Dim Name As String
Dim Description As String
Dim Modified_at As Long
Dim AttributesName As String
Dim Denominator As String
Dim Numerator As String
Dim Slo_type As String
Dim Calculation_error As String
Dim Error_budget_remaining As Long
Dim Indexed_at As Long
Dim Unit As String
Dim Value As Long
Dim Sli As Long
Dim Span_precision As Long
Dim State As String
Dim dataId As String
Dim dataType As String
Dim j As Long
Dim count_j As Long
Dim strVal As String
Dim intVal As Long
Dim error As String
Dim error_budget_remaining As Long
Dim indexed_at As Long
Dim raw_error_budget_remainingUnit As String
Dim raw_error_budget_remainingValue As Long
Dim span_precision As Long
Dim state As String
Dim status As Long
Dim target As Long
Dim timeframe As String
Dim target_display As String
Dim warning As Long
Dim warning_display As String

Dim v_Type As String
v_Type = jResp.StringOf("data.type")
Dim First As String
First = jResp.StringOf("links.first")
Dim Last As String
Last = jResp.StringOf("links.last")
Dim v_Next As String
v_Next = jResp.StringOf("links.next")
Dim Prev As String
Prev = jResp.StringOf("links.prev")
Dim v_Self As String
v_Self = jResp.StringOf("links.self")
Dim First_number As Long
First_number = jResp.IntOf("meta.pagination.first_number")
Dim Last_number As Long
Last_number = jResp.IntOf("meta.pagination.last_number")
Dim Next_number As Long
Next_number = jResp.IntOf("meta.pagination.next_number")
Dim v_Number As Long
v_Number = jResp.IntOf("meta.pagination.number")
Dim Prev_number As Long
Prev_number = jResp.IntOf("meta.pagination.prev_number")
Dim Size As Long
Size = jResp.IntOf("meta.pagination.size")
Dim Total As Long
Total = jResp.IntOf("meta.pagination.total")
Dim PaginationType As String
PaginationType = jResp.StringOf("meta.pagination.type")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("data.attributes.facets.all_tags")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.all_tags[i].count")
    name = jResp.StringOf("data.attributes.facets.all_tags[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.facets.creator_name")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.creator_name[i].count")
    name = jResp.StringOf("data.attributes.facets.creator_name[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.facets.env_tags")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.env_tags[i].count")
    name = jResp.StringOf("data.attributes.facets.env_tags[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.facets.service_tags")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.service_tags[i].count")
    name = jResp.StringOf("data.attributes.facets.service_tags[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.facets.slo_type")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.slo_type[i].count")
    name = jResp.StringOf("data.attributes.facets.slo_type[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.facets.target")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.target[i].count")
    name = jResp.StringOf("data.attributes.facets.target[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.facets.team_tags")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.team_tags[i].count")
    name = jResp.StringOf("data.attributes.facets.team_tags[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.facets.timeframe")
Do While i < count_i
    jResp.I = i
    count = jResp.IntOf("data.attributes.facets.timeframe[i].count")
    name = jResp.StringOf("data.attributes.facets.timeframe[i].name")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("data.attributes.slos")
Do While i < count_i
    jResp.I = i
    Created_at = jResp.IntOf("data.attributes.slos[i].data.attributes.created_at")
    v_Email = jResp.StringOf("data.attributes.slos[i].data.attributes.creator.email")
    Id = jResp.IntOf("data.attributes.slos[i].data.attributes.creator.id")
    Name = jResp.StringOf("data.attributes.slos[i].data.attributes.creator.name")
    Description = jResp.StringOf("data.attributes.slos[i].data.attributes.description")
    Modified_at = jResp.IntOf("data.attributes.slos[i].data.attributes.modified_at")
    AttributesName = jResp.StringOf("data.attributes.slos[i].data.attributes.name")
    Denominator = jResp.StringOf("data.attributes.slos[i].data.attributes.query.denominator")
    Numerator = jResp.StringOf("data.attributes.slos[i].data.attributes.query.numerator")
    Slo_type = jResp.StringOf("data.attributes.slos[i].data.attributes.slo_type")
    Calculation_error = jResp.StringOf("data.attributes.slos[i].data.attributes.status.calculation_error")
    Error_budget_remaining = jResp.IntOf("data.attributes.slos[i].data.attributes.status.error_budget_remaining")
    Indexed_at = jResp.IntOf("data.attributes.slos[i].data.attributes.status.indexed_at")
    Unit = jResp.StringOf("data.attributes.slos[i].data.attributes.status.raw_error_budget_remaining.unit")
    Value = jResp.IntOf("data.attributes.slos[i].data.attributes.status.raw_error_budget_remaining.value")
    Sli = jResp.IntOf("data.attributes.slos[i].data.attributes.status.sli")
    Span_precision = jResp.IntOf("data.attributes.slos[i].data.attributes.status.span_precision")
    State = jResp.StringOf("data.attributes.slos[i].data.attributes.status.state")
    dataId = jResp.StringOf("data.attributes.slos[i].data.id")
    dataType = jResp.StringOf("data.attributes.slos[i].data.type")
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.all_tags")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.all_tags[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.env_tags")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.env_tags[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.groups")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.groups[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.monitor_ids")
    Do While j < count_j
        jResp.J = j
        intVal = jResp.IntOf("data.attributes.slos[i].data.attributes.monitor_ids[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.overall_status")
    Do While j < count_j
        jResp.J = j
        error = jResp.StringOf("data.attributes.slos[i].data.attributes.overall_status[j].error")
        error_budget_remaining = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].error_budget_remaining")
        indexed_at = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].indexed_at")
        raw_error_budget_remainingUnit = jResp.StringOf("data.attributes.slos[i].data.attributes.overall_status[j].raw_error_budget_remaining.unit")
        raw_error_budget_remainingValue = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].raw_error_budget_remaining.value")
        span_precision = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].span_precision")
        state = jResp.StringOf("data.attributes.slos[i].data.attributes.overall_status[j].state")
        status = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].status")
        target = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].target")
        timeframe = jResp.StringOf("data.attributes.slos[i].data.attributes.overall_status[j].timeframe")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.query.metrics")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.query.metrics[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.service_tags")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.service_tags[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.team_tags")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.team_tags[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.thresholds")
    Do While j < count_j
        jResp.J = j
        target = jResp.IntOf("data.attributes.slos[i].data.attributes.thresholds[j].target")
        target_display = jResp.StringOf("data.attributes.slos[i].data.attributes.thresholds[j].target_display")
        timeframe = jResp.StringOf("data.attributes.slos[i].data.attributes.thresholds[j].timeframe")
        warning = jResp.IntOf("data.attributes.slos[i].data.attributes.thresholds[j].warning")
        warning_display = jResp.StringOf("data.attributes.slos[i].data.attributes.thresholds[j].warning_display")
        j = j + 1
    Loop
    i = i + 1
Loop

Curl Command

curl -G -d "query=tempor%20Ut%20sed%20velit"
	-d "page[size]=-62147425"
	-d "page[number]=-62147425"
	-d "include_facets=true"
	-H "Accept: application/json"
https://api.app.ddog-gov.com/api/v1/slo/search

Postman Collection Item JSON

{
  "name": "Search for SLOs",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "url": {
      "raw": "{{baseUrl}}/api/v1/slo/search?query=tempor Ut sed velit&page[size]=-62147425&page[number]=-62147425&include_facets=true",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "v1",
        "slo",
        "search"
      ],
      "query": [
        {
          "key": "query",
          "value": "tempor Ut sed velit",
          "description": "The query string to filter results based on SLO names.\nSome examples of queries include `service:<service-name>`\nand `<slo-name>`."
        },
        {
          "key": "page[size]",
          "value": "-62147425",
          "description": "The number of files to return in the response `[default=10]`."
        },
        {
          "key": "page[number]",
          "value": "-62147425",
          "description": "The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`."
        },
        {
          "key": "include_facets",
          "value": "true",
          "description": "Whether or not to return facet information in the response `[default=false]`."
        }
      ]
    },
    "description": "Get a list of service level objective objects for your organization."
  },
  "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/search?query=tempor Ut sed velit&page[size]=-62147425&page[number]=-62147425&include_facets=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            "search"
          ],
          "query": [
            {
              "key": "query",
              "value": "tempor Ut sed velit",
              "description": "The query string to filter results based on SLO names.\nSome examples of queries include `service:<service-name>`\nand `<slo-name>`."
            },
            {
              "key": "page[size]",
              "value": "-62147425",
              "description": "The number of files to return in the response `[default=10]`."
            },
            {
              "key": "page[number]",
              "value": "-62147425",
              "description": "The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`."
            },
            {
              "key": "include_facets",
              "value": "true",
              "description": "Whether or not to return facet information in the response `[default=false]`."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"data\": {\n    \"attributes\": {\n      \"facets\": {\n        \"all_tags\": [\n          {\n            \"count\": -8530751,\n            \"name\": \"est cillum id ex\"\n          },\n          {\n            \"count\": 20390494,\n            \"name\": \"adipisicing minim quis velit dolore\"\n          }\n        ],\n        \"creator_name\": [\n          {\n            \"count\": 77247452,\n            \"name\": \"cupidatat elit eu id aute\"\n          },\n          {\n            \"count\": -77371710,\n            \"name\": \"dolore\"\n          }\n        ],\n        \"env_tags\": [\n          {\n            \"count\": -42199690,\n            \"name\": \"dolor eiusmod\"\n          },\n          {\n            \"count\": -60615528,\n            \"name\": \"commodo mollit\"\n          }\n        ],\n        \"service_tags\": [\n          {\n            \"count\": 49217615,\n            \"name\": \"aute cupidatat\"\n          },\n          {\n            \"count\": 77659232,\n            \"name\": \"est Ut aute\"\n          }\n        ],\n        \"slo_type\": [\n          {\n            \"count\": 55153641,\n            \"name\": 41482978.922150195\n          },\n          {\n            \"count\": 11427450,\n            \"name\": 85748817.01266047\n          }\n        ],\n        \"target\": [\n          {\n            \"count\": 96778717,\n            \"name\": -37511597.68983867\n          },\n          {\n            \"count\": 15549994,\n            \"name\": 30406993.57594505\n          }\n        ],\n        \"team_tags\": [\n          {\n            \"count\": -61109884,\n            \"name\": \"laborum ex esse proident\"\n          },\n          {\n            \"count\": 68412080,\n            \"name\": \"nisi qui cillum exercitation\"\n          }\n        ],\n        \"timeframe\": [\n          {\n            \"count\": -21958451,\n            \"name\": \"fugiat\"\n          },\n          {\n            \"count\": 12824105,\n            \"name\": \"tempor adipisi\"\n          }\n        ]\n      },\n      \"slos\": [\n        {\n          \"data\": {\n            \"attributes\": {\n              \"all_tags\": [\n                \"env:prod\",\n                \"app:core\"\n              ],\n              \"created_at\": 2857983,\n              \"creator\": {\n                \"email\": \"non Lorem\",\n                \"id\": 39288042,\n                \"name\": \"voluptate\"\n              },\n              \"description\": \"fugiat sit in quis\",\n              \"env_tags\": [\n                \"irure tempor\",\n                \"laborum reprehenderi\"\n              ],\n              \"groups\": [\n                \"env:prod\",\n                \"role:mysql\"\n              ],\n              \"modified_at\": -85796945,\n              \"monitor_ids\": [\n                99205206,\n                23793820\n              ],\n              \"name\": \"Custom Metric SLO\",\n              \"overall_status\": [\n                {\n                  \"error\": \"occaecat dolore\",\n                  \"error_budget_remaining\": 100,\n                  \"indexed_at\": 1662496260,\n                  \"raw_error_budget_remaining\": {\n                    \"unit\": \"requests\",\n                    \"value\": 60\n                  },\n                  \"span_precision\": 2,\n                  \"state\": \"ok\",\n                  \"status\": 100,\n                  \"target\": 99,\n                  \"timeframe\": \"30d\"\n                },\n                {\n                  \"error\": \"in officia\",\n                  \"error_budget_remaining\": 100,\n                  \"indexed_at\": 1662496260,\n                  \"raw_error_budget_remaining\": {\n                    \"unit\": \"requests\",\n                    \"value\": 60\n                  },\n                  \"span_precision\": 2,\n                  \"state\": \"ok\",\n                  \"status\": 100,\n                  \"target\": 99,\n                  \"timeframe\": \"30d\"\n                }\n              ],\n              \"query\": {\n                \"denominator\": \"sum:my.custom.metric{*}.as_count()\",\n                \"metrics\": [\n                  \"my.custom.metric\",\n                  \"my.other.custom.metric\"\n                ],\n                \"numerator\": \"sum:my.custom.metric{type:good}.as_count()\"\n              },\n              \"service_tags\": [\n                \"aute amet dolor pariatur mollit\",\n                \"officia\"\n              ],\n              \"slo_type\": \"metric\",\n              \"status\": {\n                \"calculation_error\": \"qui\",\n                \"error_budget_remaining\": 100,\n                \"indexed_at\": 1662496260,\n                \"raw_error_budget_remaining\": {\n                  \"unit\": \"requests\",\n                  \"value\": 60\n                },\n                \"sli\": 100,\n                \"span_precision\": 2,\n                \"state\": \"ok\"\n              },\n              \"team_tags\": [\n                \"quis veniam magna\",\n                \"ad\"\n              ],\n              \"thresholds\": [\n                {\n                  \"target\": 95,\n                  \"target_display\": \"95\",\n                  \"timeframe\": \"7d\"\n                },\n                {\n                  \"target\": 95,\n                  \"target_display\": \"95\",\n                  \"timeframe\": \"30d\",\n                  \"warning\": 97,\n                  \"warning_display\": \"97\"\n                }\n              ]\n            },\n            \"id\": \"sed fugiat est cillum\",\n            \"type\": \"mollit dolore\"\n          }\n        },\n        {\n          \"data\": {\n            \"attributes\": {\n              \"all_tags\": [\n                \"env:prod\",\n                \"app:core\"\n              ],\n              \"created_at\": -97407922,\n              \"creator\": {\n                \"email\": \"in nulla\",\n                \"id\": -4202515,\n                \"name\": \"elit et consequat\"\n              },\n              \"description\": \"dolor sed cupidatat pariatur sint\",\n              \"env_tags\": [\n                \"magna ex pariatur dolore sed\",\n                \"velit dolor aute in nostrud\"\n              ],\n              \"groups\": [\n                \"env:prod\",\n                \"role:mysql\"\n              ],\n              \"modified_at\": -32142227,\n              \"monitor_ids\": [\n                83809238,\n                -63596037\n              ],\n              \"name\": \"Custom Metric SLO\",\n              \"overall_status\": [\n                {\n                  \"error\": \"reprehenderit cupidat\",\n                  \"error_budget_remaining\": 100,\n                  \"indexed_at\": 1662496260,\n                  \"raw_error_budget_remaining\": {\n                    \"unit\": \"requests\",\n                    \"value\": 60\n                  },\n                  \"span_precision\": 2,\n                  \"state\": \"ok\",\n                  \"status\": 100,\n                  \"target\": 99,\n                  \"timeframe\": \"30d\"\n                },\n                {\n                  \"error\": \"consequat\",\n                  \"error_budget_remaining\": 100,\n                  \"indexed_at\": 1662496260,\n                  \"raw_error_budget_remaining\": {\n                    \"unit\": \"requests\",\n                    \"value\": 60\n                  },\n                  \"span_precision\": 2,\n                  \"state\": \"ok\",\n                  \"status\": 100,\n                  \"target\": 99,\n                  \"timeframe\": \"30d\"\n                }\n              ],\n              \"query\": {\n                \"denominator\": \"sum:my.custom.metric{*}.as_count()\",\n                \"metrics\": [\n                  \"my.custom.metric\",\n                  \"my.other.custom.metric\"\n                ],\n                \"numerator\": \"sum:my.custom.metric{type:good}.as_count()\"\n              },\n              \"service_tags\": [\n                \"magna velit\",\n                \"occaecat tempor proident ex ea\"\n              ],\n              \"slo_type\": \"metric\",\n              \"status\": {\n                \"calculation_error\": \"in occaecat e\",\n                \"error_budget_remaining\": 100,\n                \"indexed_at\": 1662496260,\n                \"raw_error_budget_remaining\": {\n                  \"unit\": \"requests\",\n                  \"value\": 60\n                },\n                \"sli\": 100,\n                \"span_precision\": 2,\n                \"state\": \"ok\"\n              },\n              \"team_tags\": [\n                \"Ut nisi ipsum fugiat\",\n                \"exercitation proident consequat aute\"\n              ],\n              \"thresholds\": [\n                {\n                  \"target\": 95,\n                  \"target_display\": \"95\",\n                  \"timeframe\": \"7d\"\n                },\n                {\n                  \"target\": 95,\n                  \"target_display\": \"95\",\n                  \"timeframe\": \"30d\",\n                  \"warning\": 97,\n                  \"warning_display\": \"97\"\n                }\n              ]\n            },\n            \"id\": \"et sit commodo\",\n            \"type\": \"Lorem ut quis\"\n          }\n        }\n      ]\n    },\n    \"type\": \"\"\n  },\n  \"links\": {\n    \"first\": \"voluptate veniam aliqua ea enim\",\n    \"last\": \"non cupidatat amet dolore et\",\n    \"next\": \"reprehenderit ex anim Lorem\",\n    \"prev\": \"aute ex\",\n    \"self\": \"deserunt\"\n  },\n  \"meta\": {\n    \"pagination\": {\n      \"first_number\": 71439942,\n      \"last_number\": -13516974,\n      \"next_number\": -42474877,\n      \"number\": 60934593,\n      \"prev_number\": -25990176,\n      \"size\": -54076764,\n      \"total\": 58951452,\n      \"type\": \"deserunt et voluptate\"\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/search?query=tempor Ut sed velit&page[size]=-62147425&page[number]=-62147425&include_facets=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            "search"
          ],
          "query": [
            {
              "key": "query",
              "value": "tempor Ut sed velit",
              "description": "The query string to filter results based on SLO names.\nSome examples of queries include `service:<service-name>`\nand `<slo-name>`."
            },
            {
              "key": "page[size]",
              "value": "-62147425",
              "description": "The number of files to return in the response `[default=10]`."
            },
            {
              "key": "page[number]",
              "value": "-62147425",
              "description": "The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`."
            },
            {
              "key": "include_facets",
              "value": "true",
              "description": "Whether or not to return facet information in the response `[default=false]`."
            }
          ]
        }
      },
      "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/search?query=tempor Ut sed velit&page[size]=-62147425&page[number]=-62147425&include_facets=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            "search"
          ],
          "query": [
            {
              "key": "query",
              "value": "tempor Ut sed velit",
              "description": "The query string to filter results based on SLO names.\nSome examples of queries include `service:<service-name>`\nand `<slo-name>`."
            },
            {
              "key": "page[size]",
              "value": "-62147425",
              "description": "The number of files to return in the response `[default=10]`."
            },
            {
              "key": "page[number]",
              "value": "-62147425",
              "description": "The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`."
            },
            {
              "key": "include_facets",
              "value": "true",
              "description": "Whether or not to return facet information in the response `[default=false]`."
            }
          ]
        }
      },
      "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": "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/search?query=tempor Ut sed velit&page[size]=-62147425&page[number]=-62147425&include_facets=true",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "slo",
            "search"
          ],
          "query": [
            {
              "key": "query",
              "value": "tempor Ut sed velit",
              "description": "The query string to filter results based on SLO names.\nSome examples of queries include `service:<service-name>`\nand `<slo-name>`."
            },
            {
              "key": "page[size]",
              "value": "-62147425",
              "description": "The number of files to return in the response `[default=10]`."
            },
            {
              "key": "page[number]",
              "value": "-62147425",
              "description": "The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`."
            },
            {
              "key": "include_facets",
              "value": "true",
              "description": "Whether or not to return facet information in the response `[default=false]`."
            }
          ]
        }
      },
      "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}"
    }
  ]
}