Your application can authenticate with our API using two different methods. Both options can be configured directly in the app under:
Settings → Apps & API
OAuth provides a secure and flexible authentication mechanism for applications that need delegated access on behalf of a user.
We support the Authorization Code Grant, available in two variants:
Use this flow when your application can securely store a Client Secret, such as backend servers or confidential applications.
Key Characteristics:
- Requires Client ID and Client Secret
- Uses redirect-based authorization
- Suitable for server-side applications
Typical Flow:
- Redirect user to the OAuth authorization URL.
- User grants access.
- The app receives an authorization code.
- Exchange the authorization code for an access token using the client secret.
- Use the access token to call the API.
For public or mobile applications that cannot securely store a client secret, you can use the PKCE (Proof Key for Code Exchange) variant.
Key Characteristics:
- No client secret required
- Uses
code_verifierandcode_challengefor enhanced security - Recommended for mobile, desktop, or browser-based apps
Typical Flow:
- Generate a code verifier and challenge.
- Redirect the user to the authorization URL with the PKCE challenge.
- User grants access.
- Receive the authorization code.
- Exchange the authorization code for an access token using the code verifier.
- Access the API using the token.
The OAuth 2.0 flows use the following endpoints:
https://api.kanbert.com/oauth/authorizeThis endpoint is used to initiate the OAuth flow. It handles:
- User login
- The consent screen
- Returning the authorization code to your redirect URL
Example (client secret or PKCE):
GET https://api.kanbert.com/oauth/authorize
?response_type=code
&client_id=<your-client-id>
&redirect_uri=<your-redirect-uri>
&scope=<requested-scopes>
&state=<optional-state>https://api.kanbert.com/oauth/tokenThis endpoint is used to exchange the authorization code for an access token.
Example (Client Secret):
POST https://api.kanbert.com/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=<authorization-code>
&redirect_uri=<redirect-uri>
&client_id=<client-id>
&client_secret=<client-secret>Example (PKCE):
POST https://api.kanbert.com/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=<authorization-code>
&redirect_uri=<redirect-uri>
&client_id=<client-id>
&code_verifier=<your-code-verifier>If your integration does not require user authorization, you can generate a direct Access Token from the app.
Ideal for:
- Automated backend systems
- Service-to-service communication
- Scheduled or internal integrations
Use the token in API requests:
Authorization: Bearer <your-access-token>Both OAuth credentials and direct Access Tokens can be created and managed inside the app:
Settings → Apps & API
You can:
- Register new Applications
- Give a name and decide wether a secret should be generated
- Configure redirect URLs
- Receive Client IDs and Client Secrets
- Create and revoke Access Tokens