Backend contract

Public SDK endpoints and dashboard-owned contracts that power Releaseo widget, users, segments, roadmap, and feature requests.

Service ownership

AreaOwner
Widget config, feature requests, roadmap, segmentsAPI service
SDK identify, users, user properties, product eventsAnalytics service
Access tokens and user authenticationAuth 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

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.