iRetail PRO store node 1.0.0-m1: license

2 operations

← All documentation · Source: contracts openapi/store-v1.yaml at 8000474.

← iRetail PRO store node 1.0.0-m1

Operations

GET /v1/license The installed license and its status.

operationId getLicense · Permission store.read

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Responses

PUT /v1/license Install a license key (spec/LICENSE.md).

Only a key whose org is the node's organization_id (422 license_invalid, details reason org_mismatch); the node never adopts a key's org (spec/LICENSE.md, Getting a key).

operationId installLicense · Permission license.manage

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
Approval-Token header string One-time approval from POST /v1/approvals for this operation's permission.

Request body required

Responses

  • 200 OK License
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 422 Error (spec/API.md). Error

Schemas

Error object

Every error response.

error required string Stable code, see spec/API.md.
message required string English text for logs.
details object

License object

status none: no key, the node runs as Starter.

status required "none" | "valid" | "grace" | "expired" | "invalid"
tier required string
org required string | null
org_name required string | null
modules required array of string Module codes the key enables (spec/LICENSE.md, Tiers and modules), restaurant among them.
stores required integer
registers required integer
expires required string (date) | null
usage required LicenseUsage
register_share required integer | null At a store of a chain, its share of the registers (spec/LICENSE.md); null elsewhere.
organization_id string (uuid) The node's own organization id, made at node init, with or without a key; the id a key must name, which the owner copies to the site (spec/LICENSE.md, Getting a key).
clock_behind boolean The clock is more than 24 hours behind the latest time the node has seen; the term is judged at that time less 24 hours (spec/LICENSE.md, Verification).

LicenseUsage object

What the license is used for, counted where it is asked (spec/LICENSE.md, Usage).

stores required integer
registers required integer
tables required integer | null At a store, its tables; null at the hub, which never sees a store's floor.
open_tabs required integer | null At a store, its tabs that are open or billed, each taking a place without the restaurant module; null at the hub.
table_limit required 3 | null 3, the places each store has, when the key lacks the restaurant module; null (no limit) when it has it.

LicenseInstall object

key required string