Reference
Error Codes
Every error response from Servelo includes an error message and a code field. The code appears in brackets at the end of error toasts, e.g., Failed to send report [REPORTS_500]. Use the code to look up the cause and fix below.
โน๏ธ
Error codes follow the pattern ROUTE_HTTPSTATUS. The route prefix identifies which part of the app generated the error; the suffix is the HTTP status code. For example, AUTH_401 means an authentication failure (401) and TICKETS_500 means an internal server error in the tickets module.
Authentication (AUTH)
| Code | Meaning | What to do |
AUTH_400 | Missing or invalid fields in the login request. | Make sure both email and password are filled in. |
AUTH_401 | Invalid credentials, expired session, or failed MFA verification. | Double-check your email and password. If using MFA, ensure your authenticator app clock is in sync. If your session expired, sign in again. |
AUTH_403 | Account is deactivated or the action is not permitted for your role. | Contact your workspace admin to reactivate or adjust your role. |
AUTH_429 | Too many failed login attempts. | Wait 15 minutes before trying again. Use the magic link sign-in option if you need immediate access. |
AUTH_500 | Internal server error during sign-in. | Try again. If the error persists, contact support. |
Registration (REGISTER)
| Code | Meaning | What to do |
REGISTER_400 | Registration data is invalid or incomplete. | Check all required fields and ensure your password meets the minimum length requirement. |
REGISTER_409 | Email address or organization ID is already in use. | Use a different email address or organization ID, or sign in to the existing account. |
Tickets (TICKETS)
| Code | Meaning | What to do |
TICKETS_400 | Invalid ticket data (missing required fields, invalid status, etc.). | Check that all required fields are filled in correctly. |
TICKETS_404 | Ticket not found. | The ticket may have been deleted or moved to trash. Check the Trash section in Settings. |
TICKETS_413 | Attachment is too large. | Files must be under 100 MB. Compress the file or split it into smaller parts before uploading. |
TICKETS_500 | Internal server error while processing the ticket. | Try again. If the error persists with the same ticket, contact support with the ticket number. |
Quotes (QUOTES)
| Code | Meaning | What to do |
QUOTES_400 | Invalid quote data. | Ensure all required fields are complete and at least one line item is present. |
QUOTES_404 | Quote not found. | The quote may have been deleted. Check Trash in Settings. |
QUOTES_500 | Server error while sending, generating, or signing the quote. | Try again. For PDF generation issues, check that the quote has complete line items and a valid customer. |
Invoices (INVOICES)
| Code | Meaning | What to do |
INVOICES_400 | Invalid invoice data. | Check that all required fields are filled in and at least one line item is present. |
INVOICES_404 | Invoice not found. | The invoice may have been deleted. Check Trash in Settings. |
INVOICES_500 | Server error while sending, generating, or processing the invoice. | For Square payment link errors, verify your Square account is connected in Settings. For PDF errors, ensure all line items have valid prices. |
Expenses (EXPENSES)
| Code | Meaning | What to do |
EXPENSES_400 | Invalid expense data (missing amount, date, or description). | Fill in all required fields before saving. |
EXPENSES_404 | Expense not found. | The expense may have been deleted. |
EXPENSES_500 | Internal server error with the expense. | Try again. If the error persists, contact support. |
Reports (REPORTS)
| Code | Meaning | What to do |
REPORTS_500 | Server error while generating or emailing a report. | Check the error message for details. If it mentions an email error, check your outbound email configuration (Settings → Email). If it mentions a database error, contact support. |
Clients (CUSTOMERS)
| Code | Meaning | What to do |
CUSTOMERS_400 | Invalid client data. | Check all required fields, especially email format. |
CUSTOMERS_404 | Client not found. | The client may have been deleted. Check Trash in Settings. |
CUSTOMERS_500 | Internal server error with the client record. | Try again. If the error persists, contact support. |
Billing (BILLING)
| Code | Meaning | What to do |
BILLING_402 | This feature requires an active paid subscription. | Go to Settings → Billing to upgrade your plan. |
BILLING_409 | Subscription conflict, such as trying to subscribe when already active. | Refresh the page. If the issue continues, contact support. |
BILLING_500 | Payment processing error (Stripe-side issue or webhook failure). | Check your payment method in Settings → Billing. If the charge went through but the plan did not activate, contact support with the timestamp. |
Users (USERS)
| Code | Meaning | What to do |
USERS_400 | Invalid user data (missing name, email, or role). | Fill in all required fields before saving. |
USERS_404 | User not found. | The user may have been removed. Refresh the Users page. |
USERS_409 | A user with that email address already exists in the workspace. | Use a different email address, or look up the existing user on the Users page. |
USERS_500 | Internal server error while managing the user. | Try again. If the error persists, contact support. |
AI Features (AI, DOCUMENT_TEMPLATES)
| Code | Meaning | What to do |
AI_500 | AI operation failed (estimate, summary, or reply suggestion). | Try again. If the input is very long, shorten it. Persistent failures may indicate a temporary upstream API outage. |
DOCUMENT_TEMPLATES_502 | AI content generation failed due to an upstream API error (Groq). | Wait a moment and try again. If the problem persists, the AI provider may be experiencing an outage. |
DOCUMENT_TEMPLATES_500 | Server error while fetching or saving a document template. | Try again. If the error persists, contact support. |
Other codes
| Code | Meaning | What to do |
CALENDAR_500 | Calendar sync error (Google or Outlook Calendar). | Go to Settings > Integrations and reconnect your calendar. If the token has expired, re-authorizing will fix this. |
CHAT_500 | Live chat server error. | Try again. If the error persists, check the Chat Settings page for configuration issues. |
MFA_500 | Multi-factor authentication server error. | Try again. If MFA is broken for all users, check that the MFA encryption key is set in server configuration. |
SIGN_404 | Signature document not found or the link has expired. | The signing link may have expired (links expire after 30 days). Re-send the quote from the Quote Builder. |
PORTAL_404 | A resource requested through the customer portal was not found. | Verify the customer portal URL is correct and the resource (ticket, invoice) still exists. |
TECHNICIANS_500 | Server error while managing technicians or schedule data. | Try again. If the error persists, contact support. |
SETTINGS_500 | Server error while saving a setting. | Try again. If the error persists, refresh the page and re-enter the setting. |
TRASH_500 | Server error while restoring or permanently deleting an item. | Try again. If the item cannot be restored, contact support with the item type and approximate deletion date. |
ERR_500 | Generic internal server error not tied to a specific module. | Refresh the page and try again. If the error recurs, contact support with the full error message from the toast. |
If an error persists or the code is not listed here, copy the full error message (including the code in brackets) and include it when contacting support. The code lets the support team pinpoint the exact failure without needing to reproduce it.