Skip to content
Hardcount
Run it locally
Pre-1.0 · one maintainer · Stripe and cards only · no SDKs (client libraries) yet · no production users yet. Docs describe v0.9.1 (29 Oct 2026) · What’s new →

List audit log filter values

GET
/v1/audit-log/filters
curl --request GET \
--url http://localhost:8080/v1/audit-log/filters \
--header 'Authorization: Bearer <token>'

Returns the distinct action and resource_type values recorded for the tenant in the caller’s mode, plus the test clocks that appear in the log. Deleted test clocks are included, named from their audit entries. Use these to fill filter menus.

Filter values

Media typeapplication/json
object
actions
required
Array<string>
resource_types
required
Array<string>
test_clocks
required

Test clocks seen in the log, most recent activity first.

Array<object>
object
id
required
string
name
required
string

Example generated

{
"actions": [
"example"
],
"resource_types": [
"example"
],
"test_clocks": [
{
"id": "example",
"name": "example"
}
]
}

Caller lacks the apikey:read permission

Media typeapplication/json
object
error
object
type

One of invalid_request_error, authentication_error, rate_limit_error or api_error. Every error the API answers has this shape, including an unknown path (404, code route_not_found) and a method the path does not take (405, code method_not_allowed, with an Allow header). The few exceptions are listed in docs/api-surface.md.

string
code
string
message
string
request_id
string
param

The request field the error is about. Sent only when the error names one. A request body may hold only the fields its operation lists, spelled and cased as listed: any other field, or one the server sets (such as id), is refused with 422 and param naming it. An operation with no request body lists no fields: send no body, {} or null. The Stripe and Postmark webhooks and the LiteLLM callback take their sender’s body as it comes.

string

Example

{
"error": {
"type": "invalid_request_error"
}
}