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

# Action spaces & payloads

> What an action is, and what your game receives.

## Action definitions

An action definition is one decision point with a fixed set of candidate actions: a `Tutorial` definition might offer `Short`, `Medium`, and `Long`. The model's job is choosing among those keys per player. Two safeties guard it: the dashboard's default action, which code generation bakes into `PioActions.All` as each definition's fallback, and the code-registered `FallbackAction` served when the backend is unreachable.

Start small. A decision point with three to five meaningfully different actions learns faster than one with twenty near-duplicates, and the space can grow later.

## Payloads

Each action option can carry a payload: named, typed parameters (numbers, text, flags, arrays) edited in the dashboard and delivered with the decision. The model still chooses among the same option keys; the payload is opaque to training. That split is the point: the *shape* of the decision is fixed in code, while the numbers driving it are retuned server-side with no client release and no retraining.

Payloads are versioned, and every client read degrades safely: a missing payload, key, or type mismatch returns your compiled-in default. [Decisions](/integration/decisions) shows the read patterns; the [API reference](/api-reference) documents the generated typed classes.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.