Lueira — Management software for active tourism

Public online store API

Production server-to-server REST API for integrating Lueira's catalogue and shopping flows into your own site. Operations require access to be enabled for your tenant.

Endpoints

Base URL: https://api.lueira.com/api/store/v1. The OpenAPI specification lists all 113 operations, parameters, scopes, models and responses: rental, bundle, lesson, course, pass and shop catalogues; availability and pricing; forms and uploads; carts, discounts, checkout and payments; customer login and account; orders, vouchers and session bookings.

Access and scopes

An administrator will subscribe to the online store add-on separately and create an online_store key with only the required scopes. An admin key cannot access the store API; a store key cannot access the admin API or MCP.

  • Catalogue and availability: store:catalog:read, store:availability:read.
  • Cart and checkout: store:cart:read, store:cart:write, store:checkout:write.
  • Orders: store:orders:read.
  • Customers: store:customer:read, store:customer:write.
  • Vouchers: store:vouchers:read, store:vouchers:write.

Shopper authorization

The key identifies the tenant. Store-ID selects one of its enabled stores. Shopper routes also require Customer-Authorization: Bearer <token>. Cart operations use the cart's own Cart-Access-Token. Keep these secrets on a server.

Request and response headers

The interactive reference declares headers on each operation. Use these common and conditional headers:

DirectionHeaderWhen and why
RequestAuthorization: Bearer <api_key>Required on operations; use an online_store key. Never expose it in browser JavaScript.
RequestStore-IDOptional. Selects an enabled store; omitted means the tenant's main store.
RequestX-Lueira-Center-SlugOptional. Selects a visible center by slug for multi-center stores.
RequestCustomer-Authorization: Bearer <token>Required on operations that need a customer session.
RequestCart-Access-Token and Cart-IDSend on cart operations indicated by OpenAPI. Treat the cart token as a secret.
RequestIdempotency-KeyRequired on mutations; use a unique key of up to 255 characters and keep it on retries.
RequestContent-Type: application/jsonSend when the request includes a JSON body.
ResponseX-Request-IDPresent on every response; include it when contacting support. On errors it matches error.request_id.
ResponseX-Lueira-Api-VersionAPI version, for example store-v1.
ResponseX-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-ResetPer-minute limit, remaining requests, and reset time.
ResponseRetry-AfterSeconds to wait after a 429 response.
ResponseX-Store-Usage, X-Store-Included, X-Store-Grace, X-Store-Overage-Packs, X-Store-Usage-ResetMonthly usage and allowance on successful responses; reset is UTC.
ResponseX-Next-Offset, X-Total-CountPagination metadata when returned by the operation.
ResponseCart-ID, Cart-Access-Token, Idempotency-ReplayedCart headers when applicable. Idempotency-Replayed: true means a stored response was returned.
The API key is for server-to-server calls. allowed_origins configures CORS only; it does not authenticate users. Browsers can read response headers exposed by CORS when the origin is allowed.

Allowed origins

You can configure allowed_origins on each store key. They only control which browser origins receive CORS responses; they do not replace authentication or act as an IP allowlist.

Safe retries

Every mutation requires a unique Idempotency-Key. Repeating an identical request with the same key returns its original response; reusing the key with different input returns 409. If an operation is awaiting reconciliation it also returns 409: keep the key and check its state before retrying a purchase.

Quotas and billing

The add-on uses a separate monthly Stripe subscription, even with an annual main plan. The first month is prorated to the next UTC month. After the included allowance, a free 5% grace applies; then each started block of 25,000 successful requests costs €25. Reaching the monthly allowance does not stop requests. The per-minute limit still applies and can return 429.

PlanMonthly add-onReq/minIncluded/month
Básico€4915075,000
Pro€99300375,000
Premium€1797501,500,000
The OpenAPI document is public and needs no key. To operate, you need an active subscription, an online_store key with minimum required scopes, and access enabled for your tenant.