curl --request GET \
--url https://api.engrate.io/schedule-management/v1/audit-logs \
--header 'Authorization: <api-key>'import requests
url = "https://api.engrate.io/schedule-management/v1/audit-logs"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.engrate.io/schedule-management/v1/audit-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.engrate.io/schedule-management/v1/audit-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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.engrate.io/schedule-management/v1/audit-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.engrate.io/schedule-management/v1/audit-logs")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engrate.io/schedule-management/v1/audit-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"created_ts": "2026-03-25T14:00:00.123Z",
"data": {},
"type": "schedule.created",
"uid": "e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b",
"api_client_id": "<string>",
"org_uid": "<string>",
"schedule_uid": "<string>",
"schedule_version_uid": "<string>",
"time_series_uid": "<string>",
"user_uid": "<string>",
"version": 1
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}List Audit Logs
Query audit logs with optional filters.
Filters: - schedule_uid: Filter by related schedule - order: NEWEST_FIRST (default) or OLDEST_FIRST - limit: Maximum number of results (default 50, max 1000)
curl --request GET \
--url https://api.engrate.io/schedule-management/v1/audit-logs \
--header 'Authorization: <api-key>'import requests
url = "https://api.engrate.io/schedule-management/v1/audit-logs"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.engrate.io/schedule-management/v1/audit-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.engrate.io/schedule-management/v1/audit-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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.engrate.io/schedule-management/v1/audit-logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.engrate.io/schedule-management/v1/audit-logs")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engrate.io/schedule-management/v1/audit-logs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"created_ts": "2026-03-25T14:00:00.123Z",
"data": {},
"type": "schedule.created",
"uid": "e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b",
"api_client_id": "<string>",
"org_uid": "<string>",
"schedule_uid": "<string>",
"schedule_version_uid": "<string>",
"time_series_uid": "<string>",
"user_uid": "<string>",
"version": 1
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
Query Parameters
Filter by related schedule UID.
Sort order. 'NEWEST_FIRST' (default) returns the latest events first.
NEWEST_FIRST, OLDEST_FIRST Maximum results to return (1–1000, default 50).
1 <= x <= 1000Response
Successful Response
ISO 8601 datetime with millisecond precision (YYYY-MM-DDTHH:MM:SS.sssZ).
"2026-03-25T14:00:00.123Z"
Combined metadata, after-state snapshot, and request context.
Show child attributes
Show child attributes
Event type identifier (e.g. schedule.created).
"schedule.created"
"schedule.modified"
Unique identifier for this audit event.
"e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"
API client identifier that triggered the event, if applicable.
Organization identifier, if applicable.
Related Schedule Version identifier, if applicable.
Related time series identifier, if applicable.
Identifier of the user who triggered the event, if applicable.
Event schema version.
1
Was this page helpful?