Authentication & Access
Dynamic Planner’s Open API uses two layers of security and standards-based OAuth 2.0 with OpenID Connect support:
- Subscription Key — identifies your application to Dynamic Planner’s API gateway.
- OAuth 2.0 Access Token — authorises requests on behalf of a user or service.
All requests must include both.
Example Request
GET https://open-api.dynamicplanner.com/crm/v1/clients
Authorization: Bearer <access_token>
Ocp-Apim-Subscription-Key: <subscription_key>
Accept: application/json
1) Quick Start
Step 1 — Request Access
Email support@dynamicplanner.com or your Dynamic Planner contact with the following information:
- Your Name and Company
- Preferred OAuth flow (Client Credentials or Authorisation Code)
- Redirect URI(s) (mandatory for Authorisation Code flow)
- Specify which Dynamic Planner API endpoints you plan to use (to assign correct OAuth scopes)
Dynamic Planner will issue:
- Subscription Key(s) for Dev or Prod
- OAuth client registration (client ID, client secret, approved redirect URI)
Step 2 — Configure Your OAuth Client
- Authorize endpoint: https://identity.distribution-technology.com/identity/connect/authorize
- Token endpoint: https://identity.distribution-technology.com/identity/connect/token
- Grant/Flow: choose the one that fits (see table below)
- Scopes: request only what you need (principle of least privilege)
Step 3 — Call the API
Include the access token and subscription key on every request. Handle token expiry (short-lived) by performing a refresh (if enabled) or re-authorising.
2) Two Layers of Security
Subscription Key
Ocp-Apim-Subscription-Key: <subscription_key>
Purpose: identifies your app, enables usage tracking, rate limiting, and abuse prevention.
Keep it secure: treat it like a credential. Do not embed in client-side code.
OAuth 2.0
Dynamic Planner issues Bearer tokens. Your app obtains tokens via an OAuth flow and then calls APIs with:
Authorization: Bearer <access_token>
3) Choosing the Right OAuth 2.0 Flow
Use the matrix below to pick a flow based on your architecture and interaction model.
| Flow | Best for | Characteristics | Pros | Considerations |
|---|---|---|---|---|
| Hybrid Flow (Auth Code + ID Token) | Interactive web apps where a user signs in and the app needs both identity and API access | Redirect user to DP Identity Server; Returns ID token + auth code; Backend exchanges code for tokens | Secure for user-facing apps; Supports MFA and consent; Combines identity + API access | Requires redirect handling; Needs server-side code exchange; Redirect URI must be pre-registered |
| Client Credentials Flow | Server-to-server integrations, scheduled jobs, backend services (no user interaction) | App authenticates with client ID/secret; Receives app-only access token; No browser redirects | Simple for headless workloads; No user dependency; Ideal for automation | Token represents application context, not a person; Scopes must be carefully provisioned; Cannot perform user-specific actions |
Only the flows above are supported by Dynamic Planner. If you need a different pattern, speak to your account team; support is determined by use case and risk posture.
4) Scopes & Consent
- Dynamic Planner issues scopes aligned to specific API domains and endpoints (e.g., CRM, Finances, Profiling).
- Allocation model: During onboarding, you describe your integration use case and endpoints. Dynamic Planner assigns minimum required scopes.
- Token context: Access tokens carry claims for Employee and Organisation Unit (OU). API responses are filtered by this context.
- If your integration evolves, request a scope review to update permissions.
5) Environments & Base URLs
Use the same base URL for Dev and Production:
- CRM: https://open-api.dynamicplanner.com/crm/v1
- Finances: https://open-api.dynamicplanner.com/finances/v1