Quickstart
From zero to your first API response in about five minutes.
Create an API key#
In the Ecomone backend open Apps › Ecomone API and choose API key. Only the shop owner can create keys. Pick the permissions, for example Orders: read. You get a key id (
ek_…) and a secret (sk_…).!The secret is shown only once and stored by Ecomone only as a hash. Keep it on your server — never in a browser, app bundle or public repository.
Make a request#
Send the key id and secret as headers. This lists the five newest orders:
Your first requestcurl "https://api.ecomone.shop/api/public/v1/orders?limit=5" \ -H "X-Api-Key: ek_..." \ -H "X-Api-Secret: sk_..."const res = await fetch("https://api.ecomone.shop/api/public/v1/orders?limit=5", { headers: { "X-Api-Key": process.env.ECOMONE_API_KEY, "X-Api-Secret": process.env.ECOMONE_API_SECRET, }, }); const { data, pagination } = await res.json();import os, requests res = requests.get( "https://api.ecomone.shop/api/public/v1/orders", params={"limit": 5}, headers={ "X-Api-Key": os.environ["ECOMONE_API_KEY"], "X-Api-Secret": os.environ["ECOMONE_API_SECRET"], }, ) orders = res.json()["data"]★No code needed to explore: every endpoint in the API reference has a Try it console. Enter your key once and send real requests from the browser — credentials stay in your tab.
Fetch the next page#
List endpoints return up to 50 items (max 200 via
limit). Pass the returned cursor to get the next page. See Pagination.cURLcurl "https://api.ecomone.shop/api/public/v1/orders?limit=50&cursor=2026-11-12T08:41:02.118Z" \ -H "X-Api-Key: ek_..." -H "X-Api-Secret: sk_..."Update an order#
With the
orders:fulfillmentscope you can mark an order as shipped and add tracking. The customer gets the shop's shipping e-mail unless you send"notify_customer": false.cURLcurl -X PATCH "https://api.ecomone.shop/api/public/v1/orders/<ORDER_ID>" \ -H "X-Api-Key: ek_..." -H "X-Api-Secret: sk_..." \ -H "Content-Type: application/json" \ -d '{"fulfillment_status":"shipped","tracking_carrier":"Swiss Post","tracking_number":"99.60.123456.12345678"}'Next steps#
Browse the API reference, subscribe to webhooks instead of polling, or turn your integration into an app that any merchant can connect.