Get the store's UCP activation state
Returns the store’s position in its own activation lifecycle, per-step detail (which steps it has reached and when), and the blocking reason for the step it is currently working toward.
/stores/{store_id}/activationAuthorizationBearer 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.
store_idstringrequiredA store the caller's merchant owns. Authorized server-side against the principal; not a free-form tenant selector.
Activation state with per-step detail.
store_idstringrequireducp_stateucp_staterequiredThe store's own UCP activation lifecycle (internal/planes/control/activation).
No value here references an agent surface — active means the store's endpoints
are live and monitored, not that any distribution partner has approved it.
draftconnector_linkedprofile_publishedverifiedactivesuspendedcapabilitiesstring[]requiredUCP capability identifiers the store declares. Drawn from the canonical set only, never free-form.
profile_urlstring<uri>signing_key_idstringReference to the store's active keypair. The reference only — no key material crosses this boundary.
verified_atstring<date-time>suspension_reasonstringi18n key. Store-level causes only (conformance regressed, sustained critical health) — no surface can suspend a store.
entered_state_atstring<date-time>requiredstepsactivation_step[]requiredShow propertiesHide properties
activation_stepstateucp_staterequiredThe store's own UCP activation lifecycle (internal/planes/control/activation).
No value here references an agent surface — active means the store's endpoints
are live and monitored, not that any distribution partner has approved it.
draftconnector_linkedprofile_publishedverifiedactivesuspendedreachedbooleanrequiredTrue once the store has occupied this state at least once. Answered from history, not from the current state, so a store that regressed still reports the ground it covered.
reached_atstring<date-time>blockingstringi18n key explaining what is holding the store here. Populated only for the step it is currently working toward.
historyactivation_history_entry[]requiredShow propertiesHide properties
activation_history_entrystateucp_staterequiredThe store's own UCP activation lifecycle (internal/planes/control/activation).
No value here references an agent surface — active means the store's endpoints
are live and monitored, not that any distribution partner has approved it.
draftconnector_linkedprofile_publishedverifiedactivesuspendedentered_atstring<date-time>requiredlast_verificationobject | nullThe most recent verification run, absent until the store has been verified once. Present here because verification normally runs as part of a pre-validation run rather than by a direct call to POST .../activation/verify, so this is where a client reads the check results back from.
Show propertiesHide properties
passedbooleanrequireducp_stateucp_staterequiredThe store's own UCP activation lifecycle (internal/planes/control/activation).
No value here references an agent surface — active means the store's endpoints
are live and monitored, not that any distribution partner has approved it.
draftconnector_linkedprofile_publishedverifiedactivesuspendedchecksverification_check[]requiredShow propertiesHide properties
verification_checkcheck_idstringrequiredpassedbooleanrequireddetailstringran_atstring<date-time>requiredResource not found within the caller's tenant.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequireddetailsobject | null