Backend contract
Public SDK endpoints and dashboard-owned contracts that power Releaseo widget, users, segments, roadmap, and feature requests.
Service ownership
| Area | Owner |
|---|---|
| Widget config, feature requests, roadmap, segments | API service |
| SDK identify, users, user properties, product events | Analytics service |
| Access tokens and user authentication | Auth service |
Public SDK endpoints
The SDK and widget use project key based public routes.
GET /sdk/config
POST /sdk/identify
GET /sdk/feature-requests/categories
GET /sdk/feature-requests
POST /sdk/feature-requests
GET /sdk/feature-requests/:id/comments
POST /sdk/feature-requests/:id/comments
POST /sdk/feature-requests/:id/vote
GET /sdk/roadmap/snapshot
GET /sdk/roadmap/:id
POST /sdk/roadmap/:id/follow
Custom product events are sent to the configured analytics endpoint:
POST /e?key=<publishKey>
Dashboard-owned APIs
Dashboard moderation and setup APIs are JWT protected and project scoped.
Feature request moderation:
GET /projects/:projectId/feature-requests
GET /projects/:projectId/feature-requests/:id
PATCH /projects/:projectId/feature-requests/:id
DELETE /projects/:projectId/feature-requests/:id
GET /projects/:projectId/feature-requests/:id/comments
DELETE /projects/:projectId/feature-requests/:id/comments/:commentId
Segments:
POST /projects/:projectId/segments
GET /projects/:projectId/segments
GET /projects/:projectId/segments/:id
PATCH /projects/:projectId/segments/:id
DELETE /projects/:projectId/segments/:id
POST /projects/:projectId/segments/:id/publish
SDK users and properties:
GET /analytics/:projectId/users
GET /analytics/:projectId/users/:userId
GET /analytics/:projectId/lookups/user-properties
GET /analytics/:projectId/lookups/user-properties/:key
Visibility rules
- Feature request public routes expose only
kind = feature_requestandreviewStatus = approved. - New public feature request submissions start as
pendingand are hidden until dashboard review. - Roadmap
internal_onlyitems are not public. - Roadmap
audience_targeteditems use the shared audience runtime. - Changelog audience modes include all users, saved segment, and custom condition.
- Saved segment targeting stores a snapshot so public post visibility remains stable.
Widget config cache
Widget settings are the source of truth for /sdk/config. After widget create,
update, or removal, the backend invalidates SDK config cache keys for the
project and project key so newly loaded widgets receive fresh settings.
Integration rule
The SDK docs and public landing-page docs should stay aligned with the SDK source, npm packages, and backend contracts before a public release.