@glidecms/cms-sdk
v2.5.0
Published
TypeScript SDK for the Glide CMS APIs: Composer, Media, Users, and Transmit.
Keywords
Readme
@glidecms/glide-cms-sdk
TypeScript SDK for the Glide CMS APIs: Composer, Media, Users, and Transmit.
Native fetch. Typed errors. Automatic JWT authentication with refresh. Optional article body HTML conversion via jsdom. Node.js >= 22.
npm install @glidecms/glide-cms-sdkAPI surface
41 clients across 4 APIs, accessed via destructured service namespaces:
- Composer (26): article, articleType, author, collection, collectionType, contentFilter, contentLocale, contentPanel, contentTag, customFieldGroup, htmlSnippet, liveReport, liveReportPost, liveReportSummary, liveReportType, menu, page, pathRedirect, resourceLock, route, systemWidget, taxonomy, template, thirdPartyWidget, verifyAccessBundle, workflow
- Media (10): file, folder, gallery, image, tag, settings, workflow, bedrock, account (settings init only), integration
- Users (3): user, role, permission
- Transmit (2): subscriber, event
Documentation
| | |
|---|---|
| Tutorial | Build your first integration from scratch |
| How-to guides | Articles, images, pagination, errors, request options, logging, migration |
| API reference | Full method signatures, config options, error classes |
| Migration notes | update() safety, article body helpers, collection helpers |
| Agent guide | Agent/MCP usage guidance and mutation guardrails |
| Architecture | Design decisions and internals |
Guarantees
- Authentication. SDK authenticates on first request, refreshes automatically before expiry, re-authenticates when the refresh token expires (8h). Auth failures throw
AuthErrorimmediately. - Timeouts. All methods accept per-request timeout via opts. Auth and refresh have a 15s hard timeout. Default request timeout is 30s.
- Cancellation. All methods accept
AbortSignalvia opts. Aborted requests throw immediately without retry. - Retry. 5xx responses and network errors are retried up to 3 times with exponential backoff. 4xx errors, aborts, and timeouts are never retried.
- Uploads. Presigned PUT responses are validated. Non-2xx from S3 throws
UploadError. Uploads acceptAbortSignalfor cancellation. - Rate limiting. 429 responses throw
RateLimitErrorwithretryAfterpopulated from the response. - discover(). Composer resource failures throw immediately. Media and user count failures are soft — results include a
warningsarray. - Safe article update.
composer.article.update()fetches the latest revision, merges supplied fields, and saves a full payload so omitted fields are preserved. - Deduplication. Concurrent identical GETs without per-request opts share one fetch. GETs with opts always make independent requests.
