Developer API
Every request goes to a versioned, JSON HTTP API at https://toolsonduty.com/api/v1/*, authenticated with a personal API key. The API runs the exact same pure functions as the website tools, so results are always identical to what you see in the browser.
Quick start
curl -X POST https://toolsonduty.com/api/v1/hash \
-H "Authorization: Bearer tod_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"text":"hello"}'{ "ok": true, "data": { "sha256": "2cf24dba5fb0a30e...", "md5": "5d41402abc4b2a76..." } }Authentication
Send your key as a bearer token: Authorization: Bearer tod_live_.... Keys are currently issued by the ToolsOnDuty team while self-serve signup is being built — request one from the contact page (choose “Business enquiry” and mention API access) and we will send you a key.
Keep your key secret. Anyone with it can use your quota. If a key is ever exposed, ask us to revoke it and issue a new one.
Rate limits & pricing
| Tier | Limits | Price | Notes |
|---|---|---|---|
| Free | 10,000 credits / month | ₹0 | Default tier for every issued key. Most endpoints cost 1 credit per call. |
| Pro | Higher monthly credits, priority | Coming soon | Self-serve billing is not live yet. |
| Business | High volume, priority support | Coming soon | Contact us for early access. |
Every key has one credit pool that resets on the 1st of each UTC month — there is no per-endpoint rate card. Every response includes X-RateLimit-Limit and X-RateLimit-Remaining headers so you can track your remaining monthly credits.
Response format
Every endpoint returns one consistent JSON envelope:
{ "ok": true, "data": { ... } }
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "..." } }Common error codes: MISSING_KEY, INVALID_KEY, INSUFFICIENT_CREDITS, INVALID_INPUT, NOT_FOUND, METHOD_NOT_ALLOWED.
