The FDX API uses OAuth 2.0 Bearer token authentication combined with IP address whitelisting.
To access the FDX API, you need a client name and client secret for each environment. Contact Chariot at support@givechariot.com to request credentials.
Each environment has its own set of credentials. Staging credentials cannot be used in production and vice versa.
All requests must include a valid OAuth 2.0 Bearer token in the Authorization header:
Tokens must include exactly one of the following scopes — they are mutually exclusive per authorization. An authorization containing both will be rejected.
A client may hold both scopes, but each FDX authorization must contain exactly one. Requests without a valid token receive a 401 Unauthorized response.
The FDX API uses the OAuth 2.0 Authorization Code flow. After receiving client credentials from Chariot, follow these steps to obtain an access token.
Redirect the user to the authorization endpoint:
After the user authorizes, the browser redirects to your redirect_uri with an authorization code query parameter.
Exchange the authorization code for an access token and refresh token.
POST https://api.givechariot.com/auth/oauth/token
Header — authenticate with HTTP Basic using your client credentials. Requests without this header will be rejected with 403 Unauthorized.
Body (application/x-www-form-urlencoded):
Response:
When the access token expires, use the refresh token to obtain a new one.
POST https://api.givechariot.com/auth/oauth/token
Header — authenticate with HTTP Basic using your client credentials. Requests without this header will be rejected with 403 Unauthorized.
Body (application/x-www-form-urlencoded):
In addition to OAuth 2.0, all requests are validated against an IP whitelist. Requests from non-whitelisted IP addresses receive a 403 Forbidden response.
Contact Chariot to register IP addresses for FDX API access.
All errors follow the RFC 7807 Problem Details format:
Errors returned by POST /auth/oauth/token:
Errors returned by FDX API endpoints: