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

Get the merchant's validation status

Pre-validation is Sarvex’s own suite against the store’s UCP endpoints, with the spec version targeted. sandbox/production are always not_submitted — they are external verdicts Sarvex does not run; kept on the schema for compatibility rather than removed.

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

Validation status.

pre_validationstring
Allowed:not_runpassingfailing
sandboxstring
Allowed:not_submittedpendingpassedfailed
productionstring
Allowed:not_submittedpendinglive
target_spec_versionstring
last_run_atstring<date-time> | null
open_failuresvalidation_failure[]
Show properties
Array of validation_failure
requirementstring
spec_sectionstring
expectedobject
receivedobject
summarystring
Try it
Server
Authorization
Parameters
Request
curl -X GET "https://api.sarvex.example.com/v1/stores/string/validation/status" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "pre_validation": "not_run",
  "sandbox": "not_submitted",
  "production": "not_submitted",
  "target_spec_version": "ucp-2026-05",
  "last_run_at": "2019-08-24T14:15:22Z",
  "open_failures": [
    {
      "requirement": "checkout.session.create",
      "spec_section": "§4.2.1",
      "expected": {},
      "received": {},
      "summary": "string"
    }
  ]
}