curl --request GET \
--url https://api.dashboard.knotapi.com/request-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dashboard.knotapi.com/request-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.dashboard.knotapi.com/request-logs', 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.dashboard.knotapi.com/request-logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dashboard.knotapi.com/request-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.dashboard.knotapi.com/request-logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dashboard.knotapi.com/request-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 98231774,
"type": "webhook",
"datetime": "2026-10-15T14:32:08Z",
"method": "POST",
"path": null,
"url": "https://example.com/webhooks/knot?token=********",
"event": "AUTHENTICATED",
"status_code": 200,
"latency_ms": 184,
"session_id": "915efe72-5136-4652-9a1f-d9d48003c102",
"task_id": 7754123,
"external_user_id": "user-123"
},
{
"id": 98231702,
"type": "request",
"datetime": "2026-10-15T14:31:55Z",
"method": "POST",
"path": "/session/create",
"url": null,
"event": null,
"status_code": 200,
"latency_ms": 96,
"session_id": "915efe72-5136-4652-9a1f-d9d48003c102",
"task_id": null,
"external_user_id": "user-123"
}
],
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0xMC0xNSAxNDozMTo1NSIsImlkIjo5ODIzMTcwMiwiX3BvaW50c1RvTmV4dEl0ZW1zIjp0cnVlfQ",
"limit": 25
}List Request Logs
List API and webhook request logs.
curl --request GET \
--url https://api.dashboard.knotapi.com/request-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dashboard.knotapi.com/request-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.dashboard.knotapi.com/request-logs', 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.dashboard.knotapi.com/request-logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dashboard.knotapi.com/request-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.dashboard.knotapi.com/request-logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dashboard.knotapi.com/request-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 98231774,
"type": "webhook",
"datetime": "2026-10-15T14:32:08Z",
"method": "POST",
"path": null,
"url": "https://example.com/webhooks/knot?token=********",
"event": "AUTHENTICATED",
"status_code": 200,
"latency_ms": 184,
"session_id": "915efe72-5136-4652-9a1f-d9d48003c102",
"task_id": 7754123,
"external_user_id": "user-123"
},
{
"id": 98231702,
"type": "request",
"datetime": "2026-10-15T14:31:55Z",
"method": "POST",
"path": "/session/create",
"url": null,
"event": null,
"status_code": 200,
"latency_ms": 96,
"session_id": "915efe72-5136-4652-9a1f-d9d48003c102",
"task_id": null,
"external_user_id": "user-123"
}
],
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0xMC0xNSAxNDozMTo1NSIsImlkIjo5ODIzMTcwMiwiX3BvaW50c1RvTmV4dEl0ZW1zIjp0cnVlfQ",
"limit": 25
}Authorizations
Short-lived access token from the device authorization flow. Expires after 15 minutes. Accesses only the environment of the client ID it was issued for.
Query Parameters
The environment to read logs from. Must match your access token's environment.
development, production "development"
Return logs created on or after this timestamp, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Defaults to 24 hours before end. Must be no more than 7 days before end.
"2026-10-14T00:00:00Z"
Return logs created on or before this timestamp, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). Defaults to the current time.
"2026-10-15T00:00:00Z"
Return only API request logs (request) or only webhook delivery logs (webhook). Returns both if omitted.
request, webhook "webhook"
Return only logs for this session.
"915efe72-5136-4652-9a1f-d9d48003c102"
Return only logs for this task.
7754123
Return only logs for this user.
"user-123"
Return only webhook logs for this event.
"AUTHENTICATED"
Return only logs with this HTTP status code. For webhook logs, this is the status code your endpoint returned.
100 <= x <= 599400
Maximum number of logs to return.
1 <= x <= 5025
Cursor for the next page. Use the next_cursor value from the previous response and send the same filters, including start and end.
"eyJjcmVhdGVkX2F0IjoiMjAyNi0xMC0xNSAxNDozMTo1NSIsImlkIjo5ODIzMTcwMiwiX3BvaW50c1RvTmV4dEl0ZW1zIjp0cnVlfQ"
Was this page helpful?