# What does Provely do with a provider version?

> Provely tracks the provider API version, the event payload version, the SDK version, the protocol version, and the agent host version, each on its own.

Canonical: https://provely.sh/docs/version-support  
Last reviewed: 2026-09-05  

**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_versions` covers 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](/glossary/drift).

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

## Read next

- [Read what a completion contract contains](https://provely.sh/contracts)
- [See the supported provider versions of each service](https://provely.sh/verify)
- [Read the drift definition](https://provely.sh/glossary/drift)
