List Audit Logs
Newest first. Narrow by entity, actor, action or time window; combine freely.
GET
/api/v1/audit-logsAuthorization
AuthorizationBearer token · headerrequiredor
AuthorizationOAuth2 access token · headerrequiredQuery parameters
entity_typestring | anye.g. "task", "product", "user"
entity_idstring | anyStringified — ids are not uniform across collections
actor_idstring | anyClerk user id of whoever acted
actionstring | anye.g. "task.status_changed"
sincestring<date-time> | anyuntilstring<date-time> | anylimitintegermin 1 · max 100 · default: 50
offsetintegermin 0 · default: 0
Responses
200Successful Response
successbooleandefault: true
dataAuditLogsList | anyShow propertiesHide properties
Any of:
AuditLogsList
logsAuditLog[]requiredShow propertiesHide properties
Array of
AuditLogidstringatstring<date-time>actionstringrequiredentity_typestringrequiredentity_idstringrequiredactor_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anyactor_kindActorKindAllowed:
usersystemwebhookclisourceAuditSourceAllowed:
apiworkerwebhookclirequest_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anychangesobject | anyShow propertiesHide properties
Any of:
object
objectany
anymetadataobject | anyShow propertiesHide properties
Any of:
object
objectany
anymetaPaginationMetarequiredShow propertiesHide properties
totalintegerrequiredlimitintegerrequiredoffsetintegerrequiredany
anymessagestring | anyShow propertiesHide properties
Any of:
string
stringany
anyerrorsstring[] | anyShow propertiesHide properties
Any of:
string[]
Array of
stringstringany
any422Validation Error
detailValidationError[]Show propertiesHide properties
Array of
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
Array of
string | integerAny of:
string
stringinteger
integermsgstringrequiredtypestringrequiredinputanyctxobjectRequest
curl -X GET "/api/v1/audit-logs" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("/api/v1/audit-logs", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"/api/v1/audit-logs",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"success": true,
"data": {
"logs": [
{
"id": "string",
"at": "2019-08-24T14:15:22Z",
"action": "string",
"entity_type": "string",
"entity_id": "string",
"actor_id": "string",
"actor_kind": "user",
"source": "api",
"request_id": "string",
"changes": {},
"metadata": {}
}
],
"meta": {
"total": 0,
"limit": 0,
"offset": 0
}
},
"message": "string",
"errors": [
"string"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}