Menu

Quickstart

Make a key, read your store, list orders and get your first webhook, in about five minutes.

1. Make a key

In the Nepzio admin, open Settings → Developers (owners and admins see it) and choose Create key. Name it after what will use it, tick See products and variants and See orders, and save.

The key is shown once. Copy it into your server's settings, for example an environment variable:

export NEPZIO_API_KEY="nz_live_sk_..."

Keys work only from a server. A request from a browser is refused, because anyone could read a key in a web page.

2. Check the key works

GET /v1/store needs no permission and answers with the store the key belongs to.

curl https://api.nepzio.com/v1/store \
  -H "Authorization: Bearer $NEPZIO_API_KEY"
{
  "id": "01a093ee-872c-73a3-9edd-e1f8f228e967",
  "object": "store",
  "name": "Himal Traders",
  "slug": "himal-traders",
  "status": "published",
  "url": "https://himal-traders.nepzio.com",
  "country": "NP",
  "currency": "NPR",
  "timezone": "Asia/Kathmandu",
  "created_at": "2026-09-02T04:15:00Z"
}

3. List orders

curl "https://api.nepzio.com/v1/orders?limit=10" \
  -H "Authorization: Bearer $NEPZIO_API_KEY"

The same in Node.js, PHP and Python:

// Node.js 18+
const response = await fetch('https://api.nepzio.com/v1/orders?limit=10', {
  headers: { Authorization: `Bearer ${process.env.NEPZIO_API_KEY}` },
});
const page = await response.json();
for (const order of page.data) {
  console.log(order.number, order.total.amount / 100, order.status);
}
<?php
$ch = curl_init('https://api.nepzio.com/v1/orders?limit=10');
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => ['Authorization: Bearer '.getenv('NEPZIO_API_KEY')],
    CURLOPT_RETURNTRANSFER => true,
]);
$page = json_decode(curl_exec($ch), true);
foreach ($page['data'] as $order) {
    echo $order['number'], ' ', $order['total']['amount'] / 100, ' ', $order['status'], "\n";
}
import os, requests

page = requests.get(
    "https://api.nepzio.com/v1/orders",
    params={"limit": 10},
    headers={"Authorization": f"Bearer {os.environ['NEPZIO_API_KEY']}"},
).json()
for order in page["data"]:
    print(order["number"], order["total"]["amount"] / 100, order["status"])

Amounts are in paisa: Rs. 1,500 is {"amount": 150000, "currency": "NPR"}. See Data formats.

When has_more is true, pass next_cursor as cursor to get the next page. See Pagination and syncing.

4. Get a webhook

  1. Run something that accepts a POST on a public HTTPS address. To try it from your own computer, use a tunnelling service.
  2. In Settings → Developers → Webhooks, choose Add endpoint, enter the address and tick order.created.
  3. Choose Test on the endpoint. A webhook.test event arrives within seconds, and the delivery log shows what your server answered.

Before trusting a webhook, verify its signature.

Next