# `mix onchain.manifest`
[🔗](https://github.com/ZenHive/onchain-stack/blob/onchain-v0.16.0/packages/onchain/lib/mix/tasks/onchain.manifest.ex#L1)

Generates a static `api_manifest.json` from the library's descripex annotations.

The manifest is a JSON-serializable representation of every public function
in the library — params, return types, errors, specs, and descriptions.
Suitable for downstream codegen (generated contract bindings), agent
discovery, validators, and contract-stability diffs across onchain version
bumps.

    mix onchain.manifest
    mix onchain.manifest path/to/output.json
    mix onchain.manifest --check
    mix onchain.manifest --check path/to/output.json

`--check` regenerates the manifest in memory and compares it against the
committed file, ignoring only `generated_at`. Exits non-zero with a
readable diff when they differ. Wired into `mix ci` so a descripex
upgrade or an `api()` edit cannot silently drift the artifact.

Uses `Onchain.ABI.__descripex_modules__/0` as the single source of truth for which
modules to include. Output defaults to `api_manifest.json` in the project root.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
