Error Codes
Reference for GoValid error codes and their meanings.
HTTP Status Codes
| Code | Meaning | Common Cause |
|---|---|---|
| 200 | OK | Request successful |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | Invalid request body or parameters |
| 401 | Unauthorized | Missing or invalid authentication |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource does not exist |
| 409 | Conflict | Resource already exists |
| 422 | Unprocessable Entity | Validation error |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server error |
| 503 | Service Unavailable | Temporary maintenance |
Authentication Errors
| Error Code | Message | Solution |
|---|---|---|
INVALID_CREDENTIALS | Email or password is incorrect | Check credentials, reset password |
ACCOUNT_DISABLED | Account has been disabled | Contact support |
EMAIL_NOT_VERIFIED | Email address not verified | Check inbox for verification email |
TOKEN_EXPIRED | Access token has expired | Refresh token or log in again |
INVALID_TOKEN | Token is invalid | Log in again to get a new token |
INVALID_2FA_CODE | 2FA code is incorrect | Check authenticator app, use backup code |
2FA_REQUIRED | Two-factor authentication required | Enable 2FA or provide 2FA code |
API_KEY_EXPIRED | API key has expired | Create a new API key |
API_KEY_REVOKED | API key has been revoked | Create a new API key |
QR Code Errors
| Error Code | Message | Solution |
|---|---|---|
QR_NOT_FOUND | QR code does not exist | Check the QR code ID |
QR_EXPIRED | QR code has expired | Create a new QR code |
QR_REMOVED | QR code has been removed | Contact the QR code owner |
QR_PASSWORD_REQUIRED | Password is required to view | Enter the correct password |
QR_PASSWORD_INVALID | Password is incorrect | Check the password |
QR_LIMIT_EXCEEDED | QR code limit exceeded | Upgrade plan or wait for reset |
INVALID_QR_TYPE | QR type is not valid | Check available QR types |
INVALID_SECURITY_LEVEL | Security level is not valid | Check available security levels |
BULK_LIMIT_EXCEEDED | Bulk generation limit exceeded | Reduce batch size or upgrade plan |
Financial Errors
| Error Code | Message | Solution |
|---|---|---|
PAYMENT_FAILED | Payment processing failed | Check payment method, try again |
INSUFFICIENT_CREDITS | Not enough credits | Top up credits |
PLAN_LIMIT_REACHED | Plan limit reached | Upgrade plan |
SUBSCRIPTION_ACTIVE | Subscription already active | Manage existing subscription |
SUBSCRIPTION_NOT_FOUND | Subscription not found | Check subscription status |
INVOICE_NOT_FOUND | Invoice not found | Check invoice ID |
INVALID_COUPON | Coupon code is invalid | Check coupon code and expiry |
COUPON_EXPIRED | Coupon code has expired | Use a valid coupon code |
API Errors
| Error Code | Message | Solution |
|---|---|---|
RATE_LIMIT_EXCEEDED | Too many requests | Wait and retry, check rate limits |
INVALID_REQUEST | Request body is invalid | Check request format and fields |
VALIDATION_ERROR | Field validation failed | Check field requirements |
RESOURCE_NOT_FOUND | Requested resource not found | Check the resource ID |
PERMISSION_DENIED | Insufficient permissions | Check API key permissions |
INTERNAL_ERROR | Internal server error | Retry, contact support if persists |
Integration Errors
| Error Code | Message | Solution |
|---|---|---|
WEBHOOK_FAILED | Webhook delivery failed | Check webhook endpoint |
WEBHOOK_INVALID_URL | Webhook URL is invalid | Use a valid HTTPS URL |
OAUTH_ERROR | OAuth authentication failed | Re-authorize the integration |
PLUGIN_ERROR | Plugin encountered an error | Check plugin configuration |
Security Errors
| Error Code | Message | Solution |
|---|---|---|
RISK_LOGIN_BLOCKED | Login blocked due to risk | Verify identity, contact support |
DEVICE_NOT_TRUSTED | Device is not trusted | Trust the device or enter 2FA |
SIGNATURE_INVALID | Digital signature is invalid | QR code may have been tampered |
ENCRYPTION_ERROR | Encryption/decryption failed | Contact support |
Error Response Format
All API errors follow this format:
{
"error": "ERROR_CODE",
"message": "Human readable description",
"details": {
"field": "specific_field",
"issue": "description of the issue"
}
}
Example
{
"error": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": {
"title": "Title is required",
"qr_type": "Invalid QR type. Must be one of: url, text, email, document"
}
}
Rate Limit Headers
When you receive a 429 error, check these headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed |
X-RateLimit-Remaining | Requests remaining in window |
X-RateLimit-Reset | Unix timestamp when limit resets |
Retry-After | Seconds to wait before retrying |
Related
- Common Issues - Troubleshooting guide
- API Reference - Full API documentation
- Contact Support - Get help