Quickstart
Create an API key, make your first call and read the answer: five minutes from the dashboard to the terminal.
1. Create an API key
In the Kivoo dashboard, open your store, then Paramètres › Développeur › Clés API (Settings › Developer › API keys; the dashboard is in French) and click Créer une clé (Create a key).
- Name: the tool that will use the key, for instance “Zapier” or “My website”. This name appears in the activity journal for every change made with the key.
- Scopes: for each resource (Store, Products, Orders, Customers, Payment links), no access, read or read and write. For this guide, Store read is enough. Scopes cannot be changed after creation: see Authentication.
- Expiry: never, 30 days, 90 days or 1 year.
The full key, starting with kv_live_, is shown only once. Copy it and store it right away where your server reads its secrets (an environment variable, a secret manager): Kivoo only keeps a fingerprint and cannot show it again.
No Developer section?
Only the owner of the store and Admin members can see it. If the create button is replaced by a notice saying key creation is temporarily closed, existing keys keep working: try again later.
2. Make your first call
Send the key in the Authorization header, after Bearer:
curl https://api.kivoo.africa/v1/store \
-H "Authorization: Bearer kv_live_EXAMPLE0000000000000000000000000000000000"The same call from Node.js (18 or later), the key being read from the environment:
const response = await fetch('https://api.kivoo.africa/v1/store', {
headers: { Authorization: `Bearer ${process.env.KIVOO_API_KEY}` },
});
if (!response.ok) throw new Error(`Kivoo answered ${response.status}`);
const store = await response.json();
console.log(store.name, store.currency);3. Read the answer
Kivoo answers 200 with the store the key belongs to:
{
"id": "6f1c2d3e-4b5a-4c6d-8e9f-0a1b2c3d4e5f",
"name": "Atelier Nour",
"slug": "atelier-nour",
"url": "https://atelier-nour.kivoo.store",
"description": "Guides et ateliers de couture.",
"currency": "XAF",
"country": "CM",
"supportEmail": "contact@atelier-nour.cm",
"phone": "+237655000000",
"whatsappPhone": "+237655000000",
"socialLinks": { "instagram": "https://instagram.com/atelier.nour" },
"status": "open",
"createdAt": "2026-03-01T09:30:00.000Z"
}idis a UUID: the same one appears in webhook events (store.id).currencyis the currency of every amount of the store, in minor units.createdAtis an ISO 8601 date in UTC, like every date of the API.
If the key is missing, wrong, revoked or expired, Kivoo answers 401 with a code that says why (api_key_missing, api_key_invalid…); the codes are listed in Conventions.
Next steps
- Browse the API reference: every operation gives the scope it requires.
- Page through products or orders following the conventions.
- Receive every sale as it happens with webhooks.