Getting started
This page is a high-level orientation for a first integration. It explains what you need in place, what “ready” looks like, and which endpoints to touch first — not a full request catalog.
What you need before calling anything
You need a merchant account on the Order API: an email and password Chargee recognizes. That account must also carry Monta credentials (username and API key). Those Monta credentials are what the Order API uses behind the scenes whenever it creates, syncs, or imports warehouse work on your behalf. Your client never passes Monta secrets on ordinary order traffic after the account exists.
You also need a client that can send HTTPS JSON, and a secure place to store the access token you receive after signing in. All versioned business routes live under /api/v1.
Accounts may be created through self-registration (with Monta credentials at signup) or provisioned for you by Chargee. Either way, the result is the same: one user, one set of Monta credentials, one ownership boundary for orders.
The first capability that matters: identity
Everything else depends on proving who you are.
| Step | Endpoint |
|---|---|
| Sign in | POST /api/v1/auth/login |
| Register (new account + Monta credentials) | POST /api/v1/auth/register |
| Reachability (no auth) | GET /health |
Signing in or registering returns a Bearer token. Treat that token as a temporary key to your entire order surface. It expires (by default after a day). When it expires, call login again; there is no separate refresh-token flow today.
Until you can authenticate and receive a token, no order work is possible. Health checks confirm the service is reachable without credentials, but they do not substitute for a working login.
The second capability: a local order picture
Once authenticated, think in terms of your orders — records Chargee stores for your account, keyed by a webshop order id that must be unique in a way that protects other merchants as well as you.
| Action | Endpoint |
|---|---|
| List local orders | GET /api/v1/orders |
| Get one local order | GET /api/v1/orders/{webshopOrderId} |
| Create (Monta + local store) | POST /api/v1/orders |
| Sync from Monta | POST /api/v1/orders/{webshopOrderId}/sync |
| Import historical Monta orders | POST /api/v1/orders/import |
Creating an order asks Monta to accept the work and then stores a local copy. Listing and reading those copies should be your default view of the world.
Sync is how you deliberately pull fresher Monta status and serials into the local picture. Import is the bulk cousin of that idea — bringing historical Monta orders into your local account without re-creating them from scratch.
Optional Monta passthrough (does not update local state or drive Sparky linking):
| Action | Endpoint |
|---|---|
| List from Monta | GET /api/v1/orders/monta |
| Monta account info | GET /api/v1/orders/monta/info |
| One order from Monta | GET /api/v1/orders/monta/{webshopOrderId} |
| Order + serials from Monta | GET /api/v1/orders/monta/{webshopOrderId}/serials |
A sensible learning path
- Confirm the service is up —
GET /health. - Obtain a token —
POST /api/v1/auth/login(orPOST /api/v1/auth/register) — and confirm protected calls acceptAuthorization: Bearer <token>. - List local orders —
GET /api/v1/orders— even if empty, to prove scoping works. - Create a single test order —
POST /api/v1/orders— with a unique webshop id you control. - Sync that order —
POST /api/v1/orders/{webshopOrderId}/sync— once Monta has something useful to report, and observe how local status and serials change. - Only then consider historical import —
POST /api/v1/orders/import— or high-volume automation.
Prefer the local order model for product behavior. Direct Monta-style reads are optional.
What “done with getting started” means
You understand that:
- Chargee holds the account and the local order records.
- Monta performs warehouse fulfillment using credentials stored on that account.
- Your client authenticates with a JWT and works inside your ownership boundary.
- Sync and import refresh or backfill local truth from Monta.
- Fulfillment can trigger device linking as a Chargee-side effect, not as a mandatory client step.
After that, dig into the topic guides for deeper explanation, and use the API reference for exact request and response fields.
Updated 13 days ago