API
How Enscale's API access works today, and what's planned for public API integrations.
A public, documented Enscale API is not generally available yet. This page describes how access works today and what's planned. If you need programmatic access now, contact support with your use case.
What exists today
Enscale's backend powers the Shopify app, the team inbox, and the storefront widgets. Those clients authenticate as your workspace and are scoped to your store's data.
There is currently no self-serve API key or public endpoint set.
Authentication model
| Model | Used by |
|---|---|
| Workspace token | Merchant and staff clients — the Shopify app and the team inbox. |
| Signed service calls | Trusted internal calls between Enscale services. |
Every request that touches merchant data is scoped to a single workspace and verified server-side. A client cannot read another store's data by asking for it — ownership is checked on the backend, never assumed from the request.
Webhooks
| Source | Handled by | Notes |
|---|---|---|
| Shopify | Enscale | Automation triggers, restocks, ad attribution, GDPR. See Webhook reference. |
| Meta | Enscale | Inbound messages, comments, delivery receipts, template status. |
Both are registered automatically. You don't configure endpoints.
Errors you may see surfaced in the UI
When something fails, Enscale reports a category rather than a raw provider error:
| Category | Meaning |
|---|---|
| Authentication failed | The session or connection is no longer valid. |
| Permission denied | The action isn't allowed for this role or plan. |
| Validation failed | The request was malformed — usually a bad phone number or missing field. |
| Plan limit exceeded | The allowance for that metric is exhausted. |
| Consent required | The contact hasn't opted in. |
| Channel unavailable | The channel is disconnected or in an error state. |
| Provider error | Meta or Shopify returned an error. |
Provider errors are surfaced rather than swallowed, so a failed send shows a reason instead of disappearing.
Planned public API
A public API is planned to cover:
- Contacts — create, update, look up.
- Conversations and messages — read, and send where consent allows.
- Workflows — trigger a flow from an external event.
- Broadcasts — create and schedule campaigns.
- Reviews — submit and read.
- Outbound webhooks — notify your systems when things happen in Enscale.
It will use stable authentication, per-workspace scoping, documented rate limits, and auditable access.
If you need integration now
Several things can be done without an API:
- Custom events into workflows — the Tag Added trigger turns any tagging action into an automation hook.
- Contact creation — CSV import, storefront popup, or an existing channel.
- Outbound HTTP — workflows can create payment links via the Razorpay integration.
- Shopify-side integration — anything that writes to Shopify orders, customers, or inventory reaches Enscale through the Shopify webhooks it already listens to.
That last one covers more cases than people expect. If your system can tag a Shopify customer, it can start an Enscale workflow.