canonical: https://jentic.com/apis/agilitycms.com/agilitycms

# Agility CMS REST API

Jentic publishes the only available OpenAPI specification for Agility CMS REST API, keeping it validated and agent-ready. Agility CMS is a headless content management system that lets agents and applications fetch published content, preview staging content, and synchronise large catalogues of pages, lists, and galleries from a content instance. The API exposes 15 read endpoints scoped by instance GUID, API type (fetch or preview), and locale, covering single items, lists by reference name, sitemaps, paginated sync feeds, URL redirections, and content models. Authentication uses an APIKey header, and responses return structured JSON ready for downstream agent reasoning or static site rendering.

## For AI agents

Read content items, pages, lists, sitemaps, and URL redirections from an Agility CMS instance via fetch (published) or preview (staging) endpoints, scoped by GUID and locale.

## Scope

Does not handle content authoring, asset uploads, or user management - use for read-only content delivery from an existing Agility CMS instance only.

## Capabilities

- Retrieve a single content item by ID with full field data and locale-specific values
- List content items by reference name with pagination and filter options
- Fetch flat or nested sitemaps for a channel to drive navigation builds
- Stream paginated content and page sync feeds for incremental cache refreshes
- Resolve URL redirections changed since a given timestamp for SEO maintenance
- Inspect content model definitions to drive schema-aware rendering

## Use cases

### Headless Site Rendering

Agents and frontends call Agility CMS to fetch the published content for a route, including the page record, its module data, and any list references. The API resolves locale, returns structured JSON for the page and its content items, and can be paired with the sitemap endpoints to build navigation. Integration is straightforward because every endpoint is a GET keyed by GUID, API type, and content path or ID.

Example prompt: Call GET /{guid}/fetch/en-us/page/{id} for page id 27 and return the title, modules, and zone names

### Incremental Content Sync

For static site generators or external search indexes, agents poll the sync endpoints to pull only the content items and pages that changed since the last checkpoint token. The paged response is designed for full-corpus reload then incremental replay, so caches stay current without rebuilding from scratch each deploy.

Example prompt: Call GET /{guid}/fetch/en-us/sync/items with the previous sync token and write each returned item to a local cache

### Preview Workflow for Editors

Editorial agents request the preview API type to see latest unpublished content alongside published content, useful for AI-assisted content review or pre-publish QA. The same path structure works against either the fetch or preview surface, so a single agent flow can switch between staging and production reads with one parameter change.

Example prompt: Call GET /{guid}/preview/en-us/list/blog-posts to fetch the latest staged blog posts for review

### AI Agent Content Lookup via Jentic

An agent built on Jentic can answer natural-language questions about an Agility CMS instance - for example resolving a slug to a page record, retrieving the gallery used on a campaign, or summarising the latest items in a list. Jentic loads the request schema, injects the APIKey header from the vault, and executes the call without exposing the credential to the agent context.

Example prompt: Use Jentic to search 'fetch a page from agility cms', load the page-by-id schema, and return the page record

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /{guid}/{apitype}/{locale}/item/{id} | Get a content item by ID |
| GET | /{guid}/{apitype}/{locale}/list/{referenceName} | List content items by reference name |
| GET | /{guid}/{apitype}/{locale}/page/{id} | Get a page by ID |
| GET | /{guid}/{apitype}/{locale}/sitemap/nested/{channelName} | Get the nested sitemap for a channel |
| GET | /{guid}/{apitype}/{locale}/sync/items | Stream paginated content item changes |
| GET | /{guid}/{apitype}/{locale}/sync/pages | Stream paginated page changes |
| GET | /{guid}/{apitype}/urlredirection | List URL redirections updated since a date |
| GET | /{guid}/{apitype}/contentmodels | Return content model definitions |

## Key resources

- **Item** — Single content items by ID, scoped by locale and API type
- **List** — Lists of content items by reference name with paging
- **Page** — Pages by ID or by path within a channel
- **Sitemap** — Flat and nested sitemap representations per channel
- **Sync** — Paginated incremental feeds for items and pages
- **ContentModels** — Content model definitions for the instance
- **Gallery** — Gallery records by ID
- **UrlRedirection** — URL redirection list since a given date

## Why Jentic

- **Setup:** Wiring the Agility CMS REST API by hand means managing its APIKey header and threading the instance guid, apitype, and locale through every content path. Through Jentic you install once, import the Agility CMS REST API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Agility CMS puts the instance guid in the URL path (/{guid}/{apitype}/...) and every operation is a read, so a rule can pin the agent to one instance's content delivery. You choose which read operations it may call, such as fetching an item or a page, so anything you leave out is not reachable.
- **Credential handling:** Your Agility CMS APIKey is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'fetch a page from Agility CMS', and Jentic returns the matching operation with its input schema, including guid, apitype, locale, and id, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Contentful** — Headless CMS with content delivery and management APIs and richer environment/locale tooling
- **Sanity** — Headless CMS with a real-time content lake and GROQ query language
- **Storyblok** — Visual headless CMS with a similar fetch/preview content delivery model
- **Prismic** — Headless CMS with slice-based content modelling and a REST/GraphQL delivery API
- **Kontent.ai** — Enterprise headless CMS with delivery, preview, and management APIs

## FAQ

### Why is there no official OpenAPI spec for Agility CMS REST API?

Agility CMS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Agility CMS REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Agility CMS REST API use?

The API uses an API key sent in the APIKey header on every request. Through Jentic, the key is held in the credential vault and injected at execution time, so the raw value never enters the agent context.

### Can I read both published and draft content with the Agility CMS REST API?

Yes. Each path takes an apitype segment of either fetch (published content) or preview (latest, including staged content). The same item, list, and page endpoints work against both surfaces, so an agent can switch between production and staging reads by changing one path parameter.

### What are the rate limits for the Agility CMS REST API?

The OpenAPI spec does not declare explicit rate limits. Treat the fetch surface as cached and read-heavy; for large catalogues use the /sync/items and /sync/pages endpoints with continuation tokens rather than polling individual items.

### How do I fetch a specific page through Jentic?

Search Jentic for 'fetch an Agility CMS page', then load the GET /{guid}/{apitype}/{locale}/page/{id} operation schema and execute with the page id, locale, and your instance GUID. Jentic handles the APIKey header and returns the structured page record.

### How do I keep a static site in sync with Agility CMS?

Use GET /{guid}/{apitype}/{locale}/sync/items and /sync/pages. Both return paged deltas; persist the continuation token between runs so subsequent calls only return changes. Pair with /urlredirection to refresh redirect rules between deploys.

### Can I limit what my agent is allowed to do with the Agility CMS REST API?

Yes. Because Jentic One is self-hosted, your own rules decide which operations and credentials the agent may use. Every Agility CMS operation is a read and the instance GUID sits in the URL path, so you can pin the agent to a single content instance and grant only the calls you want, such as fetching an item or a page while withholding sitemap, sync, or content-model reads. Anything you leave out of the rule is not reachable by the agent.
