Skip to main content

Troubleshooting Guide

API Error Format

All ORBEXA API endpoints return errors in a consistent JSON structure:
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable description of what went wrong",
    "details": {}
  }
}
The code field is a machine-readable identifier suitable for programmatic handling. The message field provides a human-readable explanation. The optional details object contains additional context when available, such as which specific fields failed validation.

Authentication Errors

CodeHTTP StatusCauseResolution
UNAUTHORIZED401API key is missing or invalidVerify the X-API-Key header contains a valid key from your dashboard
EXPIRED_API_KEY401API key has passed its expiration dateGenerate a new key in the dashboard under Settings > API Keys
SESSION_EXPIRED401Login session has timed outLog in again to obtain a fresh session
FORBIDDEN403Authenticated user lacks required permissionsCheck that your account role grants access to the requested resource

Common Authentication Pitfalls

  • Missing header prefix — Ensure you are using the correct header format. API keys use the X-API-Key header, while OAuth tokens use the Authorization: Bearer scheme.
  • Whitespace in keys — Copying API keys from the dashboard can sometimes introduce leading or trailing whitespace. Trim the key before use.
  • Revoked keys — Revoked keys return UNAUTHORIZED immediately. If a key was recently revoked by a team member, generate a replacement.

Validation Errors

CodeHTTP StatusCauseResolution
VALIDATION_ERROR400Request body or query parameters fail schema validationCheck the details field for specific field-level errors
INVALID_DOMAIN400Domain format does not match expected patternEnsure the domain is a valid hostname without protocol prefix (e.g., example.com not https://example.com)
MISSING_REQUIRED_FIELD400A required parameter was not providedInclude all required fields as documented in the API Reference
XSS_DETECTED400Input contains potentially dangerous HTML or script contentRemove HTML tags and script elements from input fields
FIELD_TOO_LONG400A string field exceeds its maximum allowed lengthShorten the value to fit within the documented limit

Debugging Validation Failures

When you receive a VALIDATION_ERROR, the details object contains an array of field-level issues:
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Request validation failed",
    "details": {
      "fields": [
        { "field": "price", "message": "Must be a positive number" },
        { "field": "currency", "message": "Must be a valid ISO 4217 currency code" }
      ]
    }
  }
}
Review each entry in the fields array and correct the corresponding values before retrying.

Rate Limiting

Overview

ORBEXA enforces rate limits to ensure fair usage and platform stability. When a rate limit is exceeded, the API returns HTTP status 429 with the error code RATE_LIMIT_EXCEEDED.

Rate Limits by Endpoint Type

Endpoint CategoryLimitWindow
UCP endpoints100 requestsPer minute
API endpoints60 requestsPer minute
Authentication endpoints10 requestsPer minute
Webhook endpoints200 requestsPer minute
WordPress plugin3 requests per IPPer minute

Retry-After Header

When rate-limited, the response includes a Retry-After header indicating the number of seconds to wait before sending another request:
HTTP/1.1 429 Too Many Requests
Retry-After: 30

Exponential Backoff Strategy

For automated integrations, implement exponential backoff:
  1. After the first 429 response, wait the Retry-After duration (or 1 second if not provided)
  2. If the retry also returns 429, double the wait time
  3. Continue doubling up to a maximum of 60 seconds
  4. After 5 consecutive failures, log the error and alert your monitoring system

Webhook Troubleshooting

Invalid Signature

{
  "success": false,
  "error": {
    "code": "INVALID_SIGNATURE",
    "message": "Webhook signature verification failed"
  }
}
HTTP Status: 400 Cause: The HMAC signature in the request header does not match the expected value computed from the request body and your webhook secret.

Platform Signature Headers

Different platforms send signatures in different headers:
PlatformSignature HeaderAlgorithm
ShopifyX-Shopify-Hmac-Sha256HMAC-SHA256 (Base64)
WooCommerceX-WC-Webhook-SignatureHMAC-SHA256 (Base64)
StripeStripe-SignatureHMAC-SHA256 (Hex)
ORBEXAX-OTR-SignatureHMAC-SHA256 (Hex)

Common Webhook Failures

Secret rotation mismatch: If you rotated your webhook secret on the platform side but did not update it in ORBEXA (or vice versa), all signature verifications will fail. Ensure the secret matches on both sides. Encoding mismatch: Some platforms Base64-encode the signature while others use hexadecimal encoding. Verify that your verification logic matches the encoding format used by the specific platform. Body format differences: Webhook signatures are computed over the raw request body. If your receiving application parses and re-serializes the JSON before verification, the signature will not match. Always verify against the raw bytes. Delivery retries: ORBEXA retries failed webhook deliveries up to 3 times with increasing delays. If your endpoint is temporarily unavailable, it will receive the same event multiple times once it recovers. Use the event ID to deduplicate.

Integration Connection Issues

Shopify OAuth

ProblemCauseResolution
Invalid state parameterOAuth state token expired or was tampered withRestart the connection flow from the ORBEXA dashboard
Token exchange failureShopify API returned an error during token exchangeVerify that your Shopify store URL is correct and the store is active
Missing API credentialsRequired Shopify API scopes were not grantedDisconnect and reconnect, ensuring all requested permissions are approved
Store not foundThe Shopify store URL does not resolveConfirm the store subdomain is correct (e.g., yourstore.myshopify.com)

WooCommerce REST API

ProblemCauseResolution
API key mismatchConsumer key or secret is incorrectRegenerate API keys in WooCommerce > Settings > Advanced > REST API
REST API not enabledWooCommerce REST API is disabled or blockedEnable the REST API in WooCommerce settings; check that permalinks are not set to “Plain”
SSL certificate errorThe WooCommerce store uses a self-signed or expired certificateInstall a valid SSL certificate on your WooCommerce host

Connection Status Indicators

IndicatorMeaning
Connected (green)Integration is healthy and last sync succeeded
Warning (amber)Integration is connected but the last sync encountered non-fatal errors
Disconnected (red)Integration has lost connectivity; re-authentication may be required
Pending (gray)Integration setup is in progress

Sync Failures

Platform API Rate Limits

External platforms enforce their own rate limits. When ORBEXA encounters a rate limit from a connected platform during sync:
  • The sync pauses and retries automatically after the platform’s cooldown period
  • If the platform rate limit persists for more than 10 minutes, the sync is marked as Partial with a log entry indicating the interruption point

Service Unavailable (503)

A 503 response during sync indicates that the platform or a downstream service is temporarily unavailable. Resolution: Wait a few minutes and trigger a manual sync. If the issue persists beyond 30 minutes, check the platform’s status page for known outages.

Partial Sync Handling

When a sync completes partially:
  • Products that were successfully processed are committed and available immediately
  • Failed items are logged with specific error details
  • The next sync attempt (whether automatic or manual) will re-process only the failed items

Retry Behavior

Automatic sync retries follow this schedule:
  1. First retry: 5 minutes after failure
  2. Second retry: 15 minutes after first retry
  3. Third retry: 60 minutes after second retry
  4. After 3 failed retries, the sync is marked as Failed and a notification is sent

Data Import Errors

CSV Import Validation

The CSV importer validates each row before processing. Common issues include:
ErrorCauseResolution
Missing required columnThe CSV file lacks a title or price column headerEnsure your CSV contains at minimum: title, price
Invalid price valueThe price field contains non-numeric characters or is negativeUse positive decimal numbers without currency symbols (e.g., 29.99)
Negative inventoryThe inventory count is below zeroSet inventory to 0 or a positive integer
Invalid currency codeThe currency value is not a recognized ISO 4217 codeUse standard three-letter codes such as USD, EUR, GBP
Row too longA field value exceeds the maximum lengthTruncate descriptions to 10,000 characters; titles to 500 characters

Required Fields and Formats

FieldRequiredFormatMax Length
titleYesText string500 characters
priceYesPositive decimal number
currencyNo (defaults to account currency)ISO 4217 three-letter code3 characters
descriptionNoText string (HTML not permitted)10,000 characters
inventoryNo (defaults to 0)Non-negative integer
image_urlNoValid HTTPS URL2,000 characters
categoryNoText string200 characters
skuNoAlphanumeric string100 characters

Domain Verification Issues

CNAME Not Propagated

Symptom: Domain status remains “Pending” for more than a few hours. Resolution:
  • DNS propagation can take up to 48 hours depending on your provider and TTL settings
  • Verify the CNAME record was created correctly using a DNS lookup tool
  • Ensure no conflicting A or AAAA records exist for the same hostname

Wrong DNS Record

Symptom: Domain verification fails with a “Record mismatch” error. Resolution:
  • Confirm the CNAME target matches the value shown in your ORBEXA dashboard exactly
  • Check for trailing dots or extra characters in the DNS record
  • Some providers automatically append the zone name; verify the full record value

SSL Certificate Pending

Symptom: Domain shows “Verified” but HTTPS is not working. Resolution:
  • SSL certificates are automatically provisioned after DNS verification succeeds
  • Certificate issuance typically completes within 15 minutes
  • If the certificate has not been issued after 1 hour, disconnect and re-add the domain to restart the process

Commerce Errors

CodeHTTP StatusCauseResolution
CHECKOUT_FAILED400The checkout session could not be createdCheck that all required checkout fields are provided and the product is in stock
NEGATIVE_PRICE422A product price is below zeroCorrect the product price to a positive value in your catalog
INVALID_CURRENCY422The currency code is not a valid ISO 4217 codeUse a recognized three-letter currency code (e.g., USD, EUR, JPY)
PRODUCT_NOT_FOUND404The referenced product ID does not existVerify the product ID and ensure the product has not been deleted
OUT_OF_STOCK409The requested quantity exceeds available inventoryReduce the quantity or wait for inventory replenishment

Quick Reference Table

Error CodeHTTPWhen It OccursUser Action
UNAUTHORIZED401Invalid or missing API keyCheck API key in request header
EXPIRED_API_KEY401Key past expirationGenerate new key in dashboard
SESSION_EXPIRED401Login timed outRe-authenticate
FORBIDDEN403Insufficient role permissionsContact account owner for access
VALIDATION_ERROR400Malformed request bodyReview details.fields for specifics
INVALID_DOMAIN400Bad domain formatRemove protocol prefix and trailing paths
MISSING_REQUIRED_FIELD400Required parameter absentAdd the missing field per API docs
XSS_DETECTED400Dangerous input contentStrip HTML and script tags
FIELD_TOO_LONG400Value exceeds length limitShorten the field value
RATE_LIMIT_EXCEEDED429Too many requestsWait per Retry-After header
SCAN_IN_PROGRESS409Duplicate scan requestWait for current scan to finish
DOMAIN_NOT_FOUND404No scan results existSubmit a scan request first
INVALID_SIGNATURE400Webhook HMAC mismatchVerify secret matches on both sides
CHECKOUT_FAILED400Checkout creation errorValidate all checkout parameters
NEGATIVE_PRICE422Price below zeroCorrect product pricing
INVALID_CURRENCY422Non-ISO-4217 currencyUse standard currency codes
PRODUCT_NOT_FOUND404Product ID does not existVerify the product ID
OUT_OF_STOCK409Insufficient inventoryReduce quantity or restock

Getting Help

Dashboard Notifications

System-wide issues and scheduled maintenance windows are communicated through the dashboard notification system. Check the notification bell icon for any active alerts before investigating individual errors.

Protocol Endpoint Status

The endpoint status panel on the Dashboard Home page shows real-time health for UCP, ACP, and MCP endpoints. If an endpoint shows “Degraded” or “Offline,” the issue may be platform-wide rather than specific to your account.

Diagnostic Checklist

When contacting support, gather the following information to expedite resolution:
  1. Error code and HTTP status from the API response
  2. Request timestamp (include your timezone)
  3. Endpoint URL that returned the error
  4. Request body (with any API keys or secrets redacted)
  5. Account email associated with your ORBEXA dashboard

Support Channels

  • Documentation — Browse the ORBEXA Knowledge Base for detailed guides
  • Dashboard Help — Use the in-dashboard help widget for contextual guidance
  • Email Support — Reach the support team at the email address listed in your dashboard footer
  • Status Page — Monitor platform health and incident updates in real time

For the complete API endpoint catalog and authentication details, see Chapter 8: API Reference and Rate Limiting. For dashboard feature walkthroughs, see Chapter 9: Merchant Dashboard.