---
title: "axiom flow mapping-scope"
description: "Show the CEL variables and functions in scope for an edge mapping"
category: reference
surfaces: [cli]
related: [reference/cli/axiom-flow]
last_reviewed: 2026-06-06
---

<!-- GENERATED by docs/scripts/gen-cli-reference — DO NOT EDIT.
     Source of truth: the cobra command definitions in cmd/axiom/cmd/.
     Regenerate from the repo root with: go run ./docs/scripts/gen-cli-reference -->

# axiom flow mapping-scope

Show the CEL variables and functions in scope for an edge mapping

Introspect the CEL authoring surface before writing a mapping: which
variables are in scope for a concrete edge, and which functions/macros the
platform's CEL environment provides.

With --edge, prints the edge's in-scope variables with their types:

```text
axiom flow mapping-scope --edge from:to
```

For a plain single-source edge that is "value" (the piped input) plus every
scalar field of the source message, bound by name, plus every repeated
*message* field (typed as a dynamic value) whose indexed nested scalars are
addressable as "field[0].<scalar>" — so an edge over a source with a repeated
"regions" message field lists "regions[0].x" and its sibling scalar leaves as
in-scope, letting an adapter address one element's scalar ("regions[0].x").
Singular nested message fields and repeated scalar fields are not surfaced on
this single-source path. When the edge's target joins several sources (a compose
mapping or multiple incoming edges), the typed "inputs.<edge>.<path>" leaves
of every incident edge are also in scope — note an edge id that is not a
legal CEL identifier (e.g. containing hyphens) cannot be referenced that way
and is omitted, exactly as the compiler omits it.

Without --edge, prints just the function manifest.

The function manifest is fetched from the registry (GET /v1/cel/manifest) and
is derived from the live CEL environment — the same surface the compiler and
worker evaluate, versioned by env_version.

--json emits the machine contract {"edge","variables","manifest"} for agents;
recommended loop: mapping-scope -> author -> "axiom flow preview" -> compile.
Requires a prior "axiom login". Defaults to ./flow.yaml.

## Usage

```sh
axiom flow mapping-scope [flow.yaml] [flags]
```

## Flags

| Flag | Shorthand | Type | Default | Description |
|---|---|---|---|---|
| `--edge` |  | string |  | Edge to introspect, given as "from:to" node aliases |
| `--help` | `-h` | bool |  | help for mapping-scope |
| `--json` |  | bool |  | Emit the machine-readable {edge, variables, manifest} object |

## See also

- [axiom flow](./axiom-flow.md) — Author and compile flows (graphs of published nodes)
