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.

StepEndpoint
Sign inPOST /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.

ActionEndpoint
List local ordersGET /api/v1/orders
Get one local orderGET /api/v1/orders/{webshopOrderId}
Create (Monta + local store)POST /api/v1/orders
Sync from MontaPOST /api/v1/orders/{webshopOrderId}/sync
Import historical Monta ordersPOST /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):

ActionEndpoint
List from MontaGET /api/v1/orders/monta
Monta account infoGET /api/v1/orders/monta/info
One order from MontaGET /api/v1/orders/monta/{webshopOrderId}
Order + serials from MontaGET /api/v1/orders/monta/{webshopOrderId}/serials

A sensible learning path

  1. Confirm the service is up — GET /health.
  2. Obtain a token — POST /api/v1/auth/login (or POST /api/v1/auth/register) — and confirm protected calls accept Authorization: Bearer <token>.
  3. List local orders — GET /api/v1/orders — even if empty, to prove scoping works.
  4. Create a single test order — POST /api/v1/orders — with a unique webshop id you control.
  5. Sync that order — POST /api/v1/orders/{webshopOrderId}/sync — once Monta has something useful to report, and observe how local status and serials change.
  6. 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.


Did this page help you?