API Reference
Base URL: https://your-host/api/v1
The full machine-readable spec is available as OpenAPI 3.x YAML.
Auth
/api/v1/auth/login Login and obtain JWT token
Entity Types
/api/v1/entity-types List all entity types
/api/v1/entity-types Create an entity type
/api/v1/entity-types/{id} Get an entity type
/api/v1/entity-types/{id} Update an entity type
/api/v1/entity-types/{id} Delete an entity type
Entities (Records)
/api/v1/entities List entities (filter by type, status, locale, tags)
/api/v1/entities Create an entity
/api/v1/entities/{id} Get an entity
/api/v1/entities/{id} Update an entity
/api/v1/entities/{id} Delete an entity
/api/v1/entities/search Full-text search across entities
/api/v1/entities/process-scheduled Transition scheduled → published
Field Defs
/api/v1/field-defs List field definitions
/api/v1/field-defs Create a field definition
/api/v1/field-defs/{id} Delete a field definition
Tags
/api/v1/tags List tags
/api/v1/tags Create a tag
/api/v1/tags/{id} Delete a tag
Media
/api/v1/media Upload image or file (multipart/form-data)
/api/v1/media List uploaded media
Webhooks
/api/v1/webhooks List webhooks
/api/v1/webhooks Create a webhook
/api/v1/webhooks/{id} Delete a webhook
Site Settings
/api/v1/settings List all settings
/api/v1/settings/{key} Update a setting value
Public (no auth)
/api/v1/public/bootstrap Site settings + navigation for public shell
/api/v1/public/entities List published entities
/api/v1/public/entities/{id} Get published entity by ID
/api/v1/public/entities/by-slug Get published entity by slug
Dashboard & Analytics
/api/v1/dashboard Access stats + published count summary
/api/v1/analytics/access Daily access log aggregation
Export
/api/v1/export/entities Export entities as CSV or JSON
Field types
When creating field definitions, use one of these type values:
text— plain text stringint— integerbool— booleanenum— predefined optionsdatetime— ISO 8601 datetimeimage— image upload (references media asset)file— file upload (references media asset)markdown— Markdown text bodyrelation— link to another entity
Rate limiting
120 requests per 60 seconds per IP address. When exceeded, the API returns
429 Too Many Requests with Retry-After and
X-RateLimit-* headers.