MarkUp SDK
The MarkUp SDK lets you embed MarkUp’s commenting and collaboration experience directly inside your own web application. Your users drop pinned comments on your live pages, reply in threads, resolve feedback, and attach files — all without leaving your product, and all attributed to the right person.
The SDK renders its own toolbar and comment pins in an isolated shadow DOM, so it layers on top of your UI without clashing with your styles.
The developer journey
Integrating the SDK is four steps:
- Create an SDK installation in the MarkUp web app to get a
publicKeyand a linkedmarkupId. See Create an SDK installation. - Install the package from the Ceros npm registry.
- Initialize the SDK with your
publicKeyandmarkupId. - Render the toolbar and let the SDK resolve a user session.
The Getting started guide walks through all four end to end.
Packages
MarkUp ships two SDK packages. Most integrations only need the first.
| Package | Use it for |
|---|---|
@ceros/markup-sdk | The browser SDK. Initializes a session, renders the commenting UI, and exposes typed access to projects, threads, comments, and uploads. This is what most integrations install. |
@ceros/markup-sdk-core | The headless transport layer the browser SDK is built on — a typed ApiClient with no UI. Use it for server-side scripts or when you render your own UI. See Headless client. |
@ceros/markup-sdk depends on @ceros/markup-sdk-core, so installing the browser SDK pulls in the core client and re-exports its types.
Two entry points
@ceros/markup-sdk exposes two subpaths so you only ship the bundle weight you need:
| Import | What you get |
|---|---|
@ceros/markup-sdk/ui | The full experience: toolbar, comment pins, thread popover, commenting mode. Bundles Preact and the prebuilt components. The guides here target this entry. |
@ceros/markup-sdk | API only: services, auth, and events. No Preact, no UI. Use this when you build your own UI and just need typed access to the MarkUp API. render() is unavailable on this entry; everything else is identical. |
Availability
The SDK is published to the Ceros private npm registry (GitHub Packages) and is currently in an internal
1.0.0-beta.xphase. The public API is still unstable — breaking changes are allowed between releases — so pin an exact version and review release notes before upgrading. Don’t build external, unsupported integrations against it until it flips to a public release.
Installing from the private registry requires an .npmrc that points the @ceros scope at GitHub Packages; the Getting started guide covers the setup.
Next steps
- Getting started — go from zero to a rendered toolbar.
- Create an SDK installation — get your
publicKeyand configure JWT signing. - Authentication — sign in users with your backend or with MarkUp’s built-in sign-in.
- Configuration — every
initandrenderoption. - API reference — methods, services, events, and errors.