Base URL
Every API request targets the following base URL:/users resolves to https://api.doohick.com/v1/users.
Versioning
The current API version isv1, embedded in the URL path. Doohick uses URL-based versioning so your requests always target a predictable, stable surface.
When Doohick introduces breaking changes — such as removed fields, renamed endpoints, or altered response shapes — a new version path (e.g. /v2) is released. The previous version continues to work during a documented deprecation window, giving you time to migrate.
Non-breaking additions, such as new optional fields or new endpoints, may be introduced to the current version at any time without a version bump.
Request format
Send all request bodies as JSON and include theContent-Type header on every request that carries a body:
true / false and date-time values use ISO 8601 format (e.g. 2024-01-15T10:00:00Z).
Response format
All responses — including errors — are JSON. Successful responses wrap the primary payload in adata key alongside a meta object that carries tracing information:
meta.request_id when reporting issues to Doohick support — it uniquely identifies the server-side trace for that call.
Error format
When a request fails, the response body contains a top-levelerror object instead of data:
error.code is a stable machine-readable string you can branch on in your code. error.message is a human-readable explanation intended for logging and debugging.
HTTP status codes
Doohick uses standard HTTP status codes to communicate the outcome of every request.
Treat any
5xx response as a transient server-side error and retry with exponential backoff.
SDKs and client libraries
Any HTTP client capable of sending JSON requests can integrate with the Doohick API directly. The examples throughout this reference usecurl, but the same patterns apply to any language or library — set the Authorization header, send JSON bodies, and parse JSON responses.
To make your first authenticated request right now, head to Authentication.
Authentication
Learn how to generate API keys and authorize your requests.
Rate Limits
Understand usage quotas, response headers, and how to handle 429 errors.