Publish version
Publishes a new version of an existing custom schema. Requires the admin:schemas:write scope. Versions are system-assigned integers; every publication creates a new, immutable version, even for an identical document. Built-in schemas cannot be published to. Validation and rate limit match registration. A published version can be bound by a ruleset as soon as the response returns.
Authorizations
HS256-signed JWT bearer token, obtained via the OAuth2 client-credentials grant (see Authentication).
Path Parameters
Schema name
Body
The JSON Schema document for the new version (same format as SchemaVersion.document).
When true (default), velocity counters (including cardinality member sets) carry over from the previous version — per field path, and only when the path exists in both versions with an identical declared x-specter-type and x-data-classification; any divergence starts fresh state for that path. When false, rulesets bound to the new version count from zero; earlier versions keep their counters. Blacklist entries are global and not affected. Whole-version toggle; baked into the version at publication; immutable thereafter.
Response
Published version
Whether velocity counters (including cardinality member sets) carry over from the previous version. State carries per field path only when all three hold — the path exists in both versions, its declared x-specter-type is identical, and its x-data-classification is identical; a renamed path, retyped field, or re-classified scope starts fresh state under the new version regardless of this flag. When false, rulesets bound to this version count from zero — counters of earlier versions are untouched and keep serving the rulesets bound to them. Blacklist entries are not versioned — they are global and unaffected by this flag. Whole-version toggle, fixed at publication and immutable thereafter. Always true for version 1.
Null for version 1 of a built-in schema, which ships with the platform.
The JSON Schema document. Each field carries x-specter-type (one of the 23 entries of the type vocabulary — string, integer, number, boolean, email, iban, country-code, currency-code, language-code, date, datetime, url, uuid, phone, ip, amount, pan, masked-pan, scheme-enum, card-funding-type-enum, card-segment-enum, object, array) and optionally x-data-classification (any — the default — pii, pci-pan, pci-sad). A pan field is always pci-pan; masked-pan defaults to pii. Types validate the decision payload at ingestion; markers drive the PCI gate, redaction, and retention. See Schemas.
"customer-registration"
active, deprecated System-assigned monotonic integer per schema, starting at 1. Merchants never choose it.
2