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