Reads your Payload config and serves project-specific API documentation under a configurable route, by default /api/api-guide. Outputs include an HTML guide, a Scalar-based API browser, an OpenAPI 3.1 spec, and agent-oriented files such as agent.md, agent.json, llms.txt and query recipes. It requires Payload 3.85.0 or newer.
Generate a live API reference and agent-first query guide for your Payload CMS project
Installation
npm i @matija2209/payload-agent-api-guide2
Stars
0
Forks
0
Open Issues
4 months ago
Last Updated
0
Weekly Downloads
v1.0.1
npm Version
121.2 KB
Unpacked Size
0
Dependencies
Trends appear after 7 days of data. Daily snapshots have not started yet.
Trends appear after 7 days of data. Daily snapshots have not started yet.
Each point is npm's rolling 7-day download count.
Health Score
Composite score based on GitHub activity, stars, npm downloads, publish recency, dependency count, and package size.
Badge for your README
[](https://payloaddirectory.dev/plugins/1258571172-root)<a href="https://payloaddirectory.dev/plugins/1258571172-root"><img src="https://payloaddirectory.dev/badge/1258571172-root.svg" alt="Payload Directory"></a>README
Generate a live API reference and agent-first query guide from your Payload CMS configuration.
This plugin reads your live Payload config and turns it into practical API documentation, an OpenAPI reference, and agent-readable instructions — so developers and AI coding agents can understand how to query your project without guessing.
Payload's REST API is powerful, but beginners and AI agents often get the details wrong. They may assume generic REST patterns — for example, fetching a post by slug with /api/posts/my-slug — instead of using Payload's actual query syntax with where.slug.equals.
This plugin solves that by generating project-specific documentation directly from your Payload setup.
All routes are served under {payload.routes.api}/api-guide (default: /api/api-guide).
| Route | Description |
|---|---|
/api/api-guide | Human-readable HTML guide |
/api/api-guide/reference | Interactive API browser (Scalar UI) |
/api/api-guide/openapi.json | OpenAPI 3.1 spec |
/api/api-guide/agent.md | Concise rules guide for AI coding agents |
/api/api-guide/agent.json | Structured project map (collections, fields, endpoints) |
/api/api-guide/llms.txt | LLM entry point with links to all resources |
/api/api-guide/query-recipes.json | Common query patterns per collection |
npm install @matija2209/payload-agent-api-guide
# or
pnpm add @matija2209/payload-agent-api-guide
Peer dependency: payload >= 3.85.0
import { buildConfig } from 'payload'
import { apiGuidePlugin } from '@matija2209/payload-agent-api-guide'
export default buildConfig({
plugins: [
apiGuidePlugin({
title: 'My Project API Guide',
}),
],
// ...rest of config
})
type ApiGuidePluginOptions = {
/** Disable the plugin without removing it. Default: true */
enabled?: boolean
/** Base path under the Payload API route. Default: '/api-guide' */
basePath?: string
/** Title shown in the HTML guide and OpenAPI spec. Default: 'Payload API Guide' */
title?: string
/** Include auth-enabled collections. Default: true */
includeAuth?: boolean
}
For each collection the plugin reads:
slug field exists (for slug-based fetch recipes)For each global:
/api/api-guide — A self-contained HTML page explaining how to use the REST API for this specific project. Includes field tables per collection, fetch examples, and a common-mistakes section.
/api/api-guide/reference — Scalar UI loaded from CDN, pointed at the generated OpenAPI spec.
/api/api-guide/openapi.json — A complete OpenAPI 3.1 spec with:
GET, POST, PATCH, DELETE) and global (GET, POST)slug fieldwhere, depth, select, limit, page, sort, locale, draft)/api/api-guide/agent.md — A markdown guide written for AI coding agents. Includes:
qs-esm code example/api/api-guide/agent.json — A structured JSON project map. Includes:
apiBase, collections, globalsqueryGuide block explaining Payload REST conventions in machine-readable form/api/api-guide/llms.txt — An entry-point file for LLMs following the llms.txt convention. Lists all generated resources with links.
/api/api-guide/query-recipes.json — An array of concrete query recipes per collection:
The recommended agent workflow when entering a Payload project with this plugin:
/api/api-guide/llms.txt for an overview of available resources/api/api-guide/agent.md for the rules of how to query this project/api/api-guide/agent.json for collections, fields, and endpoint patterns/api/api-guide/openapi.json for formal endpoint referenceNever fetch by slug as a path segment.
This is the most common Payload REST mistake:
// Wrong — returns 404 or wrong data
fetch('/api/posts/my-slug')
// Correct — use where query
fetch('/api/posts?where[slug][equals]=my-slug&limit=1')
.then(r => r.json())
.then(({ docs }) => docs[0])
Use qs-esm to build where queries safely:
import qs from 'qs-esm'
const query = qs.stringify({
where: { slug: { equals: 'my-post' } },
depth: 1,
limit: 1,
})
const res = await fetch(`/api/posts?${query}`)
const { docs } = await res.json()
const post = docs[0]
>= 3.85.0>= 18.20.2The package is intended to publish compiled output from dist/.
Before publishing locally:
pnpm install
pnpm build
pnpm test:int
npm pack --dry-run
npm publish --dry-run
For the first public release, publish manually:
npm publish --access public
After the package exists on npm, configure npm trusted publishing for
@matija2209/payload-agent-api-guide and use the GitHub Actions workflows in
.github/workflows/.
Recommended release flow:
.github/workflows/ci.yml run build, lint, integration tests, and e2e.package.json to the next version and commit it.v1.0.1..github/workflows/publish.yml publishes only if the tag matches the package version exactly.MIT
mcp
Adds Model Context Protocol capabilities to Payload so AI clients can work with your CMS
9889.1k/wk45.4kv3
payload plugin openapi
Generate OpenAPI 3.0, 3.1 or 3.2 specs from your Payload config and serve them with Scalar or Swagger UI
80437/wk18v4
payload oapi
Generate an OpenAPI 3.0 or 3.1 spec from your Payload config with optional documentation UIs
670/wk125v3
payload operations
Typed custom operations for Payload CMS used with the native Payload REST SDK
570/wk2v3
fields select
Select specific fields in Local API and REST API responses, like GraphQL field selection
4726/wk334v3
query
Type-safe query builder and field selection utility for Payload REST and internal APIs
380/wk142v1