apiUrl — see Self-hosting.
Using Vue or vanilla JS instead? The flow is exactly the same — install
@qirtaas/vue or @qirtaas/core and swap the
component code in steps 4–5 for their equivalents.1. Get an API key
Qirtaas cloud keys are provisioned per organization. Fill out the key request form and you’ll receive:- a secret API key (
qrt_sk_…) — used by your backend only to mint embed tokens. Never ship it to the browser. - a signing secret — only needed for cross-user renderer reads, see Authentication.
2. Install
<QirtaasEditor> and
<QirtaasRenderer> — with only React as a peer dependency.
3. Add a token endpoint to your backend
This step is required and happens outside the SDK: the editor authenticates with a short-lived embed token, and only your backend — holding theqrt_sk_… secret — can mint one. Add an endpoint that:
- Authenticates the request with your app’s own session/auth.
- Exchanges the secret key for an embed token by calling
POST https://api.qirtaas.io/v1/embed/tokens/. - Returns the token to the browser.
Never put your
qrt_sk_… secret key in the browser. The frontend only ever
sees the short-lived embed token (1 hour TTL); the SDK calls your endpoint
again before expiry and on 401. Full endpoint reference:
Authentication.4. Mount the editor
Wire the component’sgetToken to the endpoint from step 3.
5. Display a saved document
Use the read-only renderer to show a document without editing:Next steps
The tutorials walk a real feature end to end — backend and frontend together:Document creation
Create, list, edit, and delete documents with one backend endpoint.
Document reading
Render saved documents for their authors and the public.
Access control
Gate cross-user reads behind your own ACL with signatures.
