Chilkat Online Tools

PureBasic / Datadog API Collection / Get all monitor details

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkJsonArray.pb"

Procedure ChilkatExample()

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

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    queryParams.i = CkJsonObject::ckCreate()
    If queryParams.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(queryParams,"group_states","alert")
    CkJsonObject::ckUpdateString(queryParams,"name","tempor Ut sed velit")
    CkJsonObject::ckUpdateString(queryParams,"tags","host:host0")
    CkJsonObject::ckUpdateString(queryParams,"monitor_tags","service:my-app")
    CkJsonObject::ckUpdateString(queryParams,"with_downtimes","true")
    CkJsonObject::ckUpdateInt(queryParams,"id_offset",-62147425)
    CkJsonObject::ckUpdateInt(queryParams,"page",0)
    CkJsonObject::ckUpdateInt(queryParams,"page_size",20)

    CkHttp::ckSetRequestHeader(http,"Accept","application/json")

    resp.i = CkHttp::ckQuickRequestParams(http,"GET","https://api.app.ddog-gov.com/api/v1/monitor",queryParams)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(queryParams)
        ProcedureReturn
    EndIf

    sbResponseBody.i = CkStringBuilder::ckCreate()
    If sbResponseBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpResponse::ckGetBodySb(resp,sbResponseBody)

    jarrResp.i = CkJsonArray::ckCreate()
    If jarrResp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonArray::ckLoadSb(jarrResp,sbResponseBody)
    CkJsonArray::setCkEmitCompact(jarrResp, 0)

    Debug "Response Body:"
    Debug CkJsonArray::ckEmit(jarrResp)

    respStatusCode.i = CkHttpResponse::ckStatusCode(resp)
    Debug "Response Status Code = " + Str(respStatusCode)
    If respStatusCode >= 400
        Debug "Response Header:"
        Debug CkHttpResponse::ckHeader(resp)
        Debug "Failed."
        CkHttpResponse::ckDispose(resp)

        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(queryParams)
        CkStringBuilder::ckDispose(sbResponseBody)
        CkJsonArray::ckDispose(jarrResp)
        ProcedureReturn
    EndIf

    CkHttpResponse::ckDispose(resp)

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

    ; [
    ;   {
    ;     "type": "query alert",
    ;     "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
    ;     "created": "1977-10-10T13:08:01.527Z",
    ;     "creator": {
    ;       "email": "eiusmod aliquip pariatur dolore",
    ;       "handle": "fugiat id sint",
    ;       "name": "elit in"
    ;     },
    ;     "deleted": "2015-07-16T18:46:50.390Z",
    ;     "id": 83649643,
    ;     "matching_downtimes": [
    ;       {
    ;         "id": 1625,
    ;         "end": 1412792983,
    ;         "scope": [
    ;           "env:staging"
    ;         ],
    ;         "start": 1412792983
    ;       },
    ;       {
    ;         "id": 1625,
    ;         "end": 1412792983,
    ;         "scope": [
    ;           "env:staging"
    ;         ],
    ;         "start": 1412792983
    ;       }
    ;     ],
    ;     "message": "adi",
    ;     "modified": "1973-08-05T09:10:13.718Z",
    ;     "multi": false,
    ;     "name": "My monitor",
    ;     "options": {
    ;       "aggregation": {
    ;         "group_by": "host",
    ;         "metric": "metrics.name",
    ;         "type": "count"
    ;       },
    ;       "device_ids": [
    ;         "firefox.tablet",
    ;         "mobile_small"
    ;       ],
    ;       "enable_logs_sample": true,
    ;       "enable_samples": true,
    ;       "escalation_message": "none",
    ;       "evaluation_delay": 27121357,
    ;       "group_retention_duration": "esse aliquip ullamco irure",
    ;       "groupby_simple_monitor": true,
    ;       "include_tags": true,
    ;       "locked": false,
    ;       "min_failure_duration": 0,
    ;       "min_location_failed": 1,
    ;       "new_group_delay": -9275927,
    ;       "new_host_delay": 300,
    ;       "no_data_timeframe": 58492166,
    ;       "notification_preset_name": "show_all",
    ;       "notify_audit": false,
    ;       "notify_by": [
    ;         "ut quis e",
    ;         "dolore elit"
    ;       ],
    ;       "notify_no_data": false,
    ;       "on_missing_data": "show_no_data",
    ;       "renotify_interval": null,
    ;       "renotify_occurrences": -27638100,
    ;       "renotify_statuses": [
    ;         "alert",
    ;         "warn"
    ;       ],
    ;       "require_full_window": true,
    ;       "scheduling_options": {
    ;         "evaluation_window": {
    ;           "day_starts": "04:00",
    ;           "hour_starts": 0,
    ;           "month_starts": 1
    ;         }
    ;       },
    ;       "silenced": {
    ;         "Ut_d_e": 94650378
    ;       },
    ;       "synthetics_check_id": "enim et tempor",
    ;       "threshold_windows": {
    ;         "recovery_window": "ipsum eiusmod",
    ;         "trigger_window": "ullamco"
    ;       },
    ;       "thresholds": {
    ;         "critical": -74585739.55469063,
    ;         "critical_recovery": -14449679.792215124,
    ;         "ok": 69468073.65422091,
    ;         "unknown": -35840527.53565459,
    ;         "warning": -78191860.79094723,
    ;         "warning_recovery": 30967604.742167816
    ;       },
    ;       "timeout_h": null,
    ;       "variables": [
    ;         {
    ;           "data_source": "rum",
    ;           "compute": {
    ;             "aggregation": "avg",
    ;             "interval": 60000,
    ;             "metric": "@duration"
    ;           },
    ;           "name": "query_errors",
    ;           "group_by": [
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "qui Ut cupidatat proid",
    ;                 "order": "desc"
    ;               }
    ;             },
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "nostrud mollit",
    ;                 "order": "desc"
    ;               }
    ;             }
    ;           ],
    ;           "indexes": [
    ;             "days-3",
    ;             "days-7"
    ;           ],
    ;           "search": {
    ;             "query": "service:query"
    ;           }
    ;         },
    ;         {
    ;           "data_source": "rum",
    ;           "compute": {
    ;             "aggregation": "avg",
    ;             "interval": 60000,
    ;             "metric": "@duration"
    ;           },
    ;           "name": "query_errors",
    ;           "group_by": [
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "ut non",
    ;                 "order": "desc"
    ;               }
    ;             },
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "reprehenderit sint eu proident",
    ;                 "order": "desc"
    ;               }
    ;             }
    ;           ],
    ;           "indexes": [
    ;             "days-3",
    ;             "days-7"
    ;           ],
    ;           "search": {
    ;             "query": "service:query"
    ;           }
    ;         }
    ;       ]
    ;     },
    ;     "overall_state": "Unknown",
    ;     "priority": 4,
    ;     "restricted_roles": [
    ;       "Ut",
    ;       "dolor ad Duis proident"
    ;     ],
    ;     "state": {
    ;       "groups": {
    ;         "ullamco2": {
    ;           "last_nodata_ts": -30657062,
    ;           "last_notified_ts": -69789968,
    ;           "last_resolved_ts": -40935564,
    ;           "last_triggered_ts": 63742261,
    ;           "name": "id",
    ;           "status": "Alert"
    ;         },
    ;         "voluptate_0c": {
    ;           "last_nodata_ts": 13097104,
    ;           "last_notified_ts": 53104444,
    ;           "last_resolved_ts": -69320667,
    ;           "last_triggered_ts": 27152807,
    ;           "name": "quis amet",
    ;           "status": "Alert"
    ;         }
    ;       }
    ;     },
    ;     "tags": [
    ;       "fugiat culpa aliqua consectetur",
    ;       "minim in"
    ;     ]
    ;   },
    ;   {
    ;     "type": "query alert",
    ;     "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100",
    ;     "created": "1952-04-01T14:02:58.093Z",
    ;     "creator": {
    ;       "email": "esse ad veniam qui",
    ;       "handle": "nulla enim non",
    ;       "name": "ut reprehend"
    ;     },
    ;     "deleted": "2005-07-24T20:18:36.078Z",
    ;     "id": 14961847,
    ;     "matching_downtimes": [
    ;       {
    ;         "id": 1625,
    ;         "end": 1412792983,
    ;         "scope": [
    ;           "env:staging"
    ;         ],
    ;         "start": 1412792983
    ;       },
    ;       {
    ;         "id": 1625,
    ;         "end": 1412792983,
    ;         "scope": [
    ;           "env:staging"
    ;         ],
    ;         "start": 1412792983
    ;       }
    ;     ],
    ;     "message": "labore nulla",
    ;     "modified": "2013-05-28T22:30:26.014Z",
    ;     "multi": true,
    ;     "name": "My monitor",
    ;     "options": {
    ;       "aggregation": {
    ;         "group_by": "host",
    ;         "metric": "metrics.name",
    ;         "type": "count"
    ;       },
    ;       "device_ids": [
    ;         "chrome.tablet",
    ;         "firefox.laptop_large"
    ;       ],
    ;       "enable_logs_sample": false,
    ;       "enable_samples": true,
    ;       "escalation_message": "none",
    ;       "evaluation_delay": 48023490,
    ;       "group_retention_duration": "veniam eiusmod anim",
    ;       "groupby_simple_monitor": true,
    ;       "include_tags": true,
    ;       "locked": false,
    ;       "min_failure_duration": 0,
    ;       "min_location_failed": 1,
    ;       "new_group_delay": -78698406,
    ;       "new_host_delay": 300,
    ;       "no_data_timeframe": -29298203,
    ;       "notification_preset_name": "show_all",
    ;       "notify_audit": false,
    ;       "notify_by": [
    ;         "in labore irure reprehenderit",
    ;         "Ut ea"
    ;       ],
    ;       "notify_no_data": false,
    ;       "on_missing_data": "default",
    ;       "renotify_interval": null,
    ;       "renotify_occurrences": 88843653,
    ;       "renotify_statuses": [
    ;         "warn",
    ;         "no data"
    ;       ],
    ;       "require_full_window": false,
    ;       "scheduling_options": {
    ;         "evaluation_window": {
    ;           "day_starts": "04:00",
    ;           "hour_starts": 0,
    ;           "month_starts": 1
    ;         }
    ;       },
    ;       "silenced": {
    ;         "ut_8": -75892703
    ;       },
    ;       "synthetics_check_id": "ut et aute cupidatat",
    ;       "threshold_windows": {
    ;         "recovery_window": "dolor do",
    ;         "trigger_window": "pariatur"
    ;       },
    ;       "thresholds": {
    ;         "critical": -5336230.352944598,
    ;         "critical_recovery": 7945004.71738635,
    ;         "ok": -68115416.21610427,
    ;         "unknown": 89541673.34797806,
    ;         "warning": 66901483.96194494,
    ;         "warning_recovery": -39599171.26178945
    ;       },
    ;       "timeout_h": null,
    ;       "variables": [
    ;         {
    ;           "data_source": "rum",
    ;           "compute": {
    ;             "aggregation": "avg",
    ;             "interval": 60000,
    ;             "metric": "@duration"
    ;           },
    ;           "name": "query_errors",
    ;           "group_by": [
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "deserunt nisi mollit",
    ;                 "order": "desc"
    ;               }
    ;             },
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "dolor pariatur",
    ;                 "order": "desc"
    ;               }
    ;             }
    ;           ],
    ;           "indexes": [
    ;             "days-3",
    ;             "days-7"
    ;           ],
    ;           "search": {
    ;             "query": "service:query"
    ;           }
    ;         },
    ;         {
    ;           "data_source": "rum",
    ;           "compute": {
    ;             "aggregation": "avg",
    ;             "interval": 60000,
    ;             "metric": "@duration"
    ;           },
    ;           "name": "query_errors",
    ;           "group_by": [
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "l",
    ;                 "order": "desc"
    ;               }
    ;             },
    ;             {
    ;               "facet": "status",
    ;               "limit": 10,
    ;               "sort": {
    ;                 "aggregation": "avg",
    ;                 "metric": "ut non",
    ;                 "order": "desc"
    ;               }
    ;             }
    ;           ],
    ;           "indexes": [
    ;             "days-3",
    ;             "days-7"
    ;           ],
    ;           "search": {
    ;             "query": "service:query"
    ;           }
    ;         }
    ;       ]
    ;     },
    ;     "overall_state": "Unknown",
    ;     "priority": 3,
    ;     "restricted_roles": [
    ;       "ipsum laboris laborum incididunt",
    ;       "fugiat non est"
    ;     ],
    ;     "state": {
    ;       "groups": {
    ;         "Ut7": {
    ;           "last_nodata_ts": 21127128,
    ;           "last_notified_ts": 19208840,
    ;           "last_resolved_ts": 29022384,
    ;           "last_triggered_ts": -96682791,
    ;           "name": "ex tempor",
    ;           "status": "OK"
    ;         }
    ;       }
    ;     },
    ;     "tags": [
    ;       "dolor nulla dolore elit",
    ;       "consequat sunt in"
    ;     ]
    ;   }
    ; ]

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

    json.i
    v_type.s
    query.s
    created.s
    v_Email.s
    Handle.s
    Name.s
    deleted.s
    id.i
    message.s
    modified.s
    multi.i
    name.s
    Group_by.s
    Metric.s
    v_Type.s
    Enable_logs_sample.i
    Enable_samples.i
    Escalation_message.s
    Evaluation_delay.i
    Group_retention_duration.s
    Groupby_simple_monitor.i
    Include_tags.i
    Locked.i
    Min_failure_duration.i
    Min_location_failed.i
    New_group_delay.i
    New_host_delay.i
    No_data_timeframe.i
    Notification_preset_name.s
    Notify_audit.i
    Notify_no_data.i
    On_missing_data.s
    Renotify_interval.s
    Renotify_occurrences.i
    Require_full_window.i
    Day_starts.s
    Hour_starts.i
    Month_starts.i
    Ut_d_e.i
    Synthetics_check_id.s
    Recovery_window.s
    Trigger_window.s
    Critical.s
    Critical_recovery.s
    Ok.s
    Unknown.s
    Warning.s
    Warning_recovery.s
    Timeout_h.s
    overall_state.s
    priority.i
    Last_nodata_ts.i
    Last_notified_ts.i
    Last_resolved_ts.i
    Last_triggered_ts.i
    Ullamco2Name.s
    Status.s
    Voluptate_0cLast_nodata_ts.i
    Voluptate_0cLast_notified_ts.i
    Voluptate_0cLast_resolved_ts.i
    Voluptate_0cLast_triggered_ts.i
    Voluptate_0cName.s
    Voluptate_0cStatus.s
    Ut_8.i
    Ut7Last_nodata_ts.i
    Ut7Last_notified_ts.i
    Ut7Last_resolved_ts.i
    Ut7Last_triggered_ts.i
    Ut7Name.s
    Ut7Status.s
    j.i
    count_j.i
    v_end.i
    start.i
    k.i
    count_k.i
    strVal.s
    data_source.s
    Aggregation.s
    Interval.i
    computeMetric.s
    Query.s
    facet.s
    limit.i
    sortAggregation.s
    sortMetric.s
    Order.s

    i.i = 0
    count_i.i = CkJsonArray::ckSize(jarrResp)
    While i < count_i
        json = CkJsonArray::ckObjectAt(jarrResp,i)
        v_type = CkJsonObject::ckStringOf(json,"type")
        query = CkJsonObject::ckStringOf(json,"query")
        created = CkJsonObject::ckStringOf(json,"created")
        v_Email = CkJsonObject::ckStringOf(json,"creator.email")
        Handle = CkJsonObject::ckStringOf(json,"creator.handle")
        Name = CkJsonObject::ckStringOf(json,"creator.name")
        deleted = CkJsonObject::ckStringOf(json,"deleted")
        id = CkJsonObject::ckIntOf(json,"id")
        message = CkJsonObject::ckStringOf(json,"message")
        modified = CkJsonObject::ckStringOf(json,"modified")
        multi = CkJsonObject::ckBoolOf(json,"multi")
        name = CkJsonObject::ckStringOf(json,"name")
        Group_by = CkJsonObject::ckStringOf(json,"options.aggregation.group_by")
        Metric = CkJsonObject::ckStringOf(json,"options.aggregation.metric")
        v_Type = CkJsonObject::ckStringOf(json,"options.aggregation.type")
        Enable_logs_sample = CkJsonObject::ckBoolOf(json,"options.enable_logs_sample")
        Enable_samples = CkJsonObject::ckBoolOf(json,"options.enable_samples")
        Escalation_message = CkJsonObject::ckStringOf(json,"options.escalation_message")
        Evaluation_delay = CkJsonObject::ckIntOf(json,"options.evaluation_delay")
        Group_retention_duration = CkJsonObject::ckStringOf(json,"options.group_retention_duration")
        Groupby_simple_monitor = CkJsonObject::ckBoolOf(json,"options.groupby_simple_monitor")
        Include_tags = CkJsonObject::ckBoolOf(json,"options.include_tags")
        Locked = CkJsonObject::ckBoolOf(json,"options.locked")
        Min_failure_duration = CkJsonObject::ckIntOf(json,"options.min_failure_duration")
        Min_location_failed = CkJsonObject::ckIntOf(json,"options.min_location_failed")
        New_group_delay = CkJsonObject::ckIntOf(json,"options.new_group_delay")
        New_host_delay = CkJsonObject::ckIntOf(json,"options.new_host_delay")
        No_data_timeframe = CkJsonObject::ckIntOf(json,"options.no_data_timeframe")
        Notification_preset_name = CkJsonObject::ckStringOf(json,"options.notification_preset_name")
        Notify_audit = CkJsonObject::ckBoolOf(json,"options.notify_audit")
        Notify_no_data = CkJsonObject::ckBoolOf(json,"options.notify_no_data")
        On_missing_data = CkJsonObject::ckStringOf(json,"options.on_missing_data")
        Renotify_interval = CkJsonObject::ckStringOf(json,"options.renotify_interval")
        Renotify_occurrences = CkJsonObject::ckIntOf(json,"options.renotify_occurrences")
        Require_full_window = CkJsonObject::ckBoolOf(json,"options.require_full_window")
        Day_starts = CkJsonObject::ckStringOf(json,"options.scheduling_options.evaluation_window.day_starts")
        Hour_starts = CkJsonObject::ckIntOf(json,"options.scheduling_options.evaluation_window.hour_starts")
        Month_starts = CkJsonObject::ckIntOf(json,"options.scheduling_options.evaluation_window.month_starts")
        Ut_d_e = CkJsonObject::ckIntOf(json,"options.silenced.Ut_d_e")
        Synthetics_check_id = CkJsonObject::ckStringOf(json,"options.synthetics_check_id")
        Recovery_window = CkJsonObject::ckStringOf(json,"options.threshold_windows.recovery_window")
        Trigger_window = CkJsonObject::ckStringOf(json,"options.threshold_windows.trigger_window")
        Critical = CkJsonObject::ckStringOf(json,"options.thresholds.critical")
        Critical_recovery = CkJsonObject::ckStringOf(json,"options.thresholds.critical_recovery")
        Ok = CkJsonObject::ckStringOf(json,"options.thresholds.ok")
        Unknown = CkJsonObject::ckStringOf(json,"options.thresholds.unknown")
        Warning = CkJsonObject::ckStringOf(json,"options.thresholds.warning")
        Warning_recovery = CkJsonObject::ckStringOf(json,"options.thresholds.warning_recovery")
        Timeout_h = CkJsonObject::ckStringOf(json,"options.timeout_h")
        overall_state = CkJsonObject::ckStringOf(json,"overall_state")
        priority = CkJsonObject::ckIntOf(json,"priority")
        Last_nodata_ts = CkJsonObject::ckIntOf(json,"state.groups.ullamco2.last_nodata_ts")
        Last_notified_ts = CkJsonObject::ckIntOf(json,"state.groups.ullamco2.last_notified_ts")
        Last_resolved_ts = CkJsonObject::ckIntOf(json,"state.groups.ullamco2.last_resolved_ts")
        Last_triggered_ts = CkJsonObject::ckIntOf(json,"state.groups.ullamco2.last_triggered_ts")
        Ullamco2Name = CkJsonObject::ckStringOf(json,"state.groups.ullamco2.name")
        Status = CkJsonObject::ckStringOf(json,"state.groups.ullamco2.status")
        Voluptate_0cLast_nodata_ts = CkJsonObject::ckIntOf(json,"state.groups.voluptate_0c.last_nodata_ts")
        Voluptate_0cLast_notified_ts = CkJsonObject::ckIntOf(json,"state.groups.voluptate_0c.last_notified_ts")
        Voluptate_0cLast_resolved_ts = CkJsonObject::ckIntOf(json,"state.groups.voluptate_0c.last_resolved_ts")
        Voluptate_0cLast_triggered_ts = CkJsonObject::ckIntOf(json,"state.groups.voluptate_0c.last_triggered_ts")
        Voluptate_0cName = CkJsonObject::ckStringOf(json,"state.groups.voluptate_0c.name")
        Voluptate_0cStatus = CkJsonObject::ckStringOf(json,"state.groups.voluptate_0c.status")
        Ut_8 = CkJsonObject::ckIntOf(json,"options.silenced.ut_8")
        Ut7Last_nodata_ts = CkJsonObject::ckIntOf(json,"state.groups.Ut7.last_nodata_ts")
        Ut7Last_notified_ts = CkJsonObject::ckIntOf(json,"state.groups.Ut7.last_notified_ts")
        Ut7Last_resolved_ts = CkJsonObject::ckIntOf(json,"state.groups.Ut7.last_resolved_ts")
        Ut7Last_triggered_ts = CkJsonObject::ckIntOf(json,"state.groups.Ut7.last_triggered_ts")
        Ut7Name = CkJsonObject::ckStringOf(json,"state.groups.Ut7.name")
        Ut7Status = CkJsonObject::ckStringOf(json,"state.groups.Ut7.status")
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(json,"matching_downtimes")
        While j < count_j
            CkJsonObject::setCkJ(json, j)
            id = CkJsonObject::ckIntOf(json,"matching_downtimes[j].id")
            v_end = CkJsonObject::ckIntOf(json,"matching_downtimes[j].end")
            start = CkJsonObject::ckIntOf(json,"matching_downtimes[j].start")
            k = 0
            count_k = CkJsonObject::ckSizeOfArray(json,"matching_downtimes[j].scope")
            While k < count_k
                CkJsonObject::setCkK(json, k)
                strVal = CkJsonObject::ckStringOf(json,"matching_downtimes[j].scope[k]")
                k = k + 1
            Wend
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(json,"options.device_ids")
        While j < count_j
            CkJsonObject::setCkJ(json, j)
            strVal = CkJsonObject::ckStringOf(json,"options.device_ids[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(json,"options.notify_by")
        While j < count_j
            CkJsonObject::setCkJ(json, j)
            strVal = CkJsonObject::ckStringOf(json,"options.notify_by[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(json,"options.renotify_statuses")
        While j < count_j
            CkJsonObject::setCkJ(json, j)
            strVal = CkJsonObject::ckStringOf(json,"options.renotify_statuses[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(json,"options.variables")
        While j < count_j
            CkJsonObject::setCkJ(json, j)
            data_source = CkJsonObject::ckStringOf(json,"options.variables[j].data_source")
            Aggregation = CkJsonObject::ckStringOf(json,"options.variables[j].compute.aggregation")
            Interval = CkJsonObject::ckIntOf(json,"options.variables[j].compute.interval")
            computeMetric = CkJsonObject::ckStringOf(json,"options.variables[j].compute.metric")
            name = CkJsonObject::ckStringOf(json,"options.variables[j].name")
            Query = CkJsonObject::ckStringOf(json,"options.variables[j].search.query")
            k = 0
            count_k = CkJsonObject::ckSizeOfArray(json,"options.variables[j].group_by")
            While k < count_k
                CkJsonObject::setCkK(json, k)
                facet = CkJsonObject::ckStringOf(json,"options.variables[j].group_by[k].facet")
                limit = CkJsonObject::ckIntOf(json,"options.variables[j].group_by[k].limit")
                sortAggregation = CkJsonObject::ckStringOf(json,"options.variables[j].group_by[k].sort.aggregation")
                sortMetric = CkJsonObject::ckStringOf(json,"options.variables[j].group_by[k].sort.metric")
                Order = CkJsonObject::ckStringOf(json,"options.variables[j].group_by[k].sort.order")
                k = k + 1
            Wend
            k = 0
            count_k = CkJsonObject::ckSizeOfArray(json,"options.variables[j].indexes")
            While k < count_k
                CkJsonObject::setCkK(json, k)
                strVal = CkJsonObject::ckStringOf(json,"options.variables[j].indexes[k]")
                k = k + 1
            Wend
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(json,"restricted_roles")
        While j < count_j
            CkJsonObject::setCkJ(json, j)
            strVal = CkJsonObject::ckStringOf(json,"restricted_roles[j]")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(json,"tags")
        While j < count_j
            CkJsonObject::setCkJ(json, j)
            strVal = CkJsonObject::ckStringOf(json,"tags[j]")
            j = j + 1
        Wend
        CkJsonObject::ckDispose(json)

        i = i + 1
    Wend


    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(queryParams)
    CkStringBuilder::ckDispose(sbResponseBody)
    CkJsonArray::ckDispose(jarrResp)


    ProcedureReturn
EndProcedure

Curl Command

curl -G -d "group_states=alert"
	-d "name=tempor%20Ut%20sed%20velit"
	-d "tags=host%3Ahost0"
	-d "monitor_tags=service%3Amy-app"
	-d "with_downtimes=true"
	-d "id_offset=-62147425"
	-d "page=0"
	-d "page_size=20"
	-H "Accept: application/json"
https://api.app.ddog-gov.com/api/v1/monitor

Postman Collection Item JSON

{
  "name": "Get all monitor details",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "url": {
      "raw": "{{baseUrl}}/api/v1/monitor?group_states=alert&name=tempor Ut sed velit&tags=host:host0&monitor_tags=service:my-app&with_downtimes=true&id_offset=-62147425&page=0&page_size=20",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "v1",
        "monitor"
      ],
      "query": [
        {
          "key": "group_states",
          "value": "alert",
          "description": "When specified, shows additional information about the group states.\nChoose one or more from `all`, `alert`, `warn`, and `no data`."
        },
        {
          "key": "name",
          "value": "tempor Ut sed velit",
          "description": "A string to filter monitors by name."
        },
        {
          "key": "tags",
          "value": "host:host0",
          "description": "A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.\nFor example, `host:host0`."
        },
        {
          "key": "monitor_tags",
          "value": "service:my-app",
          "description": "A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors.\nTags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`."
        },
        {
          "key": "with_downtimes",
          "value": "true",
          "description": "If this argument is set to true, then the returned data includes all current active downtimes for each monitor."
        },
        {
          "key": "id_offset",
          "value": "-62147425",
          "description": "Use this parameter for paginating through large sets of monitors. Start with a value of zero, make a request, set the value to the last ID of result set, and then repeat until the response is empty."
        },
        {
          "key": "page",
          "value": "0",
          "description": "The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination."
        },
        {
          "key": "page_size",
          "value": "20",
          "description": "The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100."
        }
      ]
    },
    "description": "Get details about the specified monitor from 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/monitor?group_states=alert&name=tempor Ut sed velit&tags=host:host0&monitor_tags=service:my-app&with_downtimes=true&id_offset=-62147425&page=0&page_size=20",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "monitor"
          ],
          "query": [
            {
              "key": "group_states",
              "value": "alert",
              "description": "When specified, shows additional information about the group states.\nChoose one or more from `all`, `alert`, `warn`, and `no data`."
            },
            {
              "key": "name",
              "value": "tempor Ut sed velit",
              "description": "A string to filter monitors by name."
            },
            {
              "key": "tags",
              "value": "host:host0",
              "description": "A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.\nFor example, `host:host0`."
            },
            {
              "key": "monitor_tags",
              "value": "service:my-app",
              "description": "A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors.\nTags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`."
            },
            {
              "key": "with_downtimes",
              "value": "true",
              "description": "If this argument is set to true, then the returned data includes all current active downtimes for each monitor."
            },
            {
              "key": "id_offset",
              "value": "-62147425",
              "description": "Use this parameter for paginating through large sets of monitors. Start with a value of zero, make a request, set the value to the last ID of result set, and then repeat until the response is empty."
            },
            {
              "key": "page",
              "value": "0",
              "description": "The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination."
            },
            {
              "key": "page_size",
              "value": "20",
              "description": "The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "[\n  {\n    \"type\": \"query alert\",\n    \"query\": \"avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100\",\n    \"created\": \"1977-10-10T13:08:01.527Z\",\n    \"creator\": {\n      \"email\": \"eiusmod aliquip pariatur dolore\",\n      \"handle\": \"fugiat id sint\",\n      \"name\": \"elit in\"\n    },\n    \"deleted\": \"2015-07-16T18:46:50.390Z\",\n    \"id\": 83649643,\n    \"matching_downtimes\": [\n      {\n        \"id\": 1625,\n        \"end\": 1412792983,\n        \"scope\": [\n          \"env:staging\"\n        ],\n        \"start\": 1412792983\n      },\n      {\n        \"id\": 1625,\n        \"end\": 1412792983,\n        \"scope\": [\n          \"env:staging\"\n        ],\n        \"start\": 1412792983\n      }\n    ],\n    \"message\": \"adi\",\n    \"modified\": \"1973-08-05T09:10:13.718Z\",\n    \"multi\": false,\n    \"name\": \"My monitor\",\n    \"options\": {\n      \"aggregation\": {\n        \"group_by\": \"host\",\n        \"metric\": \"metrics.name\",\n        \"type\": \"count\"\n      },\n      \"device_ids\": [\n        \"firefox.tablet\",\n        \"mobile_small\"\n      ],\n      \"enable_logs_sample\": true,\n      \"enable_samples\": true,\n      \"escalation_message\": \"none\",\n      \"evaluation_delay\": 27121357,\n      \"group_retention_duration\": \"esse aliquip ullamco irure\",\n      \"groupby_simple_monitor\": true,\n      \"include_tags\": true,\n      \"locked\": false,\n      \"min_failure_duration\": 0,\n      \"min_location_failed\": 1,\n      \"new_group_delay\": -9275927,\n      \"new_host_delay\": 300,\n      \"no_data_timeframe\": 58492166,\n      \"notification_preset_name\": \"show_all\",\n      \"notify_audit\": false,\n      \"notify_by\": [\n        \"ut quis e\",\n        \"dolore elit\"\n      ],\n      \"notify_no_data\": false,\n      \"on_missing_data\": \"show_no_data\",\n      \"renotify_interval\": null,\n      \"renotify_occurrences\": -27638100,\n      \"renotify_statuses\": [\n        \"alert\",\n        \"warn\"\n      ],\n      \"require_full_window\": true,\n      \"scheduling_options\": {\n        \"evaluation_window\": {\n          \"day_starts\": \"04:00\",\n          \"hour_starts\": 0,\n          \"month_starts\": 1\n        }\n      },\n      \"silenced\": {\n        \"Ut_d_e\": 94650378\n      },\n      \"synthetics_check_id\": \"enim et tempor\",\n      \"threshold_windows\": {\n        \"recovery_window\": \"ipsum eiusmod\",\n        \"trigger_window\": \"ullamco\"\n      },\n      \"thresholds\": {\n        \"critical\": -74585739.55469063,\n        \"critical_recovery\": -14449679.792215124,\n        \"ok\": 69468073.65422091,\n        \"unknown\": -35840527.53565459,\n        \"warning\": -78191860.79094723,\n        \"warning_recovery\": 30967604.742167816\n      },\n      \"timeout_h\": null,\n      \"variables\": [\n        {\n          \"data_source\": \"rum\",\n          \"compute\": {\n            \"aggregation\": \"avg\",\n            \"interval\": 60000,\n            \"metric\": \"@duration\"\n          },\n          \"name\": \"query_errors\",\n          \"group_by\": [\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"qui Ut cupidatat proid\",\n                \"order\": \"desc\"\n              }\n            },\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"nostrud mollit\",\n                \"order\": \"desc\"\n              }\n            }\n          ],\n          \"indexes\": [\n            \"days-3\",\n            \"days-7\"\n          ],\n          \"search\": {\n            \"query\": \"service:query\"\n          }\n        },\n        {\n          \"data_source\": \"rum\",\n          \"compute\": {\n            \"aggregation\": \"avg\",\n            \"interval\": 60000,\n            \"metric\": \"@duration\"\n          },\n          \"name\": \"query_errors\",\n          \"group_by\": [\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"ut non\",\n                \"order\": \"desc\"\n              }\n            },\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"reprehenderit sint eu proident\",\n                \"order\": \"desc\"\n              }\n            }\n          ],\n          \"indexes\": [\n            \"days-3\",\n            \"days-7\"\n          ],\n          \"search\": {\n            \"query\": \"service:query\"\n          }\n        }\n      ]\n    },\n    \"overall_state\": \"Unknown\",\n    \"priority\": 4,\n    \"restricted_roles\": [\n      \"Ut\",\n      \"dolor ad Duis proident\"\n    ],\n    \"state\": {\n      \"groups\": {\n        \"ullamco2\": {\n          \"last_nodata_ts\": -30657062,\n          \"last_notified_ts\": -69789968,\n          \"last_resolved_ts\": -40935564,\n          \"last_triggered_ts\": 63742261,\n          \"name\": \"id\",\n          \"status\": \"Alert\"\n        },\n        \"voluptate_0c\": {\n          \"last_nodata_ts\": 13097104,\n          \"last_notified_ts\": 53104444,\n          \"last_resolved_ts\": -69320667,\n          \"last_triggered_ts\": 27152807,\n          \"name\": \"quis amet\",\n          \"status\": \"Alert\"\n        }\n      }\n    },\n    \"tags\": [\n      \"fugiat culpa aliqua consectetur\",\n      \"minim in\"\n    ]\n  },\n  {\n    \"type\": \"query alert\",\n    \"query\": \"avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100\",\n    \"created\": \"1952-04-01T14:02:58.093Z\",\n    \"creator\": {\n      \"email\": \"esse ad veniam qui\",\n      \"handle\": \"nulla enim non\",\n      \"name\": \"ut reprehend\"\n    },\n    \"deleted\": \"2005-07-24T20:18:36.078Z\",\n    \"id\": 14961847,\n    \"matching_downtimes\": [\n      {\n        \"id\": 1625,\n        \"end\": 1412792983,\n        \"scope\": [\n          \"env:staging\"\n        ],\n        \"start\": 1412792983\n      },\n      {\n        \"id\": 1625,\n        \"end\": 1412792983,\n        \"scope\": [\n          \"env:staging\"\n        ],\n        \"start\": 1412792983\n      }\n    ],\n    \"message\": \"labore nulla\",\n    \"modified\": \"2013-05-28T22:30:26.014Z\",\n    \"multi\": true,\n    \"name\": \"My monitor\",\n    \"options\": {\n      \"aggregation\": {\n        \"group_by\": \"host\",\n        \"metric\": \"metrics.name\",\n        \"type\": \"count\"\n      },\n      \"device_ids\": [\n        \"chrome.tablet\",\n        \"firefox.laptop_large\"\n      ],\n      \"enable_logs_sample\": false,\n      \"enable_samples\": true,\n      \"escalation_message\": \"none\",\n      \"evaluation_delay\": 48023490,\n      \"group_retention_duration\": \"veniam eiusmod anim\",\n      \"groupby_simple_monitor\": true,\n      \"include_tags\": true,\n      \"locked\": false,\n      \"min_failure_duration\": 0,\n      \"min_location_failed\": 1,\n      \"new_group_delay\": -78698406,\n      \"new_host_delay\": 300,\n      \"no_data_timeframe\": -29298203,\n      \"notification_preset_name\": \"show_all\",\n      \"notify_audit\": false,\n      \"notify_by\": [\n        \"in labore irure reprehenderit\",\n        \"Ut ea\"\n      ],\n      \"notify_no_data\": false,\n      \"on_missing_data\": \"default\",\n      \"renotify_interval\": null,\n      \"renotify_occurrences\": 88843653,\n      \"renotify_statuses\": [\n        \"warn\",\n        \"no data\"\n      ],\n      \"require_full_window\": false,\n      \"scheduling_options\": {\n        \"evaluation_window\": {\n          \"day_starts\": \"04:00\",\n          \"hour_starts\": 0,\n          \"month_starts\": 1\n        }\n      },\n      \"silenced\": {\n        \"ut_8\": -75892703\n      },\n      \"synthetics_check_id\": \"ut et aute cupidatat\",\n      \"threshold_windows\": {\n        \"recovery_window\": \"dolor do\",\n        \"trigger_window\": \"pariatur\"\n      },\n      \"thresholds\": {\n        \"critical\": -5336230.352944598,\n        \"critical_recovery\": 7945004.71738635,\n        \"ok\": -68115416.21610427,\n        \"unknown\": 89541673.34797806,\n        \"warning\": 66901483.96194494,\n        \"warning_recovery\": -39599171.26178945\n      },\n      \"timeout_h\": null,\n      \"variables\": [\n        {\n          \"data_source\": \"rum\",\n          \"compute\": {\n            \"aggregation\": \"avg\",\n            \"interval\": 60000,\n            \"metric\": \"@duration\"\n          },\n          \"name\": \"query_errors\",\n          \"group_by\": [\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"deserunt nisi mollit\",\n                \"order\": \"desc\"\n              }\n            },\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"dolor pariatur\",\n                \"order\": \"desc\"\n              }\n            }\n          ],\n          \"indexes\": [\n            \"days-3\",\n            \"days-7\"\n          ],\n          \"search\": {\n            \"query\": \"service:query\"\n          }\n        },\n        {\n          \"data_source\": \"rum\",\n          \"compute\": {\n            \"aggregation\": \"avg\",\n            \"interval\": 60000,\n            \"metric\": \"@duration\"\n          },\n          \"name\": \"query_errors\",\n          \"group_by\": [\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"l\",\n                \"order\": \"desc\"\n              }\n            },\n            {\n              \"facet\": \"status\",\n              \"limit\": 10,\n              \"sort\": {\n                \"aggregation\": \"avg\",\n                \"metric\": \"ut non\",\n                \"order\": \"desc\"\n              }\n            }\n          ],\n          \"indexes\": [\n            \"days-3\",\n            \"days-7\"\n          ],\n          \"search\": {\n            \"query\": \"service:query\"\n          }\n        }\n      ]\n    },\n    \"overall_state\": \"Unknown\",\n    \"priority\": 3,\n    \"restricted_roles\": [\n      \"ipsum laboris laborum incididunt\",\n      \"fugiat non est\"\n    ],\n    \"state\": {\n      \"groups\": {\n        \"Ut7\": {\n          \"last_nodata_ts\": 21127128,\n          \"last_notified_ts\": 19208840,\n          \"last_resolved_ts\": 29022384,\n          \"last_triggered_ts\": -96682791,\n          \"name\": \"ex tempor\",\n          \"status\": \"OK\"\n        }\n      }\n    },\n    \"tags\": [\n      \"dolor nulla dolore elit\",\n      \"consequat sunt in\"\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/monitor?group_states=alert&name=tempor Ut sed velit&tags=host:host0&monitor_tags=service:my-app&with_downtimes=true&id_offset=-62147425&page=0&page_size=20",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "monitor"
          ],
          "query": [
            {
              "key": "group_states",
              "value": "alert",
              "description": "When specified, shows additional information about the group states.\nChoose one or more from `all`, `alert`, `warn`, and `no data`."
            },
            {
              "key": "name",
              "value": "tempor Ut sed velit",
              "description": "A string to filter monitors by name."
            },
            {
              "key": "tags",
              "value": "host:host0",
              "description": "A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.\nFor example, `host:host0`."
            },
            {
              "key": "monitor_tags",
              "value": "service:my-app",
              "description": "A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors.\nTags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`."
            },
            {
              "key": "with_downtimes",
              "value": "true",
              "description": "If this argument is set to true, then the returned data includes all current active downtimes for each monitor."
            },
            {
              "key": "id_offset",
              "value": "-62147425",
              "description": "Use this parameter for paginating through large sets of monitors. Start with a value of zero, make a request, set the value to the last ID of result set, and then repeat until the response is empty."
            },
            {
              "key": "page",
              "value": "0",
              "description": "The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination."
            },
            {
              "key": "page_size",
              "value": "20",
              "description": "The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100."
            }
          ]
        }
      },
      "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/monitor?group_states=alert&name=tempor Ut sed velit&tags=host:host0&monitor_tags=service:my-app&with_downtimes=true&id_offset=-62147425&page=0&page_size=20",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "monitor"
          ],
          "query": [
            {
              "key": "group_states",
              "value": "alert",
              "description": "When specified, shows additional information about the group states.\nChoose one or more from `all`, `alert`, `warn`, and `no data`."
            },
            {
              "key": "name",
              "value": "tempor Ut sed velit",
              "description": "A string to filter monitors by name."
            },
            {
              "key": "tags",
              "value": "host:host0",
              "description": "A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.\nFor example, `host:host0`."
            },
            {
              "key": "monitor_tags",
              "value": "service:my-app",
              "description": "A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors.\nTags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`."
            },
            {
              "key": "with_downtimes",
              "value": "true",
              "description": "If this argument is set to true, then the returned data includes all current active downtimes for each monitor."
            },
            {
              "key": "id_offset",
              "value": "-62147425",
              "description": "Use this parameter for paginating through large sets of monitors. Start with a value of zero, make a request, set the value to the last ID of result set, and then repeat until the response is empty."
            },
            {
              "key": "page",
              "value": "0",
              "description": "The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination."
            },
            {
              "key": "page_size",
              "value": "20",
              "description": "The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100."
            }
          ]
        }
      },
      "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/monitor?group_states=alert&name=tempor Ut sed velit&tags=host:host0&monitor_tags=service:my-app&with_downtimes=true&id_offset=-62147425&page=0&page_size=20",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "monitor"
          ],
          "query": [
            {
              "key": "group_states",
              "value": "alert",
              "description": "When specified, shows additional information about the group states.\nChoose one or more from `all`, `alert`, `warn`, and `no data`."
            },
            {
              "key": "name",
              "value": "tempor Ut sed velit",
              "description": "A string to filter monitors by name."
            },
            {
              "key": "tags",
              "value": "host:host0",
              "description": "A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.\nFor example, `host:host0`."
            },
            {
              "key": "monitor_tags",
              "value": "service:my-app",
              "description": "A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors.\nTags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`."
            },
            {
              "key": "with_downtimes",
              "value": "true",
              "description": "If this argument is set to true, then the returned data includes all current active downtimes for each monitor."
            },
            {
              "key": "id_offset",
              "value": "-62147425",
              "description": "Use this parameter for paginating through large sets of monitors. Start with a value of zero, make a request, set the value to the last ID of result set, and then repeat until the response is empty."
            },
            {
              "key": "page",
              "value": "0",
              "description": "The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination."
            },
            {
              "key": "page_size",
              "value": "20",
              "description": "The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100."
            }
          ]
        }
      },
      "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}"
    }
  ]
}