Skip to content

Authentication

FutPicks uses the existing application authentication and subscription model. Do not build a parallel auth system around these APIs.

Use a bearer token when calling protected endpoints:

Authorization: Bearer <token>
ScenarioResult
Missing token401 Unauthorized
Invalid/expired token401 Unauthorized
Authenticated free user calls Data API403 Forbidden
Pro user calls Operations API403 Forbidden
Admin/operator calls Operations APIAllowed
Terminal window
curl -i https://futpicks.com/api/v1/data/catalog

Expected: 401.

Application-level errors (400, 403, 404, 409, 422) return RFC 9457-compatible problem details:

{
"type": "https://futpicks.com/problems/forbidden",
"title": "Forbidden",
"status": 403,
"detail": "This endpoint requires a Pro subscription or admin role."
}

Authentication failures (401) return an empty body with a WWW-Authenticate: Bearer header per the OAuth 2.0 spec.