Skip to content
API

Nuvlyx API v1

Integrate your store with your own external system: WhatsApp bots, ERP, inventory scripts.

What this API is

The Nuvlyx API is a set of REST endpoints that let the owner of a Nuvlyx store connect their external system (WhatsApp bot, ERP, internal panel, inventory scripts) to the store. It's server-to-server, authenticated with a Personal Access Token (PAT) you generate from your admin panel.

All endpoints live under:

https://api.nuvlyx.com/api/v1/external/

Quickstart

1. Create a token in your panel

Log in to your store admin and go to Settings → API Tokens → Create token. Pick the scopes (permissions) your integration needs and save the displayed token — it is shown only once.

2. Make your first request

curl https://api.nuvlyx.com/api/v1/external/products \
  -H "Authorization: Bearer nvl_live_YOUR_TOKEN"

3. Read the response

[
  {
    "id": "0f1c…",
    "name": "1-month digital subscription",
    "slug": "1-month-digital-subscription",
    "kind": "DIGITAL",
    "status": "ACTIVE",
    "variations": [
      { "id": "abc…", "sku": "SUB-1M", "price": "10000.00", "stockQuantity": 42 }
    ]
  }
]

Conventions

  • Format: all responses and bodies are JSON (UTF-8).
  • Dates: ISO 8601 in UTC. Example: 2026-05-18T14:30:00.000Z.
  • Amounts: decimal strings with 2 decimals in the store's base currency. Example: "10000.00".
  • IDs: UUID v4.
  • Phones: strict E.164. Example: +573001234567.
  • Errors: standard HTTP (401, 403, 404, 422, 500). Body: { "statusCode": ..., "message": "...", "error": "..." }.

Available endpoints

MethodPathScope
GET/external/productsproducts:read
GET/external/products/:idproducts:read
GET/external/products/:id/priceproducts:read
GET/external/ordersorders:read
GET/external/orders/:idorders:read
POST/external/ordersorders:write
GET/external/customers/:idcustomers:read
GET/external/customers/by-phone/:phonecustomers:read
GET/external/customers/:id/walletwallet:read
GET/external/customers/by-phone/:phone/walletwallet:read
POST/external/customers/:id/wallet/rechargewallet:write
POST/external/customers/by-phone/:phone/wallet/rechargewallet:write
POST/external/productsproducts:write
GET/external/inventory/stockinventory:read
POST/external/inventory/licensesinventory:write
GET/external/webhookswebhooks:manage
POST/external/webhookswebhooks:manage
DELETE/external/webhooks/:idwebhooks:manage
GET/external/webhooks/:id/deliverieswebhooks:manage

Also read: errors, rate limits, idempotency, pagination and webhooks.

WhatsApp · powered by Mosend

Nuvlyx doesn't send WhatsApp messages directly — it delegates delivery to the OWNER's Mosend organization. Each store connects its own Mosend account under Settings → WhatsApp (Mosend) in the admin. Mosend bills the OWNER directly; we just route the event to the right approved template.

To send WhatsApp programmatically from your integration, use the OWNER's Mosend API key against https://api.mosend.dev — Nuvlyx's public endpoints do not expose a send proxy.

Mosend docs: developer.mosend.dev.

Need help?

Email hola@nuvlyx.com or join our Telegram community where we share integration patterns from other resellers and answer questions.