Skip to content
/oauth/authorize

Authorize — server-rendered login + consent (GET shows the page, POST submits)

OAuth 2.1 authorization endpoint. GET renders a login + consent page (PKCE S256 required; CSRF-protected; framebusting). POST authenticates the user against the FinRadar login and, on Allow, redirects to `redirect_uri?code=...&state=...`. Loopback `redirect_uri` (http://127.0.0.1:<any-port>/...) is allowed for native clients (RFC 8252).

free

Parameters

NameInRequiredDefaultAllowedDescriptionExample
response_typequeryrequiredMust be `code`.code
client_idqueryrequiredRegistered client id.cursor
redirect_uriqueryrequiredMust match a registered redirect (loopback any-port allowed).http://127.0.0.1:51000/callback
scopequeryoptionalmcpSingle `mcp` scope.mcp
statequeryrequiredCSRF/correlation value echoed back.xyz
code_challengequeryrequiredPKCE S256 challenge (base64url SHA-256 of the verifier).E2okHPeE...
code_challenge_methodqueryrequiredMust be `S256` (plain is rejected).S256

Response schema

Schema not yet documented

Full response schema, sample response, and curated examples for this endpoint are landing in Phase 59. The hero, parameters, code samples, and metadata above remain accurate today.

Errors

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected server-side failure. Retry with backoff; report if persistent.

Code samples

curl "https://api.finradar.ai/oauth/authorize" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).