Velicoo

// developers

REST + webhooks. JSON in, JSON out.

Two API surfaces share the same auth and conventions: an inventory and order API for ERPs and partners, and a B2B-specific API for companies, contract pricing, and quote requests. Both versioned (v1), paginated and rate-limited.

REST · place an order
# Place a B2B order (wire / Net-30)
curl https://ol-y.com/api/v1/public/orders \
  -H "X-API-Key: $OLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "purchase_order_number": "PO-2026-0418",
    "payment_method": "wire",
    "items": [
      { "ean": "7350012340001", "qty": 24 },
      { "ean": "7350012340018", "qty": 12 }
    ],
    "shipping": {
      "company": "Acme Wholesale GmbH",
      "street": "Hauptstrasse 12",
      "postal_code": "10115",
      "city": "Berlin",
      "country": "DE"
    }
  }'
Node.js · sync inventory to ERP
// Pull live inventory every 5 minutes
import { Velicoo } from "velicoo-sdk";

const client = new Velicoo({ apiKey: process.env.VELICOO_API_KEY });

setInterval(async () => {
  const stock = await client.inventory.list({
    updatedSince: lastSync,
    limit: 500,
  });
  await syncToErp(stock);
}, 5 * 60 * 1000);

b2b api

Wholesale-specific surfaces, called out explicitly.

Companies, buyers and quote requests are first-class resources — not customer-table workarounds.

MethodPathRequired scope
GET/api/v1/public/inventoryread:inventory
GET/api/v1/public/inventory/{ean}read:inventory
GET/api/v1/public/productsread:inventory
GET/api/v1/public/companiesread:companies
POST/api/v1/public/companies/{id}/quoteswrite:quotes
POST/api/v1/public/orderswrite:orders
GET/api/v1/public/ordersread:orders
GET/api/v1/public/orders/{id}read:orders
GET/api/v1/public/orders/{id}/invoice.pdfread:orders

// webhooks

Subscribe once. Reliable retries.

HMAC-SHA256 signed payloads, replay protection via timestamp header, exponential backoff retries up to 24 hours.

order.createdorder.paidorder.shippedorder.deliveredorder.cancelledorder.refundedcompany.appliedcompany.approvedcompany.updatedquote.requestedquote.respondedquote.convertedcustomer.createdcustomer.updatedproduct.createdproduct.updatedproduct.stock_changed

sdks

Hit REST directly. Or use a thin SDK.

Node.js / TypeScript

available
npm install velicoo-sdk

Go

available
Import path on signup

Python

on request
Available when a customer commits

Want an API key for evaluation? Tell us the use case.

Request API access →