Skip to main content

OAuth V2

The Authentication API is a core Candescent Developer Experience Portal (DevEx) service. It issues OAuth 2.0 access tokens that authenticate and authorize requests to protected resources. V2 tokens are used by most current endpoints: Accounts, Alerts, Banking Images, Disclosures, Money Movement, Transactions, and related APIs.

End-user benefits

  • Provides secure access to most current endpoints: Accounts, Alerts, Banking Images, Disclosures, Money Movement, Transactions, and related APIs.
  • Supports both customer-specific and institution-level access.
  • Tokens include scopes and expiration for time-bound access.

Integration capabilities

  • Client credentials — Institution-level access; add user context on later calls.
  • Password — First-party apps with direct user authentication.
  • Authorization code — OAuth / OIDC-style flows (internal).
  • Refresh token — Renew expired tokens without full re-authentication.
  • Token revocation — Invalidate tokens on logout or security events.
  • Use HTTP Basic Auth with client_id and client_secret. Register with a valid client_id and client_secret.

Authentication flows

Flows support Retail and Business users (business flows identify the business entity).

Business user setup

  1. Lookup business entity ID: GET /db-users/v1/institution-users/{{login_id_bb}}?userIdType=LOGIN_ID
  2. From institutionCustomers, match the correct memberNumber (TIN/EIN) and use the corresponding institutionCustomerId.
  3. Include institutionCustomerId as a query parameter on subsequent requests for business context.

1. Client credentials grant

Server-to-server (institution-level) authentication. Subsequent calls need user context: RetailhostUserId or loginId; BusinessloginId.

2. Password grant

Direct user authentication with credentials.

3. Token refresh

Only applicable if the original token was issued via password grant.

4. Token revocation

Invalidates an existing access token via DELETE /oauth2/v1/revoke.

Required headers

HeaderDescription
AuthorizationHTTP Basic: Basic + Base64(client_id:client_secret).
Content-Typeapplication/x-www-form-urlencoded for token request bodies.
transactionIdUnique identifier for this request (UUID).
institutionIdNumeric unique ID of the financial institution (required for client_credentials and password).

Error codes

CodeMessageHTTP Status Code
CMN_90000Internal server error500
CMN_90001Internal server error - Cross Talk500
CMN_90002Quota limit violation500
CMN_90003Spike limit violation500
CMN_90004Invalid client credentials401
CMN_90005Header institutionId is invalid or Form param institution_user_id is invalid400
CMN_90006Not authorized to access this resource400
CMN_90007Invalid grant type400
CMN_90008Header transactionId is invalid400
CMN_90009Access blocked400
CMN_90010Header is invalid400
CMN_90011Request is invalid400
CMN_90012Request is invalid - Scopes400
CMN_90013Username is invalid400
CMN_90014Password is invalid400
CMN_90015Invalid user credentials401
CMN_90016Invalid user400
CMN_90017Request contains non printable ASCII characters400
CMN_90018Invalid token401
CMN_90019Error creating token500
CMN_90020App cannot authorize itself400
CMN_90021Invalid client configuration400

Endpoints