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

# Your first decision

> Run a real, audited eligibility decision against the live API. No signup, no Aethis key, no model-provider key.

<Note>
  `api.aethis.ai` serves engine **0.49.1**, which is the contract these pages
  describe; every response carries `engine_version` so you can confirm which
  build answered you.
  [What the deployed engine serves](/reference/deployed-contract).
</Note>

One command. No account, no API key, no model-provider key, nothing installed
beyond `curl`. It returns a real decision from the production engine.

<Note>
  This is the **evaluate** tier, and it is open to everyone. Authoring and
  publishing your own rules is a separate, invite-only tier —
  [what the two tiers are](/reference/capabilities).
</Note>

## Decide

```bash theme={null}
curl -sS -X POST https://api.aethis.ai/api/v1/public/decide \
  -H "Content-Type: application/json" \
  -d '{
    "ruleset_id": "aethis/uk-fsm/child-eligibility",
    "field_values": { "child.age": 10, "child.school_type": "state_funded" }
  }'
```

You get back a decision plus the audit envelope that makes it replayable:

```json theme={null}
{
  "decision": "eligible",
  "slug": "aethis/uk-fsm/child-eligibility",
  "decision_id": "dec_GjBMU4o8sNvNRmaR",
  "inputs_hash": "sha256:75c958f1a3d72335ccf67c7d5e32f58b57966e0873786843c353b09f787c5ec2",
  "fields_provided": 2,
  "fields_evaluated": 2,
  "field_errors": null
}
```

That is a Free School Meals child-eligibility check, compiled from the
governing guidance and evaluated as formal logic. No language model ran. Send
the same inputs again and you get the same `inputs_hash` and the same
`decision`, every time.

<Tip>
  **Read `field_errors` before `decision`.** Misspell a field — change
  `"child.age"` to `"child.aeg"` — and the response comes back with that key
  in `field_errors`.

  On the deployed engine you will still see `"decision": "eligible"` beside it,
  because the missing `child.age` is not required for this particular route
  through the rules. That combination is exactly what the release candidate
  removes: a blocking input error will force `"undetermined"`. Until it lands,
  **check `field_errors` yourself** and never treat a decision as terminal
  while it is non-empty.
</Tip>

## Ask what a ruleset expects

You do not have to guess the field names. Every public ruleset publishes its
input contract:

```bash theme={null}
curl -sS https://api.aethis.ai/api/v1/public/rulesets/aethis/uk-fsm/child-eligibility/schema
```

## See what else is live

```bash theme={null}
curl -sS https://api.aethis.ai/api/v1/public/rulesets
```

Every currently-active public ruleset, with its slug, description and rule
count. Pick another slug, go back to the first command, change one string.

## What you just used

* **No key.** Decisions, schemas, explanations and graphs on published public
  rulesets are open. Anonymous callers are rate-limited per client; the
  budgets are on the [REST API page](/interfaces/rest-api#anonymous-budgets).
* **No model provider.** Nothing in this path calls a language model. Models
  are used once, at authoring time, to propose the logic; the decision itself
  is compiled rule evaluation.
* **A real audit trail.** `decision_id` and `inputs_hash` identify the call,
  and `ruleset_id` identifies the published rules that produced it. The
  envelope also carries a resolved `ruleset_version` and a `content_digest` that
  pins the exact rule content, both served today. Store `decision_id` and
  `inputs_hash` at minimum, and `content_digest` if you need to prove which
  published rules answered.

## Next

<CardGroup cols={2}>
  <Card title="Show the reasoning" icon="list-tree" href="/interfaces/rest-api#trace-explanation-and-source-references">
    Add `include_trace` or `include_explanation` and get the per-criterion
    working, plus the verbatim clause each criterion cites.
  </Card>

  <Card title="More live rulesets" icon="terminal" href="/getting-started/try-it">
    Spacecraft certification, construction insurance, consumer credit — all
    anonymous, all copy-pasteable.
  </Card>

  <Card title="Pick an interface" icon="plug" href="/interfaces/which-to-use">
    The same call from the CLI, the Python SDK, or your coding agent over MCP.
  </Card>

  <Card title="Author your own rules" icon="pen-ruler" href="/reference/capabilities">
    Compiling your own source documents into rules is invite-only. Here is
    what that tier includes and how to request it.
  </Card>
</CardGroup>
