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

# inputs

> Contract, placement, related fields and source examples for this Nika YAML field.

[Language reference](/reference/language/overview) / `inputs`

## Meaning and placement

### document

Typed workflow inputs · `$&#123;&#123; inputs.X &#125;&#125;` · the parameters an author declares and a caller supplies. Each entry is a typed declaration whose `type:` speaks the full TypeExpr of 09-types (R3b · LAW-GRAMMAR-0211 · the flat 6-enum is dead · LAW-SURFACE-0211). The typed half of the dead `vars:` block (R3a · LAW-SURFACE-0201) · a `required: true` value lands here per the E-split total rule.

| Property             | Declaration                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Requirement          | Optional in this object                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Schema location      | `/properties/inputs`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| type                 | "object"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| additionalProperties | \{"type": "object", "additionalProperties": false, "required": \["type"], "properties": \{"type": \{"$ref": "#/$defs/typeExpr"}, "required": \{"type": "boolean", "description": "The caller MUST supply a value (no default is consulted)."}, "default": \{"description": "The value used when the caller supplies none · MUST conform to `type:` (R3b · LAW-TYPE-0211 · NIKA-DEFAULT-001 · the P0 soundness hole is closed at check)."}, "description": \{"description": "Free-form prose about this input · what a caller is being asked for. Documentation only — the contract is `type` and `required`.", "type": "string"}}} |

**In the same object:** [const](/reference/language/words/const) · [model](/reference/language/words/model) · [nika](/reference/language/words/nika) · [outputs](/reference/language/words/outputs) · [permits](/reference/language/words/permits) · [run](/reference/language/words/run) · [secrets](/reference/language/words/secrets) · [tasks](/reference/language/words/tasks)

[Schema source (use the pointer above)](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/schemas/workflow.schema.json)

## In a source template

Excerpt from `templates/agent-loop.nika.yaml`, source lines 37–46. This is a fragment, not a runnable workflow.

```yaml illustration theme={"system"}
# stamp leaves `mock/echo`, the offline path this file guarantees.
model: mock/echo

inputs:
  goal:
    type: string
    required: true
    # A `required:` input still carries a `default:` here so the skeleton
    # RUNS the moment it is scaffolded. Replace the default with your job;
    # `--var goal=…` overrides it at any time.
```

### Templates containing this field

| Template                         | Source                                                                                                                                 |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `templates/agent-loop.nika.yaml` | [Line 40](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/agent-loop.nika.yaml#L40) |

These are literal key occurrences in the source files, not an execution or conformance claim. [How to instantiate a template](/guides/templates).

## Contract and implementation

This page projects the named specification revision. Check [released engine status](/reference/status) and [the validation workflow](/guides/agent-authoring) before running a file. An optional field is not evidence that every engine supports every value.

Canonical identity: `language:word:inputs`. Spec revision: [`c5ebbb7b862b`](https://github.com/supernovae-st/nika-spec/tree/c5ebbb7b862b68bc6cf7235efba61173b844afc6).

[How documentation stays connected](/reference/knowledge-system).
