The TWICE Admin API is in alpha. Endpoints and schemas can change without notice. Pin an API version — see API versions below — and check the reference before you upgrade an integration.
How it works
You create and manage API keys in Settings → Integrations under API access. Each key belongs to your account and acts on its behalf. All requests go tohttps://server.twicecommerce.com. Merchant-facing endpoints live under /v1/admin/ — the TWICE Admin API. Send the key in the X-API-KEY header on every request. For example, list your catalog items:
Usage
- Open Settings → Integrations and go to API access.
- Create a key and copy it — the full value is shown only once.
- Add it to your integration as the
X-API-KEYrequest header. - Delete a key from the same screen when it is no longer needed. A Delete API key dialog asks you to confirm. Every integration authenticating with that key stops working the moment you confirm, and deleting cannot be undone.
API versions
The API is versioned by date. The current version is2025-06.
Send the version in the X-API-Version header to pin a request to it:
Integrations written against the older
https://server.twicecommerce.com/internal/… paths keep working — those URLs resolve onto /v1/admin/. There is no need to rewrite a running script. Write new integrations against /v1/admin/.Rate limits
The API limits requests in three layers:- Per IP — pre-authentication protection. Each client IP has a per-minute request budget. Requests with missing or bot-like user agents consume more of the budget per call.
- Per account — all authenticated traffic on your account, admin dashboard and API keys combined, shares a per-minute limit that scales with your plan.
- Per API key — each key has a sustained requests-per-second rate, a short-term burst allowance, and a monthly request cap. All three scale with your plan; the monthly cap is the API call allowance that pools across all your locations.
When a request exceeds a limit, the API returns
429 Too Many Requests. Wait for Retry-After seconds before retrying.
Crossing the monthly cap does not always return 429. Accounts with overage enabled get the request served and billed as overage instead; accounts without it get 429 on every call past the cap. A request the burst limit rejects never reaches the monthly cap, so it is not counted against it.
See pricing for the allowances on each plan.
Related articles
API reference
Browse every endpoint.
Webhooks
Receive events when data changes.
Bulk creation
Create many records in one call instead of a loop.
Integrations settings
Manage keys and connected systems.