# Concepts & glossary

The words we use, and exactly what they mean.

| Term | Meaning |
| --- | --- |
| **App** | Your product. Has one listing, one set of credentials per mode and many installations. |
| **App number** | Stable 8-digit identifier of an app, used in URLs and support tickets. |
| **Installation** | One merchant × one app × one mode. Holds the granted scopes and the tokens. |
| **Scope** | A single permission such as `payments:read`. Granted by the merchant at install time. |
| **Environment** | An isolated sandbox workspace containing a test merchant and its data. |
| **Mode** | `test` or `live`. Determines credentials, data and quotas. |
| **Event** | A change in the merchant's account we push to your webhook endpoint. |
| **Listing** | The public App Store page: name, icon, screenshots, pricing, links. |
| **Version** | A submitted snapshot of a listing plus the requested scopes. Reviewed as a unit. |
| **Publishing fee** | One-time fee charged in live mode when a version is published. |
| **Earnings** | Money owed to you from app sales, settled through payout cycles. |

## Identifier shapes

```text
app number        41028837
installation      inst_… (public id) / UUID in API payloads
access token      sb_at_live_… / sb_at_test_…
refresh token     sb_rt_live_… / sb_rt_test_…
client id         sb_client_…
webhook secret    whsec_…
event id          evt_…
```

Identifiers are opaque strings. Never parse them; only compare them.
