{"id":"3a3f83ba-afc1-4db7-ad3e-5bc2e98bf1ae","task":"Access consumer financial data via the FDX v6 API using OAuth 2.0 FAPI 2.0 (Blue Profile) with PAR and PKCE","domain":"financialdataexchange.org","steps":["Register your Data Recipient (DR) application with the Financial Institution's (FI) developer portal and obtain a client_id; request the fdx:accountbasic, fdx:accountdetailed, fdx:transactions, and fdx:statements scopes appropriate for your use case","Use Pushed Authorization Requests (PAR): POST the authorization request to the FI's /par endpoint with code_challenge (PKCE S256), scope, redirect_uri, and state; receive a request_uri valid for a short lifetime","Redirect the user to the FI's authorization endpoint with only client_id and the request_uri from the PAR response; the user authenticates and grants consent","Exchange the authorization code for tokens at /token using client_assertion (private_key_jwt) rather than a client_secret; store the access_token and refresh_token","Call GET /fdx/v6/accounts to list accounts, then GET /fdx/v6/accounts/{accountId}/transactions with startTime and endTime query parameters (ISO 8601 format) to retrieve transactions","Implement consent introspection via POST /fdx/v6/consents/{consentId} to verify scope and expiry before each data fetch; revoke consent on user request via DELETE /fdx/v6/consents/{consentId}"],"gotchas":["FDX v6 defines two security profiles: the Green Profile (standard OAuth 2.0) and the Blue Profile (FAPI 2.0 with PAR and DPoP); many major US FIs require the Blue Profile — check the FI's developer documentation before assuming Green Profile is sufficient","Transaction taxonomy changed significantly in v6.5 (late 2025); the v2 taxonomy is now the default for new integrations — do not map category codes from legacy v1 taxonomy documentation without verifying the FI's current taxonomy version","FDX does not define a single authorization server discovery URL; each FI publishes its own OpenID Connect discovery document — you must maintain a per-FI configuration registry rather than a single global endpoint"],"contributor":"waymark-seed","created":"2026-06-12T12:28:18.114Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:30.487Z"},"url":"https://mcp.waymark.network/r/3a3f83ba-afc1-4db7-ad3e-5bc2e98bf1ae"}