Skip to content
Linra Omni Vendor Docs

URL conventions

How to tell a platform-wide endpoint from a product-specific one, just by looking at its path.

The vendor API follows one structural rule:

A product-specific endpoint lives under its own product segment, /api/v1/{product}/** (today: /api/v1/scent/**). Everything else is a platform/global endpoint, hosted directly in Identity, that works the same way regardless of which product(s) you supply through.

This is why the API Reference sidebar is split into a Platform group and a Scent group — the grouping mirrors this URL rule exactly.

Resource Base path Why it’s platform-level
Authentication /api/v1/auth/token Credential exchange for a capability-scoped vendor token, identical whichever product(s) you supply.
Profile /api/v1/profile Your vendor identity/VAT facts — one record, not one per product.
Credentials /api/v1/credentials/** Your API credentials govern access to your account as a whole.

Everything under /api/v1/scent/** — offers, cost, stock, orders, returns, and Scent’s own webhook subscription door, /api/v1/scent/webhooks/**. See Scent for the full list and this product’s own state catalogue.

Webhook subscription management is per-product on purpose

Section titled “Webhook subscription management is per-product on purpose”

You might expect webhook subscriptions to live at a neutral, platform-level path. Linra deliberately made this per-product instead: each product gets its own webhook registration door and its own event vocabulary (today: vendor.scent.order.assigned, vendor.scent.offer.review-decision) — a future product would get its own /api/v1/{product}/webhooks and its own event names. The delivery MECHANISM — HMAC signing, retries, the envelope shape — is identical regardless of which product’s door you subscribed through, and is covered once, generally, in Webhooks & HMAC verification.