TMA CloudTMA Cloud
Reference

Error Codes

Every machine-readable error code the TMA Cloud API returns.

Every machine-readable error code the TMA Cloud API returns.

How Errors Are Returned

Every error response carries a message. Some also carry a machine-readable error code:

{
  "message": "Storage limit exceeded",
  "error": "STORAGE_LIMIT_EXCEEDED"
}

The tables below list every error code the server sends. Any other error has a message only, so branch on the HTTP status and show message rather than expecting a code.

Upload and Storage

CodeStatusWhen
STORAGE_LIMIT_EXCEEDED413The upload or save would take the account past its storage limit
STORAGE_NOT_CONFIGURED503No bucket is saved yet; returned by any request for file contents
STORAGE_PROBE_FAILED422A bucket connection check failed; the body includes the failed step

Documents

CodeStatusWhen
MIME_TYPE_MISMATCH400OnlyOffice: the file content does not match its extension. Returned as JSON for API requests; a browser opening the link directly gets an HTML error page

Access Restrictions

CodeStatusWhen
DESKTOP_ONLY_ACCESS403Instance is in desktop-app-only mode and the request is from a browser

Failed sign-ins, missing two-factor codes, expired sessions and permission denials have no code. Use the status: 401 for sign-in and session problems, 403 for a missing permission.

Database

CodeStatusWhen
DUPLICATE_RESOURCE409PostgreSQL unique violation (23505)
INVALID_REFERENCE400PostgreSQL foreign key violation (23503)

System

CodeStatusWhen
INTERNAL_ERROR500An unexpected failure. The full error is in the server log, not the reply
FRONTEND_NOT_BUILT404A non-API route was requested but the web app build is missing

Validation Errors

Validation failures return 422 with a details array rather than an error code:

{
  "message": "Validation failed",
  "details": [{ "email": "Invalid email format" }]
}

Rate Limit Errors

The rate limiters return 429 with the same sentence in message and in error; it is not a code:

{
  "message": "Too many requests, please try again later",
  "error": "Too many requests, please try again later"
}

The backup-code cooldown returns message plus retryAfterMs instead. See Rate Limits.

Last updated on

On this page