Goal: register the app → user approves in the browser → call /v1 with a Bearer token. Prefer a UI? Start at Developer → OAuth Apps.
In short
- OAuth client = your app registration (name, redirect, scopes).
- PKCE = extra browser-flow protection (required).
- Access token = ~15 min JWT badge; refresh token = renew without a new login.
Context: Introduction · Scopes
Before you start
- Notifique account with access to the target workspace
- Exact redirect URI (e.g.
https://myapp.com/oauth/callback)
- Minimum scope (e.g.
email:send to test email)
- Base URL:
https://api.notifique.dev
1. Register the client
1A, Dashboard
- Developer → OAuth Apps → Create app
- Name, redirect URIs, scopes
- Copy Client ID and Client Secret (secret shown once)
1B, API
Expected: 201 with client_id and, if confidential, client_secret.
2. PKCE and browser authorization
Generate code_verifier, code_challenge (S256), and state. Open in the browser:
Exchange the code quickly — it expires in minutes.
3. Exchange code for tokens
Expected: 200 with access_token, refresh_token, expires_in (~900).
4. Call the API
Expected: 200 — message queued. The from domain must be verified (same as API key flow).
After the first request
- Refresh:
POST /oauth/token with grant_type=refresh_token — always save the new refresh token
- Revoke:
POST /oauth/revoke or Connected apps in the dashboard
- Details: Technical guide · OpenAPI under More