List records
Retrieve a paginated list of records from a collection.The name or ID of the collection
Page number
Number of records per page (max 500)
Sort order (e.g.,
-created,title). Prefix with - for descending orderFilter expression (e.g.,
status='active' && created>'2023-01-01')Comma-separated relation fields to expand
Comma-separated fields to return
listRule is not empty. Superusers can access all records.
Response
Current page number
Records per page
Total number of records
Total number of pages
Array of record objects
View record
Retrieve a single record by ID.The name or ID of the collection
The record ID
Comma-separated relation fields to expand
Comma-separated fields to return
viewRule is not empty.
Response
Returns the record object with all its fields.Record ID
Creation timestamp (ISO 8601)
Last update timestamp (ISO 8601)
ID of the parent collection
Name of the parent collection
Create record
Create a new record in a collection.The name or ID of the collection
createRule is not empty. The rule determines whether the user can create records.
Request body
The request body should contain the field values for the new record. Usemultipart/form-data for file uploads.
Response
Returns the created record object (200 OK).Common errors
| Code | Description |
|---|---|
| 400 | Validation error or unsupported collection type (views) |
| 403 | Insufficient permissions (createRule not satisfied) |
| 404 | Collection not found |
Update record
Update an existing record.The name or ID of the collection
The record ID to update
updateRule is not empty.
Request body
Provide only the fields you want to update. Usemultipart/form-data for file uploads.
Field modifiers:
- Append
+suffix to add values:tags+ - Append
-suffix to remove values:tags- - Prefix with
+to prepend:+items
Response
Returns the updated record object (200 OK).Common errors
| Code | Description |
|---|---|
| 400 | Validation error or unsupported collection type |
| 403 | Insufficient permissions (updateRule not satisfied) |
| 404 | Record or collection not found |
Delete record
Delete a record from a collection.The name or ID of the collection
The record ID to delete
deleteRule is not empty.
Response
Returns 204 No Content on success.Common errors
| Code | Description |
|---|---|
| 400 | Record is part of a required relation reference |
| 403 | Insufficient permissions (deleteRule not satisfied) |
| 404 | Record or collection not found |
Working with files
When creating or updating records with file fields, usemultipart/form-data encoding.
Upload files
Update files
To replace files, submit new file(s):API rules
Each collection has API rules that control access:- listRule - Controls who can list records
- viewRule - Controls who can view individual records
- createRule - Controls who can create records
- updateRule - Controls who can update records
- deleteRule - Controls who can delete records
When a rule is
null, only superusers can perform the action. An empty string "" allows anyone (including guests).filter parameter:
Filter syntax
The filter parameter supports a rich expression syntax:Operators
=,!=- Equality>,>=,<,<=- Comparison~- LIKE operator!~- NOT LIKE?=,?!=- Array contains/not contains&&,||- Logical AND/OR
Examples
Special @request fields
In API rules and filters, you can access request context:@request.auth.id- ID of the authenticated user@request.auth.*- Any field from the auth record@request.method- HTTP method (GET, POST, etc.)@request.query.*- Query parameters@request.data.*- Request body data
Response enrichment
All record responses include these system fields:id- Unique record identifiercreated- Creation timestampupdated- Last update timestampcollectionId- Parent collection IDcollectionName- Parent collection name
email- User email (respects emailVisibility)verified- Email verification statusemailVisibility- Whether email is public