Skip to main content
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

  1. Developer → OAuth Apps → Create app
  2. Name, redirect URIs, scopes
  3. 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