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 public npm.
- 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-dev/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-dev/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-dev/markup-sdk depends on @ceros-dev/markup-sdk-core, so installing the browser SDK pulls in the core client and re-exports its types.
Two entry points
@ceros-dev/markup-sdk exposes two subpaths so you only ship the bundle weight you need:
| Import | What you get |
|---|---|
@ceros-dev/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-dev/markup-sdk | API only: services, auth, and events — no rendered UI. Use this when you build your own UI and need typed access to the MarkUp API. render() is unavailable on this entry; everything else is identical. |
Availability
The SDK packages are published to public npm and follow semantic versioning from 1.0.0 — no breaking changes to the public API within a major version. Install with npm install @ceros-dev/markup-sdk.
If you’d rather drop in a <script> tag than install a package, the browser bundles are also served from the sdk.markup.io CDN — versioned and channel URLs, each with a Subresource Integrity hash. The Getting started guide covers both paths.
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.