> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentvolumes.org/llms.txt
> Use this file to discover all available pages before exploring further.

# External dependency declaration keys

> Stable Agent Volumes declaration key syntax and canonical input for external dependency declarations.

External dependency declaration keys use the `av-extdep-v1` prefix and an OCI-style SHA-256 digest syntax.

```text theme={null}
av-extdep-v1:sha256:<lowercase-hex-sha256>
```

The digest input is the JCS canonical UTF-8 JSON object with exactly `purl`, `purpose`, and `scope`.

## Canonical input

* Volume scope is encoded as `{ "kind": "volume" }`.
* Component scope is encoded as `{ "components": [...] }` with sorted component names.
* The input includes `purl`, `purpose`, and `scope` only.
* The input excludes `constraint`, warning payloads, advisory matches, resolved evidence, carrier wrapper fields, array positions, comments, and whitespace.

## Related sources

* [External dependencies](/spec/0.1.0-rc.1/volumes/dependencies)
* [PURL and VERS compatibility exceptions](/spec/0.1.0-rc.1/uri-publications/purl-vers-compatibility-exceptions)
* [ADR-0143](https://github.com/agent-volumes/agent-volumes-spec/blob/main/docs/decisions/0143-use-oci-style-digest-syntax-for-external-dependency-declaration-keys.md)
* [ADR-0146](https://github.com/agent-volumes/agent-volumes-spec/blob/main/docs/decisions/0146-use-jcs-canonical-json-for-external-dependency-declaration-key-input.md)
