Auth surface map
| Surface | Routes | Credential | Used for |
|---|---|---|---|
| Browser session | /api/people/*, /api/network/*, /api/graph/*, /api/calendar/*, /api/crm/*, /api/comms/* | User session cookie | Dashboard search, graph, integrations, and intro workflows |
| Dashboard bridge | /api/dashboard/people, /api/dashboard/companies, /api/dashboard/graph/paths, /api/dashboard/intro-requests | x-introd-dashboard-secret plus user email | Server-to-server calls from the dashboard runtime |
| Extension session | /api/extension/v1/* | Browser session or extension bearer token | LinkedIn sync, enrichment, TrustRank, paths, and intro actions from the extension |
| OAuth callbacks | Dashboard Google and Microsoft routes plus extension LinkedIn callback handling | Provider auth code and signed state | Linking Google Workspace, Microsoft 365, and LinkedIn |
Core domains
https://app.getintrod.aihttps://api.getintrod.aihttps://docs.getintrod.ai
Browser session flow
The dashboard is the normal front door:- The user signs in or signs up on
app.getintrod.ai. - The dashboard stores the authenticated browser session.
- Product requests call the API with
credentials: "include". - Session-protected routes such as
/api/people/network-searchand/api/graph/*resolve the current user from the session.
Dashboard bridge auth
Some Introd dashboard flows call the API from a controlled server boundary rather than directly from the browser. Those routes require thex-introd-dashboard-secret header and a user identity passed by email.
Bridge routes in active use
GET /api/dashboard/peopleGET /api/dashboard/companiesGET /api/dashboard/graph/pathsGET /api/dashboard/intro-requestsPOST /api/dashboard/intro-requestsPATCH /api/dashboard/intro-requests/:id
Extension auth
The extension accepts either:- the same logged-in browser session used by the dashboard, or
- a bearer session token backed by
browserExtensionSessions
GET /api/extension/v1/auth/sessionPOST /api/extension/v1/auth/oauth/callbackPOST /api/extension/v1/auth/refreshPOST /api/extension/v1/auth/logout
GET /api/extension/v1/linkedin/statusPOST /api/extension/v1/linkedin/startPOST /api/extension/v1/linkedin/batchGET /api/extension/v1/trustrank/:platform/:profileIdGET /api/extension/v1/paths/:platform/:targetIdPOST /api/extension/v1/intros/request
OAuth providers
- LinkedIn
- Google
- Microsoft
The extension uses a dedicated LinkedIn redirect flow. The default supported redirect is
https://app.getintrod.ai/api/linkedin/callback.The extension explicitly rejects older callback values such as:https://app.getintrod.ai/api/auth/linkedin/callbackhttps://api.getintrod.ai/api/auth/linkedin/callback
Operational rules
- Keep callback URIs explicit and environment-specific.
- Do not mix
app.getintrod.aiandapi.getintrod.aicasually in callback handling. - Use the dashboard bridge secret only on server-side calls.
- Keep extension bearer sessions short-lived and user-scoped.
- Prefer session auth for normal dashboard product traffic.

