Skip to content
SarvexDocs
Esc
↑↓navigate↵open⌘Jpreview

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.

GET/stores/{store_id}/activation
Authorization
AuthorizationBearer token (JWT) · headerrequired

JWT 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.

Path parameters
store_idstringrequired

A store the caller's merchant owns. Authorized server-side against the principal; not a free-form tenant selector.

Responses
200

Activation state with per-step detail.

store_idstringrequired
ucp_stateucp_staterequired

The 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.

Allowed:draftconnector_linkedprofile_publishedverifiedactivesuspended
capabilitiesstring[]required

UCP capability identifiers the store declares. Drawn from the canonical set only, never free-form.

profile_urlstring<uri>
signing_key_idstring

Reference to the store's active keypair. The reference only — no key material crosses this boundary.

verified_atstring<date-time>
suspension_reasonstring

i18n key. Store-level causes only (conformance regressed, sustained critical health) — no surface can suspend a store.

entered_state_atstring<date-time>required
stepsactivation_step[]required
Show properties
Array of activation_step
stateucp_staterequired

The 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.

Allowed:draftconnector_linkedprofile_publishedverifiedactivesuspended
reachedbooleanrequired

True 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>
blockingstring

i18n key explaining what is holding the store here. Populated only for the step it is currently working toward.

historyactivation_history_entry[]required
Show properties
Array of activation_history_entry
stateucp_staterequired

The 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.

Allowed:draftconnector_linkedprofile_publishedverifiedactivesuspended
entered_atstring<date-time>required
last_verificationobject | null

The 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 properties
passedbooleanrequired
ucp_stateucp_staterequired

The 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.

Allowed:draftconnector_linkedprofile_publishedverifiedactivesuspended
checksverification_check[]required
Show properties
Array of verification_check
check_idstringrequired
passedbooleanrequired
detailstring
ran_atstring<date-time>required
404

Resource not found within the caller's tenant.

errorobjectrequired
Show properties
codestringrequired
messagestringrequired
detailsobject | null
Try it
Server
Authorization
Parameters
Request
curl -X GET "https://api.sarvex.example.com/v1/stores/string/activation" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "store_id": "string",
  "ucp_state": "draft",
  "capabilities": [
    "string"
  ],
  "profile_url": "http://example.com",
  "signing_key_id": "string",
  "verified_at": "2019-08-24T14:15:22Z",
  "suspension_reason": "string",
  "entered_state_at": "2019-08-24T14:15:22Z",
  "steps": [
    {
      "state": "draft",
      "reached": true,
      "reached_at": "2019-08-24T14:15:22Z",
      "blocking": "string"
    }
  ],
  "history": [
    {
      "state": "draft",
      "entered_at": "2019-08-24T14:15:22Z"
    }
  ],
  "last_verification": {
    "passed": true,
    "ucp_state": "draft",
    "checks": [
      {
        "check_id": "string",
        "passed": true,
        "detail": "string"
      }
    ],
    "ran_at": "2019-08-24T14:15:22Z"
  }
}