Response times

Response time is mostly a story about where the work happens. Some calls stay inside Chargee. Others wait on Monta — and occasionally on Amber after fulfillment. Understanding that split is more useful than a single “the API is fast/slow” label.

Two kinds of work

Local work authenticates you and reads or writes Chargee’s own database. Listing your orders or fetching one you already store falls here. Latency is dominated by network and database load; there is no warehouse round trip.

Warehouse-backed work must talk to Monta before it can finish. Creating an order, syncing status and serials, importing history, and direct Monta-style reads all pay Monta’s latency. Sync is especially heavy because refreshing a single order typically needs both order detail and serial information — two warehouse calls, not one.

When a sync is the moment an order first becomes fulfilled, Chargee may also attempt Sparky-to-group linking via Amber. That linking is best-effort relative to the order update: timeouts or linking problems are handled server-side and should not be confused with “the order failed to sync” in every case.

Upstream patience

Chargee waits a bounded time for Monta (on the order of ten seconds per warehouse HTTP call) and a shorter bound for each Amber device operation (a few seconds). Those caps protect the service from hanging forever, but they also define a worst-case window your HTTP client should be prepared to outlive — especially for sync and import.

Import and background sync can perform many warehouse calls inside one logical job. A single import request may therefore run much longer than a simple list call. That is expected: you are asking Chargee to walk history, not to return a cached page.

How to plan client timeouts

Use short timeouts for health and pure local reads. Use substantially more generous timeouts for create, sync, import, and anything that proxies Monta. Prefer refreshing UI state from local lists, and sync when you truly need fresher warehouse truth. When the shared Monta budget is exhausted, you will see rate-limit errors rather than endless waits — back off instead of hammering.

The guidance above is an operational explanation of why some calls feel instantaneous and others feel like they are waiting on the warehouse — not a performance commitment.


Did this page help you?