---
title: "Read Profile"
method: GET
path: "/api/autopilot/profile"
tags: ["autopilot"]
---

# Read Profile

`GET /api/autopilot/profile`

## 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/profile`
- Auth: HTTP bearer

The caller's profile, or 204 when onboarding has not started.

204 rather than 404: the route exists and the caller is entitled to it, there
is simply nothing stored yet — and 404 is already this router's "feature is
off" signal, so reusing it here would be ambiguous.

## Response `200`

Successful Response

- FiscalProfile: The stored profile as the API returns it (``GET /api/autopilot/profile``). Carries the two derived numbers the write model does not: they are part of the tax position the user is entitled to see — and to check against their commercialista — even though nothing they send can set them. The bounds are the engine's own: a rate or coefficient outside 0–1 is not a rate.
  - `regime` 'forfettario' | 'ordinario', nullable
  - `business_type` 'professionista' | 'artigiano' | 'commerciante', nullable
  - `inps_fund` 'gestione_separata' | 'artigiani' | 'commercianti', nullable
  - `primary_ateco` string, nullable
  - `activity_start_date` string, date, nullable
  - `startup_rate_eligible` boolean, nullable
  - `invoice_prefix` string, nullable
  - `codice_fiscale` string, nullable
  - `partita_iva` string, nullable
  - `full_legal_name` string, nullable
  - `address` string, nullable
  - `pec` string, nullable
  - `iban` string, nullable
  - `forfettario_rate` string, nullable
  - `coefficient` string, nullable
  - `onboarding_complete` boolean
  - `updated_at` string, date-time, nullable

## Other responses

- `204`: No profile saved yet

---

[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)
