> ## 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.

# type

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

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

## Meaning and placement

### → inputs · additionalProperties

The schema declares this field at the location below.

| Property        | Declaration                                               |
| --------------- | --------------------------------------------------------- |
| Requirement     | Required in this object                                   |
| Schema location | `/properties/inputs/additionalProperties/properties/type` |
| \$ref           | "#/\$defs/typeExpr"                                       |

**In the same object:** [default](/reference/language/words/default) · [description](/reference/language/words/description) · [required](/reference/language/words/required)

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

### → const · additionalProperties · then

The schema declares this field at the location below.

| Property        | Declaration                                                   |
| --------------- | ------------------------------------------------------------- |
| Requirement     | Optional in this object                                       |
| Schema location | `/properties/const/additionalProperties/then/properties/type` |
| \$ref           | "#/\$defs/typeExpr"                                           |

**In the same object:** [description](/reference/language/words/description) · [value](/reference/language/words/value)

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

### → outputs · additionalProperties · anyOf · 1

The output's type · the full TypeExpr of 09-types (R3b · LAW-GRAMMAR-0211 · the flat 6-enum is dead alongside the inputs half · LAW-SURFACE-0211).

| Property        | Declaration                                                        |
| --------------- | ------------------------------------------------------------------ |
| Requirement     | Optional in this object                                            |
| Schema location | `/properties/outputs/additionalProperties/anyOf/1/properties/type` |
| \$ref           | "#/\$defs/typeExpr"                                                |

**In the same object:** [description](/reference/language/words/description) · [value](/reference/language/words/value)

[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 39–48. This is a fragment, not a runnable workflow.

```yaml illustration theme={"system"}

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.
    default: "<SLOT: what the agent must accomplish>"
    description: "What the agent must accomplish"   # SLOT
```

### Templates containing this field

| Template                                    | Source                                                                                                                                            |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `templates/agent-loop.nika.yaml`            | [Line 42](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/agent-loop.nika.yaml#L42)            |
| `templates/classify-and-route.nika.yaml`    | [Line 32](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/classify-and-route.nika.yaml#L32)    |
| `templates/corpus-qa.nika.yaml`             | [Line 105](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/corpus-qa.nika.yaml#L105)           |
| `templates/document-to-fields.nika.yaml`    | [Line 67](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/document-to-fields.nika.yaml#L67)    |
| `templates/evaluate-and-optimize.nika.yaml` | [Line 44](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/evaluate-and-optimize.nika.yaml#L44) |
| `templates/media-asset-pack.nika.yaml`      | [Line 63](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/media-asset-pack.nika.yaml#L63)      |
| `templates/website-brief.nika.yaml`         | [Line 75](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/website-brief.nika.yaml#L75)         |

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:type`. Spec revision: [`c5ebbb7b862b`](https://github.com/supernovae-st/nika-spec/tree/c5ebbb7b862b68bc6cf7235efba61173b844afc6).

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