API overview
The concepts behind every Hedgehog API call — authentication, organization scoping, content resolution, and pagination.
Authentication
Viewers sign in through the widget's built-in OAuth flow — there are no tokens for you to manage. If your host application already manages member sessions (SSO), pass a pre-issued member access token via the token attribute (or the client constructor) and the widget skips its in-widget sign-in. All authenticated requests send the token as a Bearer token in the Authorization header.
Organization scoping
Hedgehog is multi-tenant: every request is scoped to your organization, and every organization's data is fully isolated. IDs are typed UUIDs — an organization ID looks like Organization:550e8400-e29b-41d4-a716-446655440000, a comment ID like Comment:<uuid>.
Content resolution
Widgets take any stable external identifier — a slug or URL — as their id attribute and deterministically resolve it to a Content:<uuid> via UUID v5, namespaced to your organization. When calling the API directly, do the same resolution with the exported helper:
SDKs can also register the page URL hosting a content id (PUT /api/comments/:id/link, driven by the comments widget's page-url attribute). The URL must be on your registered site origin; the first registration wins and repeats are no-ops. Registered pages power the article context shown on notifications and profile comment feeds, with deep links back to the comment.
Pagination
List endpoints use key-based pagination: each page's paging.next is an opaque key you pass back to fetch the next page. No page numbers, no offsets.
Client API surface
Interactive API reference
Enterprise plans with API access get an interactive API reference in the dashboard — every endpoint your plan can call, with schemas and a built-in request runner. See Enterprise for identity federation and the control-plane API.