Documentation
Public HTTP endpoints called by the Kembo SDK. Base URL is your Kembo deployment (e.g. https://www.kembo.app).
x-kembo-publishable-key: pk_… on project and some public routes.Authorization: Bearer <access_token> for end-user routes.admin role; otherwise listing/deleting other users is forbidden.x-kembo-analytics-device optional header with a random UUID per install for visitor counting.Returns public project configuration for the publishable key: branding, enabled auth providers, analyticsEnabled, and related flags. Called by the SDK on startup.
GET /api/v1/project x-kembo-publishable-key: pk_your_key
Exchange a Google ID token for Kembo session tokens.
Exchange an Apple identity token (and optional name/email) for session tokens.
Rotate refresh token and issue a new access token.
Revoke the current refresh token.
Return the current end user for a valid access token.
Ingest one or more events when analytics is enabled for the project. Requires publishable key. Events include name, platform, optional path, and timestamp.
POST /api/v1/analytics/events
x-kembo-publishable-key: pk_your_key
x-kembo-analytics-device: <uuid-per-install>
Content-Type: application/json
{
"events": [
{ "name": "screen_view", "platform": "ios", "path": "/home" }
]
}Platform SDKs are served from /api/v1/sdk/{platform} routes (init, install, bundle, and file endpoints). The dashboard setup guide runs the correct init command for your stack — you rarely call these manually.
Routes under /api/projects require a dashboard session cookie. They power the developer UI (create project, enable analytics, OAuth credentials, billing, etc.) and are not intended for mobile apps.
JSON error responses include an error message string. Typical status codes: 401 unauthorized, 403 forbidden, 404 not found, 409 conflict, 422 validation error.