# OCI manifest

> Tag 0: the server asks the client for the manifest of an image the client holds, by digest, when its registry lacks it; the client answers with at most one channel response, the media type and the bytes; the server verifies the bytes against the digest.

Canonical: https://provider.diverge.network/2.3.0/endpoints/containers-tools-run/server/oci-manifest/
Specification revision: 2.3.0

The server opens this channel when the image of the request is of
kind `client` and its registry does not hold a manifest that the pull
requires, including the manifest of the platform an index names.

- **When.** Between the request and the deploy, and at most once per
  digest per run.
- **The request.** The tag byte `0` followed by the digest as JSON.
  [Request](/2.3.0/endpoints/containers-tools-run/server/oci-manifest/request/) states its form.
- **The response.** At most one channel response, the media type and
  the manifest verbatim, and the channel response finish.
  [Response](/2.3.0/endpoints/containers-tools-run/server/oci-manifest/response/) states the
  sequence.
- **Verification.** The server computes the digest of the bytes it
  receives and stores and serves them only when it equals the digest
  asked for. Bytes that do not match, and a finish with no channel
  response, are the run's error.
