Developers

API

The scango.ch API connects your self-checkout to other programs, e.g. an inventory management system, an ERP, your accounting software or an online shop. The API is a REST interface: a program sends HTTPS requests and receives data in JSON format.

Access requires an API key, which Admins and Owners create in the dashboard. The complete technical reference with all endpoints and fields is available at developers.scango.ch.

What is the API for?

  • Import products from an inventory management system and keep prices or stock up to date
  • Fetch orders regularly, e.g. for accounting or your own reporting
  • Synchronize suppliers, categories and stores with another system
  • Manage identity logs and the block list if you use Stellard Age age verification

Creating an API key

List of API keys with description, type and creation date
  1. Open Settings › Organization › API Keys.
  2. Click Create API key.
  3. Enter a Description that lets you recognize the key later, e.g. "Accounting" or "Online shop".
  4. Choose the Type: Read only allows retrieving data, Write also allows creating, changing and deleting.
  5. Click Create.
  6. The new key is displayed. Copy it with the copy icon and store it in the program that should access the API.
Create API key dialog with description and type

The list shows all keys with Description, Type (Read or Write) and the date under Created. With View API key, admins and owners can display and copy a key again later. Delete API key invalidates a key immediately; integrations using this key stop working.

Authentication

All requests go to the base URL:

https://dashboard.scango.ch/api/v1

Send the API key with every request in the Authorization header as Bearer <API key>. If the key is missing, invalid or deleted, the API responds with status 403. The same applies if you try to change data with a key of type Read.

Example: retrieve the first five products.

curl -H "Authorization: Bearer $SCANGO_API_KEY" \
  "https://dashboard.scango.ch/api/v1/products?limit=5"

The response contains the entries under data and information about the list under meta, e.g. limit and returned.

Resources

Resource

Path

With type Read

Additionally with type Write

Products

/products

list, search, retrieve individually

create, change, delete, upload and delete product image

Orders

/orders

list for a period, retrieve individually

—

Suppliers

/suppliers

list, retrieve individually

create, change, delete

Categories

/categories

list, retrieve individually

create, change, delete

Stores

/stores

list, retrieve individually

create, change, delete

Identity logs

/identity-logs

list and retrieve scans, list block list

create, change, delete blocks

Key rules

  • Amounts in cents: money amounts are integers in cents (Rappen), 120 means CHF 1.20.
  • Lists: lists return { data, meta }. Use limit to set how many entries a response contains (default 100, maximum 5000).
  • Paging: if meta contains a nextCursor value, fetch the next page with the cursor parameter. Keep paging as long as nextCursor is present; fewer entries than limit do not mean the list has ended.
  • Orders: when listing, start and end (date and time in ISO 8601 format) are mandatory. Use paymentState to filter by status (successful, pending, cancelled, timeout, failed). Deleted orders are omitted unless you pass includeDeleted=true.
  • No webhooks: the API does not report new orders on its own. Query it at regular intervals.
  • Protect your keys: an API key grants access to your organization's data. Use it only on a server, never in the code of a website or app, and do not share it. Create a separate key for each integration and choose Read if no data needs to be changed.

Full documentation

All endpoints, parameters, fields and further examples are in the developer documentation at developers.scango.ch. The OpenAPI description is available for download at developers.scango.ch/openapi/scango.json.