Get started with the API
Connect your own tools to FOM with an API key, and make your first request.
The FOM API lets your own tools read and change your shop's orders, customers, products, stock and deliveries: a POS, a website, an accounting sheet or a script. Webhooks tell your tools when something changes.
Before you start
The API needs the API access add-on, bought in Billing on the web. API keys and webhooks are managed by the Owner or a Manager in Settings → Developers.
Add API access. Open Billing, click Change plan or add-ons, and add API access. See Add-ons.
Make a key. Open Settings → Developers and click New key. Give it a name, like POS sync, and tick only what it needs. See Developers settings.
Copy the key. It starts with fom_live_ and is shown only once. Keep it on your server, for example in an environment variable:
export FOM_API_KEY="fom_live_…"Try it. Ask which shop the key belongs to:
curl https://api.getfom.com/public/v1/shop \
-H "Authorization: Bearer $FOM_API_KEY"{
"success": true,
"data": {
"shop": { "id": "…", "name": "Ma Aye Shop", "timezone": "Asia/Yangon" },
"api_key": { "name": "POS sync", "scopes": ["orders:read"], "acts_for": "Ma Aye" }
},
"meta": { "request_id": "req_7f3a2c", "timestamp": "2026-11-25T08:00:00.000Z" }
}List your newest orders:
curl "https://api.getfom.com/public/v1/orders?limit=5" \
-H "Authorization: Bearer $FOM_API_KEY"What you can do
| Area | Read | Change |
|---|---|---|
| Orders | List, sync and open orders | Create orders, change their status |
| Customers | List, sync and open customers | Add and change customers |
| Products | Products with variants and stock | Add and change products, change stock |
| Deliveries | List, sync and open deliveries | Change a delivery's status or time |
Changes made through the API work exactly as in FOM: confirming an order takes stock, a delivered delivery moves the order, and customers get the same messages. The audit log shows them as, for example, Ma Aye via API key 'POS sync'.
Next
- Authentication and scopes: how keys work and what each scope allows.
- Requests and errors: response shape, error codes and rate limits.
- Pagination and syncing: read everything, or only what changed.
- TypeScript SDK: a ready-made client for Node.js and other JavaScript runtimes.