Audit
Query audit logs and get statistics.
Query Logs
Query audit logs with filters, search, and pagination.
Endpoint
GET /api/auditQuery Parameters
authId- Filter by user ID (optional)apiKeyId- Filter by API key ID (optional)provider- Filter by provider (optional)model- Filter by model (optional)decision- Filter bypermitorforbid(optional)startDate- Start date (ISO format, optional)endDate- End date (ISO format, optional)search- Search in auth_id, model, request_id (optional)limit- Results per page (optional, default: 10)offset- Pagination offset (optional)sortBy- Column to sort by (optional)sortOrder-ascordesc(optional)
Example Request
curl -H "Authorization: Bearer your-token" \
"http://localhost:3100/api/audit?decision=Deny&limit=20&startDate=2025-01-01T00:00:00Z"Success Response
{
"data": [
{
"id": 1,
"request_id": "req-123",
"auth_id": "user-123",
"api_key_id": "key-456",
"user_key_id": "uk-789",
"provider": "openai",
"model": "gpt-4",
"action": "completion",
"decision": "permit",
"diagnostics": {
"reason": ["Policy policy1 permitted the request"],
"errors": []
},
"estimated_cost": 0.05,
"actual_cost": 0.048,
"input_tokens": 100,
"output_tokens": 50,
"request_time": "2025-01-01T12:00:00Z",
"evaluation_time_ms": 5,
"total_time_ms": 1500,
"ip_address": "127.0.0.1",
"created_at": "2025-01-01T12:00:00Z"
}
],
"count": 1,
"total": 1
}Get Statistics
Get audit log statistics.
Endpoint
GET /api/audit/statisticsQuery Parameters
startDate- Start date (ISO format, optional)endDate- End date (ISO format, optional)
Example Request
curl -H "Authorization: Bearer your-token" \
"http://localhost:3100/api/audit/statistics?startDate=2025-01-01T00:00:00Z"Success Response
{
"data": {
"totalRequests": 1000,
"allowedRequests": 950,
"deniedRequests": 50,
"totalCost": 123.45,
"byProvider": {
"openai": 100.0,
"anthropic": 23.45
},
"byModel": {
"gpt-4": 50.0,
"gpt-4o-mini": 30.0
}
}
}Error Responses
Query Error
{
"error": "Failed to query audit logs",
"code": "AUDIT_QUERY_ERROR"
}Status: 500
Statistics Error
{
"error": "Failed to get audit statistics",
"code": "AUDIT_STATS_ERROR"
}Status: 500
Log Fields
Each log entry includes:
- Request identification -
request_id,auth_id,api_key_id,user_key_id - Request details -
provider,model,action - Decision -
decision(permit/forbid),diagnostics - Cost -
estimated_cost,actual_cost,input_tokens,output_tokens - Timing -
request_time,evaluation_time_ms,total_time_ms - Context -
ip_address,user_agent, etc.
Use Cases
- Debugging - Find why requests were denied
- Compliance - Audit trail for compliance requirements
- Cost analysis - See which users/models cost the most
- Security - Monitor for suspicious activity
- Performance - Track authorization and request times
Next Steps
- Check Monitoring Guide for log analysis
- Read Stats API for overview statistics