← Developers

API documentation

The Synqro REST API is in development. This is a preview of the shape it will take. Request early access at developers@synqro.app.

Authentication

All requests authenticate with a bearer API key from your developer console.

curl https://api.synqro.app/v1/orders \
  -H "Authorization: Bearer sk_live_..."

Endpoints

GET/v1/listings
POST/v1/listings
GET/v1/orders
POST/v1/repricer/rules
GET/v1/agents
POST/v1/webhooks

Storefront module

Embed a ready-made order & quote module on any website. Pre-priced products check out via Stripe and land in your Synqro fulfilment queue; custom items raise a quote you answer in Synqro, which the customer then accepts and pays. Enable it and get your publishable key in Storefront (in-app).

1. Embed (no code)

Drop this into any page — that's the whole integration:

<iframe
  src="https://synqro.skylite.group/s/YOUR_PUBLISHABLE_KEY"
  style="width:100%;max-width:480px;height:760px;border:0;border-radius:16px"
  title="Order"></iframe>

Or just link customers to https://synqro.skylite.group/s/YOUR_PUBLISHABLE_KEY.

2. Or build your own UI on the API

The publishable key (sf_…) is safe to use in client-side code. It can only create orders/quotes for your store — it can never read another tenant's data. Pass it as ?key= or the X-Synqro-Store header. All endpoints are CORS-enabled.

GET/api/storefront/config
POST/api/storefront/order
POST/api/storefront/quote
GET/api/storefront/quote
POST/api/storefront/quote/accept
POST/api/storefront/upload
// Pre-priced order -> returns a Stripe checkout URL
fetch("https://synqro.skylite.group/api/storefront/order?key=sf_...", {
  method: "POST", headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    product_id: "...", quantity: 1,
    customer: { name: "Sam", email: "sam@x.com", phone: "", address: "…" }
  })
}).then(r => r.json()).then(d => location.href = d.checkout_url);

3. Custom-order (quote) lifecycle

pending (customer submits, with optional file/STL) → quoted (you set a price in Synqro's Quotations box) → acceptedpaid (customer pays; the order enters the fulfilment queue). Files attach via /api/storefront/upload or as a pasted link.

4. Payments

Customers pay the business directly — checkout is a direct charge on your connected Stripe account (Synqro is never the merchant of record). Connect Stripe in Integrations first, or the storefront will say payments aren't set up.

Subscribe to events like order.created, listing.repriced, settlement.completed and stock.low.

{
  "event": "order.created",
  "data": { "id": "ord_123", "marketplace": "ebay", "total": 24.99 }
}