Chilkat Online Tools

Swift / Datadog API Collection / Search for SLOs

Back to Collection Items

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

    let http = CkoHttp()
    var success: Bool

    let queryParams = CkoJsonObject()
    queryParams.UpdateString("query", value: "tempor Ut sed velit")
    queryParams.UpdateInt("page[size]", value: -62147425)
    queryParams.UpdateInt("page[number]", value: -62147425)
    queryParams.UpdateString("include_facets", value: "true")

    http.SetRequestHeader("Accept", value: "application/json")

    var resp: CkoHttpResponse? = http.QuickRequestParams("GET", url: "https://api.app.ddog-gov.com/api/v1/slo/search", json: queryParams)
    if http.LastMethodSuccess == false {
        print("\(http.LastErrorText)")
        return
    }

    let sbResponseBody = CkoStringBuilder()
    resp!.GetBodySb(sbResponseBody)

    let jResp = CkoJsonObject()
    jResp.LoadSb(sbResponseBody)
    jResp.EmitCompact = false

    print("Response Body:")
    print("\(jResp.Emit())")

    var respStatusCode: Int = resp!.StatusCode.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode >= 400 {
        print("Response Header:")
        print("\(resp!.Header)")
        print("Failed.")
        resp = nil
        return
    }

    resp = nil

    // 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

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

    var v_Type: String? = jResp.StringOf("data.type")
    var First: String? = jResp.StringOf("links.first")
    var Last: String? = jResp.StringOf("links.last")
    var v_Next: String? = jResp.StringOf("links.next")
    var Prev: String? = jResp.StringOf("links.prev")
    var v_Self: String? = jResp.StringOf("links.self")
    var First_number: Int = jResp.IntOf("meta.pagination.first_number").intValue
    var Last_number: Int = jResp.IntOf("meta.pagination.last_number").intValue
    var Next_number: Int = jResp.IntOf("meta.pagination.next_number").intValue
    var v_Number: Int = jResp.IntOf("meta.pagination.number").intValue
    var Prev_number: Int = jResp.IntOf("meta.pagination.prev_number").intValue
    var Size: Int = jResp.IntOf("meta.pagination.size").intValue
    var Total: Int = jResp.IntOf("meta.pagination.total").intValue
    var PaginationType: String? = jResp.StringOf("meta.pagination.type")
    var i: Int = 0
    var count_i: Int = jResp.SizeOfArray("data.attributes.facets.all_tags").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.all_tags[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.all_tags[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.facets.creator_name").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.creator_name[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.creator_name[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.facets.env_tags").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.env_tags[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.env_tags[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.facets.service_tags").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.service_tags[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.service_tags[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.facets.slo_type").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.slo_type[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.slo_type[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.facets.target").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.target[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.target[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.facets.team_tags").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.team_tags[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.team_tags[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.facets.timeframe").intValue
    while i < count_i {
        jResp.I = i
        count = jResp.IntOf("data.attributes.facets.timeframe[i].count").intValue
        name = jResp.StringOf("data.attributes.facets.timeframe[i].name")
        i = i + 1
    }

    i = 0
    count_i = jResp.SizeOfArray("data.attributes.slos").intValue
    while i < count_i {
        jResp.I = i
        Created_at = jResp.IntOf("data.attributes.slos[i].data.attributes.created_at").intValue
        v_Email = jResp.StringOf("data.attributes.slos[i].data.attributes.creator.email")
        Id = jResp.IntOf("data.attributes.slos[i].data.attributes.creator.id").intValue
        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").intValue
        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").intValue
        Indexed_at = jResp.IntOf("data.attributes.slos[i].data.attributes.status.indexed_at").intValue
        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").intValue
        Sli = jResp.IntOf("data.attributes.slos[i].data.attributes.status.sli").intValue
        Span_precision = jResp.IntOf("data.attributes.slos[i].data.attributes.status.span_precision").intValue
        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").intValue
        while j < count_j {
            jResp.J = j
            strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.all_tags[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.env_tags").intValue
        while j < count_j {
            jResp.J = j
            strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.env_tags[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.groups").intValue
        while j < count_j {
            jResp.J = j
            strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.groups[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.monitor_ids").intValue
        while j < count_j {
            jResp.J = j
            intVal = jResp.IntOf("data.attributes.slos[i].data.attributes.monitor_ids[j]").intValue
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.overall_status").intValue
        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").intValue
            indexed_at = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].indexed_at").intValue
            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").intValue
            span_precision = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].span_precision").intValue
            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").intValue
            target = jResp.IntOf("data.attributes.slos[i].data.attributes.overall_status[j].target").intValue
            timeframe = jResp.StringOf("data.attributes.slos[i].data.attributes.overall_status[j].timeframe")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.query.metrics").intValue
        while j < count_j {
            jResp.J = j
            strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.query.metrics[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.service_tags").intValue
        while j < count_j {
            jResp.J = j
            strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.service_tags[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.team_tags").intValue
        while j < count_j {
            jResp.J = j
            strVal = jResp.StringOf("data.attributes.slos[i].data.attributes.team_tags[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("data.attributes.slos[i].data.attributes.thresholds").intValue
        while j < count_j {
            jResp.J = j
            target = jResp.IntOf("data.attributes.slos[i].data.attributes.thresholds[j].target").intValue
            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").intValue
            warning_display = jResp.StringOf("data.attributes.slos[i].data.attributes.thresholds[j].warning_display")
            j = j + 1
        }

        i = i + 1
    }


}

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}"
    }
  ]
}