Authentication

API key authentication and rate limits

Authentication

All requests to the Umbrella API require authentication. There are two methods depending on the endpoint.

Shopify header authentication

Public-facing endpoints (widget data, claims, policy lookups) authenticate using Shopify shop domain headers:

X-Shopify-Shop-Domain: your-store.myshopify.com
X-Shopify-Customer-Id: 1234567890

When you install the Umbrella Shopify app, your shop domain is automatically registered. No manual setup is needed for storefront endpoints.

Internal API key authentication

Server-side endpoints (eligibility assessment, product sync) authenticate with an API key in the request body:

{
  "internalApiKey": "your-internal-api-key",
  "orgId": "your-org-id"
}
Note Internal API keys are for server-to-server communication only. Never expose them in client-side code.

To generate or rotate an internal API key:

  1. Go to Dashboard > Settings > Integrations
  2. Locate the API Keys section
  3. Click Generate New Key or Rotate Key

Rotating a key immediately invalidates the previous one. Update all integrations before rotating.

Test vs live environments

EnvironmentShop DomainBehavior
Testing*.test, demo.myshopify.com, test.myshopify.comReturns mock data, no real transactions
LiveYour actual *.myshopify.com domainReal data, real transactions

Test-mode requests return "testingMode": true in responses and use sample warranty data.

Error handling

Common error status codes across all endpoints:

StatusMeaning
400Missing or invalid parameters
401No authentication credentials provided
403Unauthorized origin or invalid API key
404Resource not found
408Request timeout (25-second limit)
429Rate limit exceeded — wait and retry
500Internal server error

When you receive a 429 response, wait for the retry period before sending more requests. Implement exponential backoff for high-volume scenarios.

Book a Demo

See how myUmbrella can transform your warranty program

Choose a Time

Select a convenient time for your personalized demo

ESC

Start typing to search across all content

No results found

Try a different search term