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

Get the hosted UCP presence summary

Plain-language summary plus the served profile, capabilities, and freshness declarations. Read-only in V1.

GET/stores/{store_id}/presence
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

Presence.

summarystring
product_countinteger
capabilitiesstring[]
freshness_declarationsobject
servingstring
Allowed:servingdegradedprofile_onlynot_serving
profile_urlstring<uri>

The merchant-domain well-known URL where the profile is served.

profile_reachableboolean

Whether the profile currently returns a 200 at the merchant origin.

published_versionstring

The single UCP spec version currently rendered into this store's /.well-known/ucp document. A discovery profile declares exactly one version; this is not a list.

supported_versionsstring[]

UCP spec generations Sarvex's negotiation engine can actually serve a live response in for this store today, oldest first. A platform agent may negotiate this store into any of these, not only published_version.

Try it
Server
Authorization
Parameters
Request
curl -X GET "https://api.sarvex.example.com/v1/stores/string/presence" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "summary": "Agents can see 1,840 products, your 3 shipping options, and your 30-day return policy.",
  "product_count": 0,
  "capabilities": [
    "checkout"
  ],
  "freshness_declarations": {
    "inventory": "near-real-time",
    "pricing": "near-real-time"
  },
  "serving": "serving",
  "profile_url": "https://baysidetrail.com/.well-known/ucp",
  "profile_reachable": true,
  "published_version": "2026-04-08",
  "supported_versions": [
    "2026-04-08"
  ]
}