Skip to main content
Every error response from the Connexease Gateway follows the same JSON structure with a machine-readable code field. This lets you handle specific failure cases programmatically — pausing campaigns on BILL_001, retrying after the right delay on RATE_001, or skipping invalid recipients on GW_001. This page lists all error codes grouped by category, with example payloads and recommended actions for each.

Response Structure

All error responses use the same JSON format:
isSuccess
boolean
Always false for errors.
errors.code
string
Unique error identifier. Use this for programmatic error handling.
errors.group
string
Error category (e.g. UNAUTHORIZED, PAYMENT_REQUIRED).
errors.description
string
Human-readable explanation of the error.
errors.params
object
Optional additional context. Present only on some errors (e.g. RATE_001).

HTTP Status Codes


Authentication Errors (AUTH_*)

HTTP: 401 Unauthorized
When: The token was not found in Redis cache or the Core Service. The key may be invalid, revoked, or expired.Resolution: Verify the key is active in Dashboard → API Keys. Create a new key if needed.
HTTP: 401 Unauthorized
When: The Authorization header is absent entirely.Resolution: Add Authorization: Bearer YOUR_API_KEY to every request.
HTTP: 401 Unauthorized
When: The header is present but the Bearer prefix (with a space) is missing. E.g. sending Authorization: YOUR_API_KEY instead of Authorization: Bearer YOUR_API_KEY.Resolution: Ensure the header is exactly in Bearer YOUR_API_KEY format.
HTTP: 500 Internal Server Error
When: Both Redis and the Core Service are unreachable.Resolution: Retry after a few seconds. If the error persists, contact support.
HTTP: 500 Internal Server Error
When: The token was found but cannot be parsed (data integrity issue).Resolution: Contact support.

Webhook Errors (WH_*)

HTTP: 403 Forbidden
When: The hub.verify_token value doesn’t match during the Meta webhook verification handshake.Resolution: Ensure the WEBHOOK_VERIFY_TOKEN config value matches exactly what you entered in Meta Business Manager.
HTTP: 401 Unauthorized
When: A POST /v1/wa/webhook request is missing the X-Hub-Signature-256 header.Resolution: This error only occurs on requests from Meta. Do not call this endpoint from your own code.
HTTP: 403 Forbidden
When: The signature header is present but the computed HMAC-SHA256 doesn’t match.Resolution: Verify that META_APP_SECRET in your config exactly matches the App Secret in Meta Business Manager → App Settings.

Rate Limit Error (RATE_001)

HTTP: 429 Too Many Requests
params Fields:Resolution: Wait for the retry_after duration and retry, or use a queue system for high-volume operations.Error handling example:

Billing Errors (BILL_*)

HTTP: 402 Payment Required
When: Account balance is ≤ 0 at the time of the request, before forwarding to Meta.Resolution:
  1. Immediately pause any active campaigns.
  2. Go to Dashboard → Billing → Add Balance.
  3. Resume the campaign.
HTTP: 400 Bad Request
When: No billing account is associated with this API key.Resolution: Contact the Connexease support team.

WhatsApp Credentials Error (WABA_001)

HTTP: 401 Unauthorized
When: No WhatsApp Business API credentials (phone number ID + access token) were found for the app associated with your API key.Resolution: Verify in Dashboard → App Settings that your WhatsApp Business account is properly connected.

Security Error (SEC_001)

HTTP: 500 Internal Server Error
When: The WhatsApp access token could not be decrypted (encryption key mismatch).Resolution: Contact support.

Gateway / Upstream Error (GW_001)

HTTP: 502 Bad Gateway
When: All auth and billing checks passed, but the Meta API returned an error. The description field contains Meta’s original error message.Common Meta errors surfaced via GW_001:Resolution: Log the description field and skip the failing recipient.

Centralized Error Handling Pattern