curl --request PATCH \
--url https://api.cekura.ai/dashboards/dashboards/{id}/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"project": 123,
"filters": {
"field": "success",
"op": "eq",
"value": true
}
}
'import requests
url = "https://api.cekura.ai/dashboards/dashboards/{id}/"
payload = {
"name": "<string>",
"project": 123,
"filters": {
"field": "success",
"op": "eq",
"value": True
}
}
headers = {
"X-CEKURA-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-CEKURA-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
project: 123,
filters: {field: 'success', op: 'eq', value: true}
})
};
fetch('https://api.cekura.ai/dashboards/dashboards/{id}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cekura.ai/dashboards/dashboards/{id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'project' => 123,
'filters' => [
'field' => 'success',
'op' => 'eq',
'value' => true
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CEKURA-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cekura.ai/dashboards/dashboards/{id}/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"project\": 123,\n \"filters\": {\n \"field\": \"success\",\n \"op\": \"eq\",\n \"value\": true\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.cekura.ai/dashboards/dashboards/{id}/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"project\": 123,\n \"filters\": {\n \"field\": \"success\",\n \"op\": \"eq\",\n \"value\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/dashboards/dashboards/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"project\": 123,\n \"filters\": {\n \"field\": \"success\",\n \"op\": \"eq\",\n \"value\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"project": 123,
"source": "call_logs",
"is_default": true,
"filters": {
"field": "success",
"op": "eq",
"value": true
},
"widgets": [
{
"chart_type": "line",
"id": 123,
"dashboard": 123,
"name": "<string>",
"filters": {
"field": "success",
"op": "eq",
"value": true
},
"effective_filters": {
"field": "success",
"op": "eq",
"value": true
},
"data_type": "numeric",
"field": "duration",
"metric": 123,
"metric_name": "<string>",
"time_period": "hour",
"aggregation_function": "count",
"group_by": "<unknown>",
"metadata": "<unknown>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"widget_count": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}Update Dashboard
Update an analytics dashboard
curl --request PATCH \
--url https://api.cekura.ai/dashboards/dashboards/{id}/ \
--header 'Content-Type: application/json' \
--header 'X-CEKURA-API-KEY: <api-key>' \
--data '
{
"name": "<string>",
"project": 123,
"filters": {
"field": "success",
"op": "eq",
"value": true
}
}
'import requests
url = "https://api.cekura.ai/dashboards/dashboards/{id}/"
payload = {
"name": "<string>",
"project": 123,
"filters": {
"field": "success",
"op": "eq",
"value": True
}
}
headers = {
"X-CEKURA-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-CEKURA-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
project: 123,
filters: {field: 'success', op: 'eq', value: true}
})
};
fetch('https://api.cekura.ai/dashboards/dashboards/{id}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cekura.ai/dashboards/dashboards/{id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'project' => 123,
'filters' => [
'field' => 'success',
'op' => 'eq',
'value' => true
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-CEKURA-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cekura.ai/dashboards/dashboards/{id}/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"project\": 123,\n \"filters\": {\n \"field\": \"success\",\n \"op\": \"eq\",\n \"value\": true\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-CEKURA-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.cekura.ai/dashboards/dashboards/{id}/")
.header("X-CEKURA-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"project\": 123,\n \"filters\": {\n \"field\": \"success\",\n \"op\": \"eq\",\n \"value\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/dashboards/dashboards/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"project\": 123,\n \"filters\": {\n \"field\": \"success\",\n \"op\": \"eq\",\n \"value\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"project": 123,
"source": "call_logs",
"is_default": true,
"filters": {
"field": "success",
"op": "eq",
"value": true
},
"widgets": [
{
"chart_type": "line",
"id": 123,
"dashboard": 123,
"name": "<string>",
"filters": {
"field": "success",
"op": "eq",
"value": true
},
"effective_filters": {
"field": "success",
"op": "eq",
"value": true
},
"data_type": "numeric",
"field": "duration",
"metric": 123,
"metric_name": "<string>",
"time_period": "hour",
"aggregation_function": "count",
"group_by": "<unknown>",
"metadata": "<unknown>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"widget_count": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}Authorizations
API Key Authentication. It should be included in the header of each request.
Path Parameters
Body
Name of the dashboard
255Project this dashboard belongs to
Dataset the widgets plot: call_logs (production calls, the default) or runs (simulation test runs). Set on create; it cannot be changed afterwards.
call_logs- Call Logsruns- Runs
call_logs, runs Filter conditions to scope the data. See the Dashboards guide for supported fields, operators, and syntax.
Show child attributes
Show child attributes
{
"field": "success",
"op": "eq",
"value": true
}
{
"operator": "and",
"conditions": [
{
"field": "timestamp",
"op": "gte",
"value": "today-7d"
},
{
"field": "duration",
"op": "gte",
"value": 60
}
]
}
Response
Name of the dashboard
255Project this dashboard belongs to
Dataset the widgets plot: call_logs (production calls, the default) or runs (simulation test runs). Set on create; it cannot be changed afterwards.
call_logs- Call Logsruns- Runs
call_logs, runs Whether this is the project's default dashboard for its source.
Filter conditions to scope the data. See the Dashboards guide for supported fields, operators, and syntax.
Show child attributes
Show child attributes
{
"field": "success",
"op": "eq",
"value": true
}
{
"operator": "and",
"conditions": [
{
"field": "timestamp",
"op": "gte",
"value": "today-7d"
},
{
"field": "duration",
"op": "gte",
"value": 60
}
]
}
Show child attributes
Show child attributes
Number of widgets in the dashboard
When the dashboard was created
When the dashboard was last updated