Errors
Errors use standard HTTP status codes with a JSON body:
error
{ "error": "a valid https url is required" } | Status | Meaning | When |
|---|---|---|
400 | Bad Request | A required field is missing or malformed. |
401 | Unauthorized | Missing or invalid credential. |
403 | Forbidden | Authenticated, but no access to the resource. |
404 | Not Found | Unknown route, or a resource you don't own. |
409 | Conflict | Already exists, or a required precondition isn't met. |
410 | Gone | An expired signed link (e.g. an attachment URL). |
502 | Bad Gateway | An upstream send/delivery failed. |
Anything else is a success: 2xx with the response body each
endpoint documents. Check service health any time with
GET /api/health → { ok: true }.