SelloraDocumentation v1.1.0
Docs / API

REST API overview

The JSON API at /api/v1 - authentication, carts, orders, rate limits and where to find the full reference.

Sellora includes a JSON REST API under /api/v1 for building a mobile app, a headless storefront or integrations. The complete, interactive reference is part of your store:

https://your-domain.com/api/docs

It documents 50 operations with real example responses. The machine-readable OpenAPI 3.1 file is at https://your-domain.com/api-docs/openapi.json; import it into Postman, Insomnia or a code generator.

Switch it on#

Open Settings > API and enable the REST API. While disabled, every endpoint answers 503 with a JSON message. On the same page you can create and revoke access tokens.

API settings
API settings.

Authentication#

  • Guests can browse the catalogue, use a cart and check out without an account.
  • Customers sign in with POST /api/v1/auth/login (or register) and receive a bearer token; send it as Authorization: Bearer <token>. POST /api/v1/auth/logout revokes it.

Conventions#

  • Responses are JSON. Errors look like { "message": "...", "errors": { ... } } with status 401, 403, 404, 422, 429 or 503.
  • Language and currency: send Accept-Language: fr (or ?lang=fr) and X-Currency: EUR (or ?currency=EUR). The response carries Content-Language and X-Currency.
  • Money is returned as { amount, formatted, currency }.
  • Rate limits: 60 requests per minute for guests (per IP), 120 per minute with a token; login, register, password reset, contact, newsletter and order tracking allow 10 per minute per IP. Exceeding it returns 429.
  • CORS headers are sent so browser apps can call it.

Guest carts#

A guest's cart is tied to the X-Cart-Token response header. Store it and send it back with every cart request. If the shopper signs in while sending that header, or you call POST /api/v1/cart/merge, the guest cart is merged into their account cart.

Endpoint groups#

Group Examples
Auth POST auth/register, auth/login, auth/logout, auth/password/forgot; GET/PUT auth/me.
Bootstrap GET bootstrap (settings, languages, currencies, menus), GET home.
Catalogue GET categories, brands, products (with the same filters as the shop and facets=1), products/{slug}, products/{slug}/reviews, search/suggest, flash-sales/current.
Cart GET cart, POST cart/items, PATCH/DELETE cart/items/{id}, POST/DELETE cart/coupon, POST cart/shipping-methods, POST cart/merge.
Checkout and orders POST checkout, GET orders, GET orders/track, GET orders/{number}, POST orders/{number}/cancel, POST orders/{number}/pay.
Account Addresses, wishlist, notifications, points and reviews.
Content Pages, blog and contact.

The checkout response contains data.order and data.payment whose type is completed, redirect (send the shopper to a URL), client (a client-side gateway such as Razorpay) or failed.

Limits of this version#

  • Online-gateway payments over the API follow the same flow as the web store but were only verified at the web layer; test your payment flow in the sandbox - see Payments overview.
  • Review image upload, newsletter third-party integrations and social login are not exposed through the API.
  • Sorting by price uses the base price and ignores flash-sale and variation special prices, so order may differ slightly from displayed prices.
  • The OpenAPI file is large (about 850 KB) because it contains inferred schemas and examples.
Sellora 1.1.0 documentation · 2026-10-07 · Printed or saved copy? The latest version is always in the Documentation folder of your download.