Skip to main content
List endpoints use offset/limit pagination. Parameters are passed in the JSON request body:
ParameterTypeDefaultNotes
offsetinteger0Number of records to skip
limitinteger10Page size. Values below 1 or above 100 are treated as 100
The limit cap is silent: requesting limit: 500 (or an invalid value) returns up to 100 rows without an error. Always read total from the response instead of assuming your requested page size was honored.

Response envelope

All list endpoints share the same envelope:
{
  "status": "ok",
  "total": 1543,
  "rows": [ { "...": "..." } ]
}
total is the complete record count, not the number of rows in the current page — use it to compute how many pages to fetch.

Paginated endpoints

EndpointNotes
BulkListUsersRequires an unlock UUID
BulkListAllUsersRequires an unlock UUID; needs the list_users config flag
BulkListGroupUsersRequires an unlock UUID
BulkListAllUserRequestsRequires an unlock UUID
BulkListAllAuditEventsRequires an unlock UUID
UserRequestListUserRequestsPer-user request list
AuditListUserEventsPer-user audit trail
TenantListTenantsMain-tenant admin only
Other List* endpoints (GroupListAllGroups, PolicyListAllPolicies, AppdataListUserAppNames, FileListUserFiles, SessionListUserSessions, etc.) return the full result set in one response — their collections are expected to stay small.
Cursor-based pagination is not available — offset/limit is the only mechanism.

Example: paging through all users

Bulk listing is gated by a short-lived unlock UUID (see Authentication). Fetch the unlock, then iterate:
# Obtain an unlock UUID (valid for 60 seconds)
UNLOCK=$(curl -s -X POST https://your-databunker/v2/BulkListUnlock \
  -H "X-Bunker-Token: ROOT-ACCESS-TOKEN" | jq -r .unlockuuid)

# Page 1 (records 0-99)
curl -X POST https://your-databunker/v2/BulkListAllUsers \
  -H "X-Bunker-Token: ROOT-ACCESS-TOKEN" \
  -d "{\"unlockuuid\":\"$UNLOCK\",\"offset\":0,\"limit\":100}"

# Page 2 (records 100-199)
curl -X POST https://your-databunker/v2/BulkListAllUsers \
  -H "X-Bunker-Token: ROOT-ACCESS-TOKEN" \
  -d "{\"unlockuuid\":\"$UNLOCK\",\"offset\":100,\"limit\":100}"
If a long export outlives the 60-second unlock window, request a fresh unlockuuid and continue from the same offset.