Guide for designing REST APIs in ObjectStack.
ObjectStack automatically generates REST APIs for all objects with apiEnabled: true:
GET /api/v1/objects/{object} # List records
GET /api/v1/objects/{object}/{id} # Get single record
POST /api/v1/objects/{object} # Create record
PATCH /api/v1/objects/{object}/{id} # Update record
DELETE /api/v1/objects/{object}/{id} # Delete record
{
enable: {
apiEnabled: true,
apiMethods: ['get', 'list', 'create', 'update', 'delete'],
}
}filter— JSON filter expressionsort— Sort fields (e.g.,?sort=-created_at)limit— Page size (default: 50, max: 200)offset— Pagination offsetfields— Select specific fields
{
name: 'user_password_reset',
enable: {
apiEnabled: true, // ❌ Sensitive data exposed
}
}{
name: 'user_password_reset',
enable: {
apiEnabled: false, // ✅ Not exposed via API
}
}- Disable APIs for internal objects — System/sensitive objects
- Use apiMethods whitelist — Limit operations (e.g., read-only)
- Implement rate limiting — Protect against abuse
- Use field-level permissions — Control data visibility
- Validate input — Use validation rules
See parent skill for complete documentation: ../SKILL.md