GET /api/public/v1/community-servers/lookup converts your platform-specific identifier (e.g. a Discourse site slug or a Discord guild ID) into that UUID.
You should cache the UUID aggressively. It never changes for a given community. Re-fetching it on every request adds unnecessary latency.
Request
Query parameters
| Parameter | Required | Description |
|---|---|---|
platform | yes | Integration platform identifier, e.g. discourse |
platform_community_server_id | yes | Your platform-specific community identifier (slug, guild ID, subreddit, etc.) |
Response
HTTP 200:What to pass to the next step
Capturedata.id — this is your community_server_id. Every subsequent call in the integration lifecycle requires this UUID.
Reference implementation
The Discourse plugin resolves the community-server UUID inOpenNotes::CommunityServerResolver#lookup_from_api:
PluginStore (persistent across restarts) and in Discourse’s in-memory cache with a 5-minute TTL (CACHE_TTL = 5.minutes). On a cache miss, the store is checked before hitting the API.
Never hard-code the UUID. Use this lookup on startup and cache the result — the UUID is stable but the lookup ensures your integration stays correct if a community is migrated or re-provisioned.
API reference
Full parameter and response schema:GET /api/public/v1/community-servers/lookup under API Reference → Community Servers.
Next: Step 3 — Submit the request