Chilkat Online Tools

TCL / Datadog API Collection / Get the total number of active hosts

Back to Collection Items

load ./chilkat.dll

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

set http [new_CkHttp]

set queryParams [new_CkJsonObject]

CkJsonObject_UpdateInt $queryParams "from" -62147425

CkHttp_SetRequestHeader $http "Accept" "application/json"

# resp is a CkHttpResponse
set resp [CkHttp_QuickRequestParams $http "GET" "https://api.app.ddog-gov.com/api/v1/hosts/totals" $queryParams]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkJsonObject $queryParams
    exit
}

set sbResponseBody [new_CkStringBuilder]

CkHttpResponse_GetBodySb $resp $sbResponseBody

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

puts "Response Body:"
puts [CkJsonObject_emit $jResp]

set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttpResponse_header $resp]
    puts "Failed."
    delete_CkHttpResponse $resp

    delete_CkHttp $http
    delete_CkJsonObject $queryParams
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

delete_CkHttpResponse $resp

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

# {
#   "total_active": 70097963,
#   "total_up": 11529364
# }

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

set total_active [CkJsonObject_IntOf $jResp "total_active"]
set total_up [CkJsonObject_IntOf $jResp "total_up"]

delete_CkHttp $http
delete_CkJsonObject $queryParams
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp

Curl Command

curl -G -d "from=-62147425"
	-H "Accept: application/json"
https://api.app.ddog-gov.com/api/v1/hosts/totals

Postman Collection Item JSON

{
  "name": "Get the total number of active hosts",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "url": {
      "raw": "{{baseUrl}}/api/v1/hosts/totals?from=-62147425",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "v1",
        "hosts",
        "totals"
      ],
      "query": [
        {
          "key": "from",
          "value": "-62147425",
          "description": "Number of seconds from which you want to get total number of active hosts."
        }
      ]
    },
    "description": "This endpoint returns the total number of active and up hosts in your Datadog account.\nActive means the host has reported in the past hour, and up means it has reported in the past two hours."
  },
  "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/hosts/totals?from=-62147425",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "hosts",
            "totals"
          ],
          "query": [
            {
              "key": "from",
              "value": "-62147425",
              "description": "Number of seconds from which you want to get total number of active hosts."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"total_active\": 70097963,\n  \"total_up\": 11529364\n}"
    },
    {
      "name": "Invalid Parameter Error",
      "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/hosts/totals?from=-62147425",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "hosts",
            "totals"
          ],
          "query": [
            {
              "key": "from",
              "value": "-62147425",
              "description": "Number of seconds from which you want to get total number of active hosts."
            }
          ]
        }
      },
      "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/hosts/totals?from=-62147425",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "hosts",
            "totals"
          ],
          "query": [
            {
              "key": "from",
              "value": "-62147425",
              "description": "Number of seconds from which you want to get total number of active hosts."
            }
          ]
        }
      },
      "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/hosts/totals?from=-62147425",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "v1",
            "hosts",
            "totals"
          ],
          "query": [
            {
              "key": "from",
              "value": "-62147425",
              "description": "Number of seconds from which you want to get total number of active hosts."
            }
          ]
        }
      },
      "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}"
    }
  ]
}