Upload files to R2 storage via multipart form:
# Upload POST /p/{id}/storage/upload Content-Type: multipart/form-data Authorization: Bearer {token} # -> { url, key, size, content_type } # Download GET /p/{id}/storage/{key} # Delete DELETE /p/{id}/storage/{key} X-Admin-Key: sk_...
Use file type columns in your schema. Upload the file first, then store the returned URL in the column:
# 1. Upload POST /p/{id}/storage/upload -> { "url": "https://..." } # 2. Save to record PATCH /p/{id}/api/users/{user_id} { "avatar": "https://..." }