fetch.
This is the most complete SDK: it is generated from the OpenAPI spec, so it covers
every public operation, including AI conversation, meta and tags.
Install
Initialize
CMS.init takes only the API key and options — the key is sent as the x-api-key
header on every request. There is no header hook, by design.
Make a request
Read operations that take filters take a single options object:Write operations
Error handling
Errors are return values, not exceptions, unless you opt in:ApiError instead:
In an async call,
throwOnError rejects the returned promise rather than throwing
synchronously — wrap the call in try/catch or .catch().Timeouts and cancellation
AbortSignal as the second argument:
Escaping the resource wrapper
cms.raw is the underlying HTTP client — use it for an operation that has not been
added to a resource yet, or to send a request shape the wrapper does not cover:
Resources
article, author, category, subcategory, form, formSubmission, language,
tag, report, ai, aiConversation, raw.
All operations
Browse the API reference for the full endpoint list.

