Back to Collection Items
var
http: TChilkatHttp;
success: Integer;
json: TChilkatJsonObject;
resp: IChilkatHttpResponse;
sbResponseBody: TChilkatStringBuilder;
jResp: TChilkatJsonObject;
respStatusCode: Integer;
default_value: WideString;
name: WideString;
prefix: WideString;
j: Integer;
count_j: Integer;
strVal: WideString;
dashboard_id: WideString;
dashboard_type: WideString;
Handle: WideString;
Name: WideString;
created_at: WideString;
Live_span: WideString;
global_time_selectable_enabled: Integer;
public_url: WideString;
share_type: WideString;
token: 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);
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "dashboard_id": "123-abc-456",
// "dashboard_type": "custom_timeboard",
// "share_type": "open"
// }
json := TChilkatJsonObject.Create(Self);
json.UpdateString('dashboard_id','123-abc-456');
json.UpdateString('dashboard_type','custom_timeboard');
json.UpdateString('share_type','open');
http.SetRequestHeader('Content-Type','application/json');
http.SetRequestHeader('Accept','application/json');
resp := http.PostJson3('https://api.app.ddog-gov.com/api/v1/dashboard/public','application/json',json.ControlInterface);
if (http.LastMethodSuccess = 0) then
begin
Memo1.Lines.Add(http.LastErrorText);
Exit;
end;
sbResponseBody := TChilkatStringBuilder.Create(Self);
resp.GetBodySb(sbResponseBody.ControlInterface);
jResp := TChilkatJsonObject.Create(Self);
jResp.LoadSb(sbResponseBody.ControlInterface);
jResp.EmitCompact := 0;
Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(jResp.Emit());
respStatusCode := resp.StatusCode;
Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode));
if (respStatusCode >= 400) then
begin
Memo1.Lines.Add('Response Header:');
Memo1.Lines.Add(resp.Header);
Memo1.Lines.Add('Failed.');
Exit;
end;
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "dashboard_id": "123-abc-456",
// "dashboard_type": "custom_timeboard",
// "author": {
// "handle": "test@datadoghq.com",
// "name": "consequat irure sit"
// },
// "created_at": "2008-04-06T04:45:45.510Z",
// "global_time": {
// "live_span": "1h"
// },
// "global_time_selectable_enabled": false,
// "public_url": "fugiat esse mollit adipisicing",
// "selectable_template_vars": [
// {
// "default_value": "*",
// "name": "exampleVar",
// "prefix": "test",
// "visible_tags": [
// "selectableValue1",
// "selectableValue2"
// ]
// }
// ],
// "share_list": [
// "test@datadoghq.com",
// "test2@email.com"
// ],
// "share_type": "open",
// "token": "dolor fugiat consectetur ex"
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
dashboard_id := jResp.StringOf('dashboard_id');
dashboard_type := jResp.StringOf('dashboard_type');
Handle := jResp.StringOf('author.handle');
Name := jResp.StringOf('author.name');
created_at := jResp.StringOf('created_at');
Live_span := jResp.StringOf('global_time.live_span');
global_time_selectable_enabled := jResp.BoolOf('global_time_selectable_enabled');
public_url := jResp.StringOf('public_url');
share_type := jResp.StringOf('share_type');
token := jResp.StringOf('token');
i := 0;
count_i := jResp.SizeOfArray('selectable_template_vars');
while i < count_i do
begin
jResp.I := i;
default_value := jResp.StringOf('selectable_template_vars[i].default_value');
name := jResp.StringOf('selectable_template_vars[i].name');
prefix := jResp.StringOf('selectable_template_vars[i].prefix');
j := 0;
count_j := jResp.SizeOfArray('selectable_template_vars[i].visible_tags');
while j < count_j do
begin
jResp.J := j;
strVal := jResp.StringOf('selectable_template_vars[i].visible_tags[j]');
j := j + 1;
end;
i := i + 1;
end;
i := 0;
count_i := jResp.SizeOfArray('share_list');
while i < count_i do
begin
jResp.I := i;
strVal := jResp.StringOf('share_list[i]');
i := i + 1;
end;
Curl Command
curl -X POST
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"dashboard_id": "123-abc-456",
"dashboard_type": "custom_timeboard",
"share_type": "open"
}'
https://api.app.ddog-gov.com/api/v1/dashboard/public
Postman Collection Item JSON
{
"name": "Create a shared dashboard",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"dashboard_id\": \"123-abc-456\",\n \"dashboard_type\": \"custom_timeboard\",\n \"share_type\": \"open\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/dashboard/public",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"dashboard",
"public"
]
},
"description": "Share a specified private dashboard, generating a URL at which it can be publicly viewed."
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "POST",
"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 \"dashboard_id\": \"123-abc-456\",\n \"dashboard_type\": \"custom_timeboard\",\n \"share_type\": \"open\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/dashboard/public",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"dashboard",
"public"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"dashboard_id\": \"123-abc-456\",\n \"dashboard_type\": \"custom_timeboard\",\n \"author\": {\n \"handle\": \"test@datadoghq.com\",\n \"name\": \"consequat irure sit\"\n },\n \"created_at\": \"2008-04-06T04:45:45.510Z\",\n \"global_time\": {\n \"live_span\": \"1h\"\n },\n \"global_time_selectable_enabled\": false,\n \"public_url\": \"fugiat esse mollit adipisicing\",\n \"selectable_template_vars\": [\n {\n \"default_value\": \"*\",\n \"name\": \"exampleVar\",\n \"prefix\": \"test\",\n \"visible_tags\": [\n \"selectableValue1\",\n \"selectableValue2\"\n ]\n }\n ],\n \"share_list\": [\n \"test@datadoghq.com\",\n \"test2@email.com\"\n ],\n \"share_type\": \"open\",\n \"token\": \"dolor fugiat consectetur ex\"\n}"
},
{
"name": "Bad Request",
"originalRequest": {
"method": "POST",
"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 \"dashboard_id\": \"123-abc-456\",\n \"dashboard_type\": \"custom_timeboard\",\n \"share_type\": \"open\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/dashboard/public",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"dashboard",
"public"
]
}
},
"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": "POST",
"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 \"dashboard_id\": \"123-abc-456\",\n \"dashboard_type\": \"custom_timeboard\",\n \"share_type\": \"open\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/dashboard/public",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"dashboard",
"public"
]
}
},
"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": "Dashboard Not Found",
"originalRequest": {
"method": "POST",
"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 \"dashboard_id\": \"123-abc-456\",\n \"dashboard_type\": \"custom_timeboard\",\n \"share_type\": \"open\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/dashboard/public",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"dashboard",
"public"
]
}
},
"status": "Not Found",
"code": 404,
"_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": "POST",
"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 \"dashboard_id\": \"123-abc-456\",\n \"dashboard_type\": \"custom_timeboard\",\n \"share_type\": \"open\"\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/api/v1/dashboard/public",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v1",
"dashboard",
"public"
]
}
},
"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}"
}
]
}