Step 1: Choose your authentication method
Before making any API calls, determine which authentication method you’ll use:- Static API Key - A login/secret pair provided by Qonto
- OAuth - Token-based authentication using the OAuth 2.0 flow
Step 2: Test with a simple endpoint
Make a test call to the List Bank Accounts endpoint to verify your setup.Step 3: Diagnose the response
✅ Got a success response code? (2XX)
Expand the section below based on what you received:✅ Received JSON Response
✅ Received JSON Response
Congratulations! You’re successfully authenticated and connected to the Qonto API.You can now proceed with making other API requests.
❌ Received HTML (OneLogin Page)
❌ Received HTML (OneLogin Page)
Issue: You’re trying to access the Staging environment without proper Staging Token.Solution: Add the
X-Qonto-Staging-Token header to your request. This token can be found in the developer portal.❌ Got an error response? (4XX)
Follow the troubleshooting steps for your authentication method:- Static API Key
- OAuth
Verify your API key format
Please follow the documentation here for static API key.Your static API key must be provided in theAuthorization header using HTTP Basic Authentication format:Do not include “Basic” before the credentials - use the raw
Some users confuse this with basic authentication, but it is not.
{login}:{secret} format directly.Some users confuse this with basic authentication, but it is not.
Common mistakes
- Missing the colon separator:
loginSecret - Swapping login and secret:
{secret}:{login} - Adding a “Bearer” prefix before the login & secret
- Adding a “Basic” prefix before the login & secret
- Including extra spaces or line breaks
- Base64 encoding when not required
Still stuck? Contact Qonto support
If you are unable to resolve the issue, reach out to the Qonto team. To help us investigate as quickly as possible, include a trace identifier from the failing response. You can use either of the following—they always match on error responses:- The
X-Tyk-Trace-Idresponse header (present on every API response):
- The
trace_idfield in the JSON body (always included on error responses):