---
title: "Read Redditi Guide"
method: GET
path: "/api/autopilot/redditi"
tags: ["autopilot"]
---

# Read Redditi Guide

`GET /api/autopilot/redditi`

## Request

- Base URL: `https://api.taxcompass.it` (the document declares no server; this is the origin it was published from)
- URL: `https://api.taxcompass.it/api/autopilot/redditi`
- Auth: HTTP bearer

Which rigo of Redditi PF each of this year's figures goes in (AP-072d).

A reading aid, not a return: the autopilot files nothing, and every entry
carries the sentence of the istruzioni that puts the number in that box so the
user can check it rather than trust it. The figures themselves are
``it_annual``'s — the same position ``/deadlines`` and ``/f24`` are composed
from — because the one thing worse than no walkthrough is one that tells you
to declare a number you are not paying.

``tax_year`` is **required**, as on ``/redditi/session`` and for its reason: a
return is filed for a year that has finished, so the server's clock would
silently open the wrong filing.

The refusals are ``/deadlines``' — no profile, regime ordinario, an IVS
scheme, a profile without rate and coefficient, an uncovered year — plus the
three this walkthrough alone can earn, all of them naming what the caller
changes: no ATECO code anywhere, a profile coefficient that disagrees with the
activities the payments are attributed to, and more activity groups than
LM22–LM27 has rows.

## Query parameters

- `tax_year` integer, required

## Response `200`

Successful Response

- RedditiGuide: ``GET /api/autopilot/redditi`` — the walkthrough for one filing (AP-072d). ``model_year`` is the Redditi PF model whose rigo addresses these entries use, which is not the tax year: the Agenzia renumbers righi between models, so a client showing a guide for tax year 2026 needs to say which model's boxes it is pointing at. ``readiness`` is false while any warning stands and is never a gate — the payload is complete either way. It answers "is every figure below computed from complete data?", and the warnings say what is missing. Today one of them always stands, because nothing in the product records contributi paid, so no filing reads as ready until the user supplies that figure themselves. A flag that said otherwise would be telling someone their return is finished while its base is missing the deduction L. 190/2014 art. 1 c. 64 gives them.
  - `tax_year` integer, required
  - `model_year` integer, required
  - `readiness` boolean
  - `warnings` string[]
  - `sections` RedditiSection[]
    - `quadro` string, required
    - `title` string, required
    - `righi` RedditiRigo[]
      - `quadro` string, required
      - `rigo` string, required
      - `colonna` integer, required
      - `value` union, required
        - string
        - string
      - `label` string, required
      - `explanation` string, required
      - `citation` RigoCitation, required: Where one box's number comes from — the wire shape of ``it_params.Citation``. A schema of its own rather than the dataclass serialised: ``app.schemas`` may not import ``app.tax``'s internals into its field types, and the two supersession fields of the dataclass are table maintenance rather than anything a reader of the walkthrough acts on. What travels is the four things that let someone re-check the number themselves — publisher, human reference, the URL that was fetched and the date it was read — plus the sentence of the istruzioni the entry relies on.
        - `source` string, required
        - `reference` string, required
        - `url` string, required
        - `verified_on` string, required
        - `note` string
  - `unmodelled_righi` RedditiUnmodelledRigo[]
    - `rigo` string, required
    - `description` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/taxcompass/apis/taxcompass-api.md) · [All operations](https://skmtc.dev/taxcompass/apis/taxcompass-api/llms.txt) · [OpenAPI document](https://skmtc.dev/taxcompass/apis/taxcompass-api/revisions/fef5fc6a9b91?raw)
