/api/v1/api-keysPOSTak_ prefix), sent as a Bearer token or an ?api_key= query parameter. Each endpoint requires the read scope for its resource (e.g. org:rates:read for rates). Token in: headerapplication/jsonrequiredmessage. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.Authorization header, an invalid token, or a token lacking the required scope. This is free text whose wording can change, so branch on status (or the HTTP status code) instead of on this string.message. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.message. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.rate_limited. Branch on this to detect a throttled request.rpm for the per-minute cap or daily for the daily one.curl -X POST "https://api.adjacent.markets/api/v1/api-keys" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "scopes": [ "string" ] }'
{ "id": "key_a1b2c3", "name": "production-readonly", "scopes": [ "org:events:read", "org:rates:read" ], "secret": "ak_live_9f8e7d6c5b4a39281706f5e4d3c2b1a0", "created_at": 1750000000000 }