List all merchants by journey state (the board)
Operator-only. Requires operator role; does not use X-Operate-As.
/operator/boardAuthorizationBearer token (JWT) · headerrequiredJWT issued by the external IdP via the OAuth 2.0 authorization-code flow (Kinde in
production; a simulator in test). The client obtains it and sends it as a Bearer token on
every authenticated call. Sarvex's services verify it — issuer, audience, signature
(IdP JWKS), expiry — and read identity and tenant from its claims. Sarvex does not issue
or revoke these tokens. merchant_id/store_id are read from the verified claims (and the
merchant→store mapping), never from the URL. The operator scope is required for
/operator/*. Operators acting on a specific merchant pass the X-Operate-As header,
which is recorded in the audit log.
operatorstatejourney_stateconnectedsyncedreadyliveattentionbooleanFilter to merchants that are blocked or stale.
Board cards.
databoard_card[]requiredShow propertiesHide properties
board_cardmerchant_idstringstore_idstringThe store whose journey state this card reflects (V1 is one store per merchant).
namestringstatejourney_stateconnectedsyncedreadylivedays_in_stateintegeropen_task_countsobjectShow propertiesHide properties
merchantintegersarvexintegerexternalintegerblockedbooleanstalebooleanpagepagerequiredShow propertiesHide properties
cursorstring | nullrequiredhas_morebooleanrequiredAuthenticated but not permitted (e.g. non-operator on an operator route).
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequireddetailsobject | null