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

# permits

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

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

## Meaning and placement

### document

The declared capability boundary · once present every category is default-deny unless listed (spec/01-envelope.md §permits · NIKA-SEC-004).

| Property             | Declaration             |
| -------------------- | ----------------------- |
| Requirement          | Optional in this object |
| Schema location      | `/properties/permits`   |
| type                 | "object"                |
| additionalProperties | false                   |

**In the same object:** [const](/reference/language/words/const) · [inputs](/reference/language/words/inputs) · [model](/reference/language/words/model) · [nika](/reference/language/words/nika) · [outputs](/reference/language/words/outputs) · [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 47–56. This is a fragment, not a runnable workflow.

```yaml illustration theme={"system"}
    default: "<SLOT: what the agent must accomplish>"
    description: "What the agent must accomplish"   # SLOT

permits:                            # the blast radius · default-deny once present
  # Exactly what the body invokes: `nika:assert` (the confirm task) plus the
  # two the agent may call. No `fs:` — see the note on `tools:` below.
  tools: ["nika:assert", "nika:done", "nika:jq"]

tasks:
  plan:
```

### Templates containing this field

| Template                                    | Source                                                                                                                                            |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `templates/agent-loop.nika.yaml`            | [Line 50](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/agent-loop.nika.yaml#L50)            |
| `templates/api-upload-and-create.nika.yaml` | [Line 51](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/api-upload-and-create.nika.yaml#L51) |
| `templates/chain.nika.yaml`                 | [Line 36](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/chain.nika.yaml#L36)                 |
| `templates/classify-and-route.nika.yaml`    | [Line 73](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/classify-and-route.nika.yaml#L73)    |
| `templates/corpus-qa.nika.yaml`             | [Line 28](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/corpus-qa.nika.yaml#L28)             |
| `templates/docker-report.nika.yaml`         | [Line 38](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/docker-report.nika.yaml#L38)         |
| `templates/document-to-fields.nika.yaml`    | [Line 34](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/document-to-fields.nika.yaml#L34)    |
| `templates/etl-state.nika.yaml`             | [Line 54](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/etl-state.nika.yaml#L54)             |
| `templates/evaluate-and-optimize.nika.yaml` | [Line 36](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/evaluate-and-optimize.nika.yaml#L36) |
| `templates/fanout.nika.yaml`                | [Line 70](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/fanout.nika.yaml#L70)                |
| `templates/gate-and-act.nika.yaml`          | [Line 32](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/gate-and-act.nika.yaml#L32)          |
| `templates/human-gated-ship.nika.yaml`      | [Line 60](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/human-gated-ship.nika.yaml#L60)      |
| `templates/media-asset-pack.nika.yaml`      | [Line 39](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/media-asset-pack.nika.yaml#L39)      |
| `templates/website-brief.nika.yaml`         | [Line 41](https://github.com/supernovae-st/nika-spec/blob/c5ebbb7b862b68bc6cf7235efba61173b844afc6/templates/website-brief.nika.yaml#L41)         |

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

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