Back to Collection Items
var
http: TChilkatHttp;
success: Integer;
sbResponseBody: TChilkatStringBuilder;
jarrResp: TChilkatJsonArray;
respStatusCode: Integer;
json: IChilkatJsonObject;
name: WideString;
Query: WideString;
id: WideString;
is_enabled: Integer;
is_read_only: Integer;
v_type: WideString;
j: Integer;
count_j: Integer;
source: WideString;
Match_rules: WideString;
Support_rules: WideString;
k: Integer;
count_k: Integer;
strVal: WideString;
i: Integer;
count_i: Integer;
begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := TChilkatHttp.Create(Self);
http.SetRequestHeader('Accept','application/json');
sbResponseBody := TChilkatStringBuilder.Create(Self);
success := http.QuickGetSb('https://api.app.ddog-gov.com/api/v1/logs/config/pipelines',sbResponseBody.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(http.LastErrorText);
Exit;
end;
jarrResp := TChilkatJsonArray.Create(Self);
jarrResp.LoadSb(sbResponseBody.ControlInterface);
jarrResp.EmitCompact := 0;
Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(jarrResp.Emit());
respStatusCode := http.LastStatus;
Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode));
if (respStatusCode >= 400) then
begin
Memo1.Lines.Add('Response Header:');
Memo1.Lines.Add(http.LastHeader);
Memo1.Lines.Add('Failed.');
Exit;
end;
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// [
// {
// "name": "",
// "filter": {
// "query": "source:python"
// },
// "id": "enim nostrud in Lorem cillum",
// "is_enabled": true,
// "is_read_only": true,
// "processors": [
// {
// "source": "message",
// "grok": {
// "match_rules": "rule_name_1 foo\nrule_name_2 bar\n",
// "support_rules": "rule_name_1 foo\nrule_name_2 bar\n"
// },
// "type": "grok-parser",
// "is_enabled": false,
// "name": "commodo dolor et",
// "samples": [
// "qui commodo Duis sunt dolor",
// "Duis dolore ipsum"
// ]
// },
// {
// "source": "message",
// "grok": {
// "match_rules": "rule_name_1 foo\nrule_name_2 bar\n",
// "support_rules": "rule_name_1 foo\nrule_name_2 bar\n"
// },
// "type": "grok-parser",
// "is_enabled": false,
// "name": "quis",
// "samples": [
// "ut nisi in proident",
// "magna esse occaecat"
// ]
// }
// ],
// "type": "pipeline"
// },
// {
// "name": "",
// "filter": {
// "query": "source:python"
// },
// "id": "non enim mollit",
// "is_enabled": false,
// "is_read_only": false,
// "processors": [
// {
// "source": "message",
// "grok": {
// "match_rules": "rule_name_1 foo\nrule_name_2 bar\n",
// "support_rules": "rule_name_1 foo\nrule_name_2 bar\n"
// },
// "type": "grok-parser",
// "is_enabled": false,
// "name": "cupidatat consectetur",
// "samples": [
// "officia sunt",
// "irure"
// ]
// },
// {
// "source": "message",
// "grok": {
// "match_rules": "rule_name_1 foo\nrule_name_2 bar\n",
// "support_rules": "rule_name_1 foo\nrule_name_2 bar\n"
// },
// "type": "grok-parser",
// "is_enabled": false,
// "name": "in tempor id ullamco aute",
// "samples": [
// "culpa id ullamco",
// "aute enim"
// ]
// }
// ],
// "type": "pipeline"
// }
// ]
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
i := 0;
count_i := jarrResp.Size;
while i < count_i do
begin
json := jarrResp.ObjectAt(i);
name := json.StringOf('name');
Query := json.StringOf('filter.query');
id := json.StringOf('id');
is_enabled := json.BoolOf('is_enabled');
is_read_only := json.BoolOf('is_read_only');
v_type := json.StringOf('type');
j := 0;
count_j := json.SizeOfArray('processors');
while j < count_j do
begin
json.J := j;
source := json.StringOf('processors[j].source');
Match_rules := json.StringOf('processors[j].grok.match_rules');
Support_rules := json.StringOf('processors[j].grok.support_rules');
v_type := json.StringOf('processors[j].type');
is_enabled := json.BoolOf('processors[j].is_enabled');
name := json.StringOf('processors[j].name');
k := 0;
count_k := json.SizeOfArray('processors[j].samples');
while k < count_k do
begin
json.K := k;
strVal := json.StringOf('processors[j].samples[k]');
k := k + 1;
end;
j := j + 1;
end;
i := i + 1;
end;
Curl Command
curl -X GET
-H "Accept: application/json"
https://api.app.ddog-gov.com/api/v1/logs/config/pipelines
Postman Collection Item JSON
{
"name": "Get all pipelines",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/api/v1/logs/config/pipelines",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"pipelines"
]
},
"description": "Get all pipelines from your organization.\nThis endpoint takes no JSON arguments."
},
"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/logs/config/pipelines",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"pipelines"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "[\n {\n \"name\": \"\",\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"id\": \"enim nostrud in Lorem cillum\",\n \"is_enabled\": true,\n \"is_read_only\": true,\n \"processors\": [\n {\n \"source\": \"message\",\n \"grok\": {\n \"match_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\",\n \"support_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\"\n },\n \"type\": \"grok-parser\",\n \"is_enabled\": false,\n \"name\": \"commodo dolor et\",\n \"samples\": [\n \"qui commodo Duis sunt dolor\",\n \"Duis dolore ipsum\"\n ]\n },\n {\n \"source\": \"message\",\n \"grok\": {\n \"match_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\",\n \"support_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\"\n },\n \"type\": \"grok-parser\",\n \"is_enabled\": false,\n \"name\": \"quis\",\n \"samples\": [\n \"ut nisi in proident\",\n \"magna esse occaecat\"\n ]\n }\n ],\n \"type\": \"pipeline\"\n },\n {\n \"name\": \"\",\n \"filter\": {\n \"query\": \"source:python\"\n },\n \"id\": \"non enim mollit\",\n \"is_enabled\": false,\n \"is_read_only\": false,\n \"processors\": [\n {\n \"source\": \"message\",\n \"grok\": {\n \"match_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\",\n \"support_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\"\n },\n \"type\": \"grok-parser\",\n \"is_enabled\": false,\n \"name\": \"cupidatat consectetur\",\n \"samples\": [\n \"officia sunt\",\n \"irure\"\n ]\n },\n {\n \"source\": \"message\",\n \"grok\": {\n \"match_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\",\n \"support_rules\": \"rule_name_1 foo\\nrule_name_2 bar\\n\"\n },\n \"type\": \"grok-parser\",\n \"is_enabled\": false,\n \"name\": \"in tempor id ullamco aute\",\n \"samples\": [\n \"culpa id ullamco\",\n \"aute enim\"\n ]\n }\n ],\n \"type\": \"pipeline\"\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/logs/config/pipelines",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"pipelines"
]
}
},
"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/logs/config/pipelines",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"logs",
"config",
"pipelines"
]
}
},
"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}"
}
]
}