Skip to main content
Targets .NET 6+. The only SDK that lets you supply your own HttpClient, so it fits into an existing DI container, Polly pipeline, or test harness without extra work.

Install

Initialize

CMSOptions is init-only, so it can only be set at construction. The key is sent as the x-api-key header on every request; there is no header option, by design.

Inject your own HttpClient

Everything else works the same, and a handler gives you retries, logging, and correlation IDs that the SDK itself does not provide.

Make a request

Read operations that take filters take a single dictionary:
Single-resource and search operations use the same shape:
res.Data is a JsonElement, not a POCO. Call .GetProperty("title").GetString() to read a field, or res.Data.Deserialize<T>() to bind a whole object.

Write operations

Error handling

Errors are return values, not exceptions, unless you opt in:
To throw an ApiError instead:

Cancellation

Escaping the resource wrapper

cms.Raw is the underlying HTTP client. To add headers per request, do it through a DelegatingHandler you control rather than per call:

Resources

Article, Author, Category, Subcategory, Form, FormSubmission, Language, Tag, Report, AI, AIConversation, Raw.

All operations

Browse the API reference for the full endpoint list.