# SDK API reference

Every class and namespace the package exports, with the events, errors, enums and types they use.

- [Kernstra](https://kernstra.com/docs/web-sdk/api/kernstra.md): The SDK entry point: all members are static.
- [PDFDocument](https://kernstra.com/docs/web-sdk/api/pdfdocument.md): An open PDF: loaded through one of four static factories, read through its properties, changed through its namespaces (pages, annotations,…
- [PagesApi](https://kernstra.com/docs/web-sdk/api/doc-pages.md): The Manage Pages panel, headless: the panel's actions do what these members do.
- [AnnotationsApi](https://kernstra.com/docs/web-sdk/api/doc-annotations.md): The Highlight, Note, Link and shape tools and the selection bar's text marks, headless: create() writes highlights, underlines, squiggly…
- [FormsApi](https://kernstra.com/docs/web-sdk/api/doc-forms.md): Form filling, headless — the same rules as typing into the fields.
- [TextApi](https://kernstra.com/docs/web-sdk/api/doc-text.md): Reading and searching text.
- [SecurityApi](https://kernstra.com/docs/web-sdk/api/doc-security.md): The Security dialog, headless.
- [OutlineApi](https://kernstra.com/docs/web-sdk/api/doc-outline.md): The Outline panel, headless: the bookmark tree, read whole and edited one bookmark at a time.
- [AttachmentsApi](https://kernstra.com/docs/web-sdk/api/doc-attachments.md): The Attachments panel, headless: the document's embedded files.
- [SignaturesApi](https://kernstra.com/docs/web-sdk/api/doc-signatures.md): The Signatures panel, headless.
- [PDFViewer](https://kernstra.com/docs/web-sdk/api/pdfviewer.md): The viewer: renders a PDFDocument inside a DOM container and wires its pages, form fields, toolbar, sidebar and tools.
- [ToolsApi](https://kernstra.com/docs/web-sdk/api/tools-api.md): The running tools a viewer exposes to code, reached as viewer.tools.
- [EditTextToolApi](https://kernstra.com/docs/web-sdk/api/viewer-tools-edittext.md): The Edit Text tool, drivable from code.
- [PDFExporter](https://kernstra.com/docs/web-sdk/api/pdfexporter.md): Writes the document out: to a download, a Blob, an ArrayBuffer, a base64 string, or an upload.
- [FontRegistry](https://kernstra.com/docs/web-sdk/api/fontregistry.md): Loads fonts outside a viewer — for a font picker of your own, or to check what a font covers.
- [SDKError](https://kernstra.com/docs/web-sdk/api/sdkerror.md): The error the SDK throws and reports.
- [EventEmitter](https://kernstra.com/docs/web-sdk/api/eventemitter.md): The type behind on and off.
- [Helpers](https://kernstra.com/docs/web-sdk/api/helpers.md): Standalone functions the package exports beside the classes.
- [Events](https://kernstra.com/docs/web-sdk/api/events.md): Subscribe to what the person is doing and to lifecycle changes.
- [Errors](https://kernstra.com/docs/web-sdk/api/errors.md): Every failure the SDK reports is an SDKError with a stable code you can switch on.
- [Enums and constants](https://kernstra.com/docs/web-sdk/api/enums.md): Frozen objects whose values you compare against, and the constants the package exports so you never restate a default.
- [Types](https://kernstra.com/docs/web-sdk/api/types.md): Shapes returned by, or accepted by, the SDK API.
- [Coverage matrix](https://kernstra.com/docs/web-sdk/api/coverage.md): Every tool, and exactly how much of it is reachable without the interface.
