Views API
API Reference
Views require a MongoDB connection. All admin endpoints require authentication and the
views permission. View configs are stored in the cms__views MongoDB
collection.
Requires: views permission
List all view configs, sorted by creation date descending.
Requires: views permission
Create a new view config. Returns 201 on success.
{
"title": "Active Premium Users",
"slug": "active-premium-users",
"connection": "default",
"pipeline": {
"source": "users",
"stages": [
{ "type": "$match", "config": { "data.status": "active" } },
{ "type": "$sort", "config": { "meta.createdAt": -1 } },
{ "type": "$project", "config": { "data.name": 1, "data.email": 1 } }
]
},
"display": { "mode": "table", "columns": [ { "key": "data.name", "label": "Name" } ], "pageSize": 25 },
"access": { "roles": ["admin", "manager"], "public": false }
}Requires: views permission
Return a single view config by slug.
Requires: views permission
Update a view config. Accepts the same body shape as POST; all fields are optional.
Requires: views permission
Delete a view config.
Requires: views permission
Execute the view's aggregation pipeline and return paginated results. Query params:
page (default 1), limit (default 25).
// Response
{ "results": [ ... ], "total": 142, "page": 1, "limit": 25 }Requires: views permission
List all view configs whose pipeline.source matches the given collection slug.
Access level: per view access config
Execute the view publicly. If access.public is false, a valid JWT and a
role listed in access.roles is required.