Route Reference
Social and Integrations
Discord, Telegram, social account linking, state tokens, member tags, roles, and ZEP access. Includes generated endpoint contracts from partners-api source.
First created Last updated
End-to-end developer runbook
- Step 1 - Confirm the API area: Identify the product area, route module, endpoint path, and consumer before writing or calling code.
- Step 2 - Read the endpoint contract: Check method, auth, parameters, response, errors, side effects, and related docs.
- Step 3 - Prepare authentication and input: Use the right session, bearer token, webhook secret, or internal header. Validate body and query data before sending it.
- Step 4 - Make the request: Call the endpoint from the correct origin and environment. Keep credentials and secrets out of logs.
- Step 5 - Verify response, side effects, and records: Confirm status code, response shape, database records, external side effects, and audit evidence.
- Step 6 - Add tests, docs, and handoff notes: Update route inventory, consumer notes, and certification checks before depending on the change.
Family summary
Discord, Telegram, social account linking, state tokens, member tags, roles, and ZEP access.
EPS personal reminder boundary
A dashboard Discord or Telegram account link is necessary but not sufficient for Event Planning personal reminders. EPS resolves the current signed-in user and then requires a dedicated provider capability check:
- Telegram DM: the matching linked Telegram user must complete a single-use private
/startbinding with the platform bot. Organization chats, groups, channels, forum topics, member tags, and forwarded messages are not personal reminder destinations. - Discord DM: the matching linked Discord user must pass a platform-bot DM create/reuse test. Guild roles, shared servers, event entitlements, channels, and webhooks do not prove that the bot can privately message the person.
- Revocation: unlink, changed provider identity, duplicated identity, expired state, blocked bot, or DM privacy failure makes the personal channel unavailable and cancels pending identity-versioned delivery work without changing EPS access or mandatory email.
The platform bot credentials and OAuth secrets remain API-owned. The reminder pipeline does not store a user’s Discord or Telegram OAuth access token for delivery, and browser responses expose no private chat/DM locator. Provider identity never grants project membership or permission to view the linked planning record.
Modules audited
social.ts: 11 generated endpoint entries.socialLinking.ts: 31 generated endpoint entries.zep.ts: 9 generated endpoint entries.
Endpoint table
| Method | Path | Module | Auth scan | Source |
|---|---|---|---|---|
GET | /api/events/:id/social/bot-settings | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1862 |
PATCH | /api/events/:id/social/bot-settings | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1903 |
GET | /api/events/:id/social/discord/guilds | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1744 |
GET | /api/events/:id/social/discord/guilds/:guildId/roles | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1765 |
GET | /api/events/:id/social/discord/link/start | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1668 |
GET | /api/events/:id/social/telegram/chats | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1801 |
POST | /api/events/:id/social/telegram/link/complete | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1929 |
GET | /api/events/:id/social/telegram/link/start | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1698 |
GET | /api/events/:id/zep/app-bundle | zep.ts | Partner dashboard session required. | partners-api/src/routes/zep.ts:484 |
GET | /api/events/:id/zep/config | zep.ts | Partner dashboard session required. | partners-api/src/routes/zep.ts:422 |
PUT | /api/events/:id/zep/config | zep.ts | Partner dashboard session required. | partners-api/src/routes/zep.ts:501 |
POST | /api/internal/social-entitlements/reconcile | socialLinking.ts | Internal cron secret required. | partners-api/src/routes/socialLinking.ts:2288 |
GET | /api/manage/:id/social/bot-settings | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1862 |
PATCH | /api/manage/:id/social/bot-settings | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1903 |
GET | /api/manage/:id/social/discord/guilds | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1744 |
GET | /api/manage/:id/social/discord/guilds/:guildId/roles | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1765 |
GET | /api/manage/:id/social/discord/link/start | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1668 |
GET | /api/manage/:id/social/telegram/chats | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1801 |
POST | /api/manage/:id/social/telegram/link/complete | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1929 |
GET | /api/manage/:id/social/telegram/link/start | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1698 |
GET | /api/manage/:id/zep/app-bundle | zep.ts | Partner dashboard session required. | partners-api/src/routes/zep.ts:484 |
GET | /api/manage/:id/zep/config | zep.ts | Partner dashboard session required. | partners-api/src/routes/zep.ts:422 |
PUT | /api/manage/:id/zep/config | zep.ts | Partner dashboard session required. | partners-api/src/routes/zep.ts:501 |
DELETE | /api/org/social/discord/guilds/:guildId | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1822 |
GET | /api/org/social/discord/link/start | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1492 |
POST | /api/org/social/discord/unlink | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1522 |
GET | /api/org/social/settings | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1452 |
POST | /api/org/social/telegram/chat/link/complete | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1642 |
GET | /api/org/social/telegram/chat/link/start | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1600 |
DELETE | /api/org/social/telegram/chats/:chatId | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1842 |
GET | /api/org/social/telegram/link/start | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1544 |
POST | /api/org/social/telegram/unlink | socialLinking.ts | Partner dashboard session required. | partners-api/src/routes/socialLinking.ts:1578 |
GET | /api/rego/friends | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:183 |
DELETE | /api/rego/friends/:id | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:559 |
PATCH | /api/rego/friends/:id/accept | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:418 |
PATCH | /api/rego/friends/:id/decline | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:488 |
GET | /api/rego/friends/events | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:673 |
POST | /api/rego/friends/request | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:301 |
GET | /api/rego/friends/requests | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:241 |
GET | /api/rego/friends/sent | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:271 |
GET | /api/rego/social/discord/link/start | socialLinking.ts | Rego attendee session required. | partners-api/src/routes/socialLinking.ts:1346 |
POST | /api/rego/social/discord/unlink | socialLinking.ts | Rego attendee session required. | partners-api/src/routes/socialLinking.ts:1402 |
GET | /api/rego/social/settings | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:58 |
PATCH | /api/rego/social/settings | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:81 |
GET | /api/rego/social/telegram/link/start | socialLinking.ts | Rego attendee session required. | partners-api/src/routes/socialLinking.ts:1372 |
POST | /api/rego/social/telegram/unlink | socialLinking.ts | Rego attendee session required. | partners-api/src/routes/socialLinking.ts:1427 |
GET | /api/rego/users/search | social.ts | Rego attendee session required. | partners-api/src/routes/social.ts:129 |
POST | /api/rego/zep/launch | zep.ts | Rego attendee session required. | partners-api/src/routes/zep.ts:695 |
GET | /api/rego/zep/status | zep.ts | Rego attendee session required. | partners-api/src/routes/zep.ts:680 |
POST | /api/zep/validate | zep.ts | Unknown from source scan; inspect middleware and handler body before use. | partners-api/src/routes/zep.ts:728 |
POST | /hooks/telegram | socialLinking.ts | Webhook/internal route; inspect signature or shared secret verification before use. | partners-api/src/routes/socialLinking.ts:1059 |
Endpoint contract notes
- Action 1 - Verify unknowns: The table is source-generated, but fields marked unknown need manual handler review.
- Action 2 - Check source line: Use the source line as the starting point for exact request, response, and side-effect behavior.
- Action 3 - Review consumers: Search dashboard, rego, EMS LAN, and webhook callers before changing a path or response.
- Action 4 - Update inventory: Regenerate after any route change.