How do I access the VeloCMS API?
Every VeloCMS blog serves a versioned REST API under /api/v1. Authenticate with an API token to read and write posts, media, members, and settings.
Every VeloCMS blog serves a public REST API under /api/v1 on the blog's own address (for example https://yourblog.com/api/v1/posts). To access it, generate an API key from Admin → Settings → Advanced → API Keys, include the key as a Bearer token in the Authorization header of your requests, and you can read and write the resources its scopes allow — posts, media, comments, members, products, site settings, and webhooks — programmatically.
Where is the API documentation?
The API is documented by two machine-readable specs served on your blog itself: an OpenAPI 3.1 document at /api/v1/openapi (endpoints, request and response shapes, required scopes) and an AsyncAPI 3.0 document at /api/v1/asyncapi (the webhook event catalog). Import either one into Postman, Insomnia, or an OpenAPI code generator to get a typed client. The setup command under Set up Zapier / Make in Admin → Settings → Advanced → API Keys shows your exact base URL. VeloCMS runs on a PocketBase backend, but that is an internal surface; the supported public API for integrations is /api/v1.
How do I authenticate API requests?
Generate an API token in Admin → Settings → Advanced → API Keys. Click New key, give it a name (for example 'Zapier integration' or 'migration script'), select the permission scopes you need (Read posts, Write posts, Read members, etc.), and click Create API key. The token is shown once — copy it immediately because it's hashed before storage and VeloCMS can't display it again. Include the token in the Authorization header of your requests as 'Bearer your-token-here'. Tokens can be revoked individually from the same settings panel without affecting other active tokens.
Which resources are available through the API?
The v1 API exposes resource endpoints for posts (list and create), media (list and upload), comments (list and create, plus a moderation endpoint with the comments:moderate scope), members (list and update your reader accounts), site-settings (read the blog's public settings), products (create, for commerce tenants), and webhooks (manage webhook subscriptions and poll delivery events). Each endpoint requires the matching scope on your API key — a key scoped to posts:read can't touch your member list or site settings, and write scopes like posts:write and members:write are granted separately from read scopes.
What are good use cases for the VeloCMS API?
The API enables a wide range of scenarios that aren't possible through the admin UI alone. Content migration tools can create posts in bulk from a JSON or CSV export of another platform. Headless front-end deployments can fetch posts via API and render them in a completely custom React or Next.js template without using VeloCMS's built-in themes. Static site generators like Astro or Eleventy can pull VeloCMS posts at build time to generate a fully static site. Automation scripts can publish posts from a content queue, update post metadata based on analytics data, or sync subscriber lists with email marketing platforms. The API makes VeloCMS act as a full headless CMS backend while still providing the managed editor and publishing interface.
API tokens with write permissions give external systems direct access to your blog's data. Treat them like passwords — store them in environment variables, not in source code, and rotate them if you suspect a token was exposed. Delete tokens for integrations you no longer use.