Build with DUMA.
Connect your storefront, publish content and manage your workspace. One API key, scoped to what your integration needs. Plain HTTPS and JSON.
92 endpointsHTTPS and JSONOne scoped key
Authentication
Authenticated endpoints accept a workspace API key, as a bearer token in the Authorization header (or in X-Api-Key):
curl https://api.duma-business.com/v1/store/products \
-H "Authorization: Bearer dk_pub_…"Create keys in DUMA under Settings → Developers. There are two kinds:
Publishable key dk_pub_…
Safe in a browser or an app. It can only hold read scopes — products, categories and published content.
Secret key dk_sec_…
For your server only. Orders, newsletter sign-ups, drafts and every management operation need one. A key never gets more than the person who created it could do in DUMA themselves.
Base URL
All API requests are made to:
https://api.duma-business.comAPIs
- Store API
/v1/storeSell through DUMA: show products, price a basket, record paid orders, add subscribers. - Content API
/v1/cms/deliveryRead-only: your published entries, models, languages and media. - Content Management API
/v1/cms/manageWrite: create content models, and entries as drafts. Nothing is published — an editor does that in DUMA. - Workspace Management API
/v1/manageConfigure CMS, media, Notes, workspace and catalogue with an owner-bound secret key.
Rate limiting
Requests are rate-limited per key to keep things fair.
- Store API600 requests / min per key
- Content API600 requests / min per key
- Content Management API60 requests / min per key
- MCP server120 requests / min per key
If you go over, you’ll receive a 429 Too Many Requests response.
Scopes
A key can only call endpoints its scopes allow. Each endpoint page names the scope it needs.
| Scope | Lets a key | Key |
|---|---|---|
| content:manage | Read and update entries, and create drafts | Secret |
| content:publish | Publish, unpublish and archive entries | Secret |
| content:delete | Delete entries | Secret |
| content:configure | Models, fields, languages and content settings | Secret |
| media:read | Browse the media library | Secret |
| media:write | Upload, replace, import and move files | Secret |
| media:delete | Remove files from the library | Secret |
| notes:read | Notes, folders and their history | Secret |
| notes:write | Create and edit notes and folders | Secret |
| notes:delete | Delete notes and folders | Secret |
| notes:manage | Create shared folders and choose who sees them | Secret |
| workspace:read | Business details, trading settings and setup progress | Secret |
| workspace:write | Business details, trading settings and guided setup | Secret |
| locations:manage | List, add and edit locations | Secret |
| catalog:manage | Products, sizes, options and categories | Secret |
| content:read | Published entries, models, languages and media | Either |
| content:preview | Unpublished entries, with status=draft | Secret |
| content:write | New entries, saved as drafts — an editor publishes them | Secret |
| content:models | New content types and their fields | Secret |
| catalog:read | Products, sizes, prices and stock | Either |
| orders:write | Quotes and paid orders | Secret |
| customers:write | A shopper’s own referral code | Secret |
| newsletter:write | Sign-ups and unsubscribes | Secret |