Ops

2 operations. Every schema and example on this page is generated from the platform contract.

The operator merchant list: every store with its live status and real activity counts.

Every store on the platform, name, code, template, test marking, lifecycle status, billing status, resolved served state, whether the operator kill switch holds it closed, and real per-store activity counts (stamps, orders, current members). Operator-only; feeds the Membber HQ Operations surface.

Response, 200

storesarray of objectrequired
16 child fields
idstringrequired
namestringrequired
codestringrequired
store_templatestringrequired

'gym' or a standard template.

is_testbooleanrequired
is_activebooleanrequired
statusstringrequired

stores.status: draft | invited | claimed | live | paused.

billing_statusstring, nullablerequired
pause_reasonstring, nullablerequired

'platform' = closed by the Membber operator; 'non_payment' = the billing pause.

served_statestringrequired

What a customer is currently served, from the ONE resolver every customer surface uses: live | renewing | paused | own_app_paused | dark | not_live.

operator_closedbooleanrequired

True when the kill switch holds this store closed (is_active with status=paused).

stamp_countnumberrequired

Total stamp rows ever collected at this store.

order_countnumberrequired

Total orders ever placed at this store.

member_countnumberrequired

Current gym members (active/trialing/past_due/frozen), deleted customers excluded.

last_activity_atstring, nullablerequired

ISO timestamp of the newest stamp/order/membership.

created_atstring, nullablerequired
curl -G "https://www.membber.com/api/v1/ops/stores" \
  -H "Authorization: Bearer $MEMBBER_TOKEN"
Response, 200
{
  "stores": [
    {
      "id": "00000d1b-0000-4000-8000-d0c500000000",
      "name": "Example name",
      "code": "EXAMPLE10",
      "store_template": "<store_template>",
      "is_test": true,
      "is_active": true,
      "status": "<status>",
      "billing_status": "<billing_status>",
      "pause_reason": "Added at the front desk",
      "served_state": "<served_state>",
      "operator_closed": true,
      "stamp_count": 1,
      "order_count": 1,
      "member_count": 1,
      "last_activity_at": "<last_activity_at>",
      "created_at": "<created_at>"
    }
  ]
}

Close a store to customers (operator kill switch), or reopen an operator-closed one.

OFF (off=true) writes status='paused' + pause_reason='platform': discovery hides the store from new customers, every activity endpoint refuses new writes with a kind message, prior customers keep a grayed read-only card, and the merchant's Business-app access is untouched. ON (off=false) reverses ONLY an operator pause, it can never publish a store that was not live. Naturally idempotent; every toggle is audited.

Parameters

idstringpathrequired

Request body

offbooleanrequired

true = CLOSE the store to customers (pause). false = REOPEN (only reverses an operator pause).

reasonstringoptional

Optional operator note, recorded in the audit log.

Response, 200

okbooleanrequired
store_idstringrequired
statusstringrequired
offbooleanrequired
pause_reasonstring, nullablerequired
curl -X POST "https://www.membber.com/api/v1/ops/stores/00000d1b-0000-4000-8000-d0c500000000/killswitch" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "off": true
  }'
Response, 200
{
  "ok": true,
  "store_id": "6659c139-0000-4000-8000-d0c500000066",
  "status": "<status>",
  "off": true,
  "pause_reason": "Added at the front desk"
}
WhatsApp
Book a Call
Start Free