Base URL
https://api.karate.support/v2
Content-Type
application/json (all requests and responses)
Versioning
URI versioning. Current stable version is v2. v1 is deprecated and sunset on 2025-12-31.
Pagination
Cursor-based pagination on all list endpoints. Pass cursor= from the previous response next_cursor field.
Error Format
{ "error": { "code": "ATHLETE_NOT_FOUND", "message": "...", "request_id": "..." } }
Sandbox
https://api-sandbox.karate.support/v2 — same endpoints, isolated data, no billing or live records.
# 1. Exchange client credentials for access token
curl -X POST https://api.karate.support/v2/oauth/token \
-H "Content-Type: application/json" \
-d '{"grant_type":"client_credentials","client_id":"FED_123","client_secret":"sk_..."}'
# 2. Use token to list athletes
curl https://api.karate.support/v2/athletes \
-H "Authorization: Bearer eyJhbGci..."
200OK
201Created
204No Content (DELETE success)
400Bad Request — invalid payload
401Unauthorized — token missing/expired
403Forbidden — insufficient scope
404Not Found
429Rate Limit Exceeded
500Internal Server Error