Back to Collection Items
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("Chilkat.Http")
Local $bSuccess
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "filter": {
; "query": "source:python"
; },
; "daily_limit": 300000000,
; "disable_daily_limit": false,
; "exclusion_filters": [
; {
; "name": "payment",
; "filter": {
; "sample_rate": 1,
; "query": "*"
; },
; "is_enabled": false
; },
; {
; "name": "payment",
; "filter": {
; "sample_rate": 1,
; "query": "*"
; },
; "is_enabled": true
; }
; ],
; "num_retention_days": 15
; }
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("filter.query","source:python")
$oJson.UpdateInt("daily_limit",300000000)
$oJson.UpdateBool("disable_daily_limit",False)
$oJson.UpdateString("exclusion_filters[0].name","payment")
$oJson.UpdateInt("exclusion_filters[0].filter.sample_rate",1)
$oJson.UpdateString("exclusion_filters[0].filter.query","*")
$oJson.UpdateBool("exclusion_filters[0].is_enabled",False)
$oJson.UpdateString("exclusion_filters[1].name","payment")
$oJson.UpdateInt("exclusion_filters[1].filter.sample_rate",1)
$oJson.UpdateString("exclusion_filters[1].filter.query","*")
$oJson.UpdateBool("exclusion_filters[1].is_enabled",True)
$oJson.UpdateInt("num_retention_days",15)
$oHttp.SetRequestHeader "Content-Type","application/json"
$oHttp.SetRequestHeader "Accept","application/json"
$oSbRequestBody = ObjCreate("Chilkat.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
Local $oResp = $oHttp.PTextSb("PUT","https://api.app.ddog-gov.com/api/v1/logs/config/indexes/:name",$oSbRequestBody,"utf-8","application/json",False,False)
If ($oHttp.LastMethodSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)
$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False
ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)
Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
ConsoleWrite("Response Header:" & @CRLF)
ConsoleWrite($oResp.Header & @CRLF)
ConsoleWrite("Failed." & @CRLF)
Exit
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; {
; "name": "main",
; "filter": {
; "query": "source:python"
; },
; "daily_limit": 300000000,
; "exclusion_filters": [
; {
; "name": "payment",
; "filter": {
; "sample_rate": 1,
; "query": "*"
; },
; "is_enabled": false
; },
; {
; "name": "payment",
; "filter": {
; "sample_rate": 1,
; "query": "*"
; },
; "is_enabled": true
; }
; ],
; "is_rate_limited": false,
; "num_retention_days": 15
; }
; Sample code for parsing the JSON response...
; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Local $iSample_rate
Local $sFilterQuery
Local $bIs_enabled
Local $sName = $oJResp.StringOf("name")
Local $sQuery = $oJResp.StringOf("filter.query")
Local $iDaily_limit = $oJResp.IntOf("daily_limit")
Local $bIs_rate_limited = $oJResp.BoolOf("is_rate_limited")
Local $iNum_retention_days = $oJResp.IntOf("num_retention_days")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("exclusion_filters")
While $i < $iCount_i
$oJResp.I = $i
$sName = $oJResp.StringOf("exclusion_filters[i].name")
$iSample_rate = $oJResp.IntOf("exclusion_filters[i].filter.sample_rate")
$sFilterQuery = $oJResp.StringOf("exclusion_filters[i].filter.query")
$bIs_enabled = $oJResp.BoolOf("exclusion_filters[i].is_enabled")
$i = $i + 1
Wend
Curl Command
curl -X PUT
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"filter": {
"query": "source:python"
},
"daily_limit": 300000000,
"disable_daily_limit": false,
"exclusion_filters": [
{
"name": "payment",
"filter": {
"sample_rate": 1,
"query": "*"
},
"is_enabled": false
},
{
"name": "payment",
"filter": {
"sample_rate": 1,
"query": "*"
},
"is_enabled": true
}
],
"num_retention_days": 15
}'
https://api.app.ddog-gov.com/api/v1/logs/config/indexes/:name
Postman Collection Item JSON
{
"name": "Update an index",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"daily_limit\": 300000000,\n \"disable_daily_limit\": false,\n \"exclusion_filters\": [\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": false\n },\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": true\n }\n ],\n \"num_retention_days\": 15\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/logs/config/indexes/:name",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"indexes",
":name"
],
"variable": [
{
"key": "name",
"value": "tempor Ut sed velit"
}
]
},
"description": "Update an index as identified by its name.\nReturns the Index object passed in the request body when the request is successful.\n\nUsing the `PUT` method updates your index’s configuration by **replacing**\nyour current configuration with the new one sent to your Datadog organization."
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"daily_limit\": 300000000,\n \"disable_daily_limit\": false,\n \"exclusion_filters\": [\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": false\n },\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": true\n }\n ],\n \"num_retention_days\": 15\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/logs/config/indexes/:name",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"indexes",
":name"
],
"variable": [
{
"key": "name"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"name\": \"main\",\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"daily_limit\": 300000000,\n \"exclusion_filters\": [\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": false\n },\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": true\n }\n ],\n \"is_rate_limited\": false,\n \"num_retention_days\": 15\n}"
},
{
"name": "Invalid Parameter Error",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"daily_limit\": 300000000,\n \"disable_daily_limit\": false,\n \"exclusion_filters\": [\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": false\n },\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": true\n }\n ],\n \"num_retention_days\": 15\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/logs/config/indexes/:name",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"indexes",
":name"
],
"variable": [
{
"key": "name"
}
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "null"
},
{
"name": "Forbidden",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"daily_limit\": 300000000,\n \"disable_daily_limit\": false,\n \"exclusion_filters\": [\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": false\n },\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": true\n }\n ],\n \"num_retention_days\": 15\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/logs/config/indexes/:name",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"indexes",
":name"
],
"variable": [
{
"key": "name"
}
]
}
},
"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": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "DD-API-KEY",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"daily_limit\": 300000000,\n \"disable_daily_limit\": false,\n \"exclusion_filters\": [\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": false\n },\n {\n \"name\": \"payment\",\n \"filter\": {\n \"sample_rate\": 1,\n \"query\": \"*\"\n },\n \"is_enabled\": true\n }\n ],\n \"num_retention_days\": 15\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/logs/config/indexes/:name",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"indexes",
":name"
],
"variable": [
{
"key": "name"
}
]
}
},
"status": "Too Many Requests",
"code": 429,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "null"
}
]
}