GET /api/organization/statistics/ - Retrieve organization statistics for a time range.
Returns comprehensive metrics including:
Request & Token:
- total_requests, total_tokens, avg_tokens_per_request
- max_tokens_single_request, requests_per_active_day
Model Usage:
- top_model (most used model name)
- top_model_requests (count for top model; divide by total_requests for %)
- number_of_models_used
Time & Activity:
- most_active_day, peak_month
- days_since_org_created (from org.created_at, not ClickHouse)
Prompt:
- total_prompts (all prompts in org, all time)
- prompts_used (logs using prompts in time range)
Performance:
- avg_latency_ms, success_rate
Team / Org:
- team_members_added (API users added in time range)
- total_users (customer users from ch_customer_user_agg, all time)
- team_member_emails (all team member emails)
Important Notes:
- ClickHouse metrics reflect post-deployment data only
- total_users refers to customer users, not team members
- top_model_requests is raw count; calculate percentage in frontend
Caching & Performance:
- Results cached in PostgreSQL (OrganizationDigest table)
- Redis lock prevents concurrent computations
- Returns 429 if computation already in progress
- Rate limited to 10 requests/minute per organization
Authentication:
- JWT (user sessions)
- API Key (programmatic access)
Query Parameters:
- start_time (ISO 8601 UTC, required): Start of time range
- end_time (ISO 8601 UTC, required): End of time range
Response (200 OK):
{
"organization_name": "Acme Inc",
"total_requests": 15000,
"total_tokens": 2500000,
"avg_tokens_per_request": 166.67,
"max_tokens_single_request": 8000,
"requests_per_active_day": 250.0,
"top_model": "gpt-4",
"top_model_requests": 9825,
"number_of_models_used": 5,
"most_active_day": "2024-06-15",
"peak_month": "June",
"days_since_org_created": 180,
"total_prompts": 12,
"prompts_used": 8500,
"avg_latency_ms": 850.5,
"success_rate": 99.2,
"team_members_added": 3,
"total_users": 792,
"team_member_emails": ["user1@example.com", "user2@example.com"]
}
Error Responses:
- 400: Invalid parameters or computation failed
- 401: Authentication failed
- 404: Organization not found
- 429: Computation already in progress (locked)
See: boilerplates/keywordsai/feature_docs/users/organization_statistics_api_docs.md
Authentication
AuthorizationBearer
JWT access token or Respan API key