Skip to main content

Base URL

All API requests should be made to:

Authentication

All endpoints require authentication via the x-api-key header. See Authentication for details.

Request Format

  • Content-Type: application/json for POST requests
  • Accept: application/json

Response Format

All responses are JSON objects. Successful responses return the requested data directly. Error responses follow a standard format:

Error Codes

Validation Errors

When request validation fails, the details field contains an array of specific field errors:

Rate Limits

Rate limit headers are included in responses:
  • X-RateLimit-Limit - Maximum requests allowed
  • X-RateLimit-Remaining - Requests remaining in current window
  • X-RateLimit-Reset - Unix timestamp when the limit resets
When rate limited, you’ll receive a 429 Too Many Requests response.

Pagination

The query endpoint supports pagination via limit and offset parameters: Paginated responses include a pagination object:

Instance Scoping

All analytics in Thunder are scoped to instances. When you query metrics, you must specify an instanceId and results will only include data from that instance. Topics, signals, gaps, and usage metrics are analyzed separately per instance.

Available Endpoints

POST /ingest

Ingest conversation messages

GET /query

Query analytics and metrics