Provely supports more than one version of each external API. It tracks five version dimensions separately and records the versions in effect for each operation in the receipt. An unsupported version returns UNVERIFIABLE.
| Dimension | Example | Where it is recorded |
|---|---|---|
| Provider API version | 2026-08-26 for Stripe, 2025-07 for Shopify | The contract valid_for and the receipt. |
| Event payload version | The api_version on a webhook event | The contract valid_for.event_payload_versions. |
| Provider SDK version | The Stripe or Resend client library | The receipt versions.provider_sdk_version. |
| Protocol version | OpenAPI 3.1, GraphQL, MCP | The registry key of the ingester or the adapter. |
| Agent host version | Claude Code 2.1.261 | The integration profile host_versions. |
The runtime never falls back to "latest". An unsupported version returns the reason version_unsupported.
What happens on a version the skill does not support?
- The runtime returns UNVERIFIABLE with the reason
version_unsupported. It does not guess. - A registry lookup with no match is an error, not a fallback.
- A contract that declares no
valid_for.provider_api_versionscovers no known provider version. - An overlay states the difference between two versions as a merge patch. It can add a condition. It cannot remove one or weaken the evidence policy.
What happens when a provider changes?
The drift monitor fingerprints the schemas, the documentation, and the observed behaviour. It classifies a change as cosmetic, additive, contract-affecting, or breaking. It recompiles only the affected contracts, runs targeted conformance, and signs a new skill version. When uncertainty rises, the certification goes down. It never rises automatically. Read the drift definition.
Can one contract cover two provider versions?
Yes. The contract states a version range in valid_for and puts each difference in an overlay. There is never one copy of a contract per version.
Where do I see the version that decided my operation?
In the receipt, under versions. The dashboard shows the same values on the operation detail page.