---
title: "The calling operator's own dashboard"
method: GET
path: "/api/crm/dashboard/me"
tags: ["crm-dashboard"]
---

# The calling operator's own dashboard

`GET /api/crm/dashboard/me`

## Request

- Base URL: `https://api.corabea.it` (the document declares no server; this is the origin it was published from)
- URL: `https://api.corabea.it/api/crm/dashboard/me`
- Auth: HTTP bearer

Aggregated landing-page data for the authenticated operator: today's appointments, today's published availability openings, open alerts and weekly availability status.

Self-scoped, so it needs no permission beyond authentication — but it does resolve the caller to an operator record and answers 403 without one. Roles with no operator record (admin, customer care) want /crm/dashboard/platform instead.

## Response `200`

Successful Response

- OperatorTodayResponse: Aggregated landing-page ('today') payload for an operator.
  - `operator` OperatorTodayOperator, required: Authenticated operator identity for the 'today' dashboard.
    - `id` string, uuid, required
    - `first_name` string, required
    - `last_name` string, required
    - `profession` string, required
    - `accepts_new_patients` boolean, nullable
  - `leave` OperatorTodayLeave: A closed temporary replacement whose leave is running today.
    - `replacement_kind` 'maternity' | 'other', required: Sub-kind of a temporary replacement — a label and a filter, no behaviour.
    - `starts_at` string, date-time, required
    - `ends_at` string, date-time, required
  - `date` string, required: Operator-local date for 'today', ISO 8601 (Europe/Rome).
  - `appointment_count` integer
  - `appointments` OperatorTodayAppointment[]
    - `id` string, uuid, required
    - `start_at` string, required: Appointment start, ISO 8601
    - `duration_minutes` integer, nullable
    - `type_code` string, nullable
    - `is_family` boolean: A family session; type_code stays the discipline's own INCONTRO_*.
    - `is_valuation` boolean: A valuation session; type_code stays the discipline's own INCONTRO_*.
    - `status` string, nullable
    - `patient_name` string, nullable
    - `in_person` boolean
    - `location` string, nullable
  - `availability_slots` OperatorTodayAvailabilitySlot[]: Published, not-yet-booked openings for 'date' — the 'Disponibilità' rows on the day timeline.
    - `id` string, uuid, required
    - `start_at` string, required: Slot start, ISO 8601
    - `duration_minutes` integer, nullable
    - `in_person` boolean
    - `also_in_person` boolean: A customer care's opening offered both online and in presenza at its clinic.
    - `location` string, nullable
    - `room_availability_id` string, uuid, nullable: Room slot an operator availability is tied to.
  - `alerts` OperatorTodayAlerts, required: Summary of the operator's open alerts.
    - `open_count` integer
    - `items` OperatorTodayAlertItem[]
      - `id` string, uuid, required
      - `type` string, required
      - `status` string, required
      - `title` string
      - `description` string
      - `created_at` string, nullable
  - `availability` OperatorTodayAvailability, required: Weekly availability status driving the 'add availability' nudge.
    - `weekly_minimum` integer, required: Minimum slots required this week (6 if accepting new patients, else 2).
    - `published_this_week` integer
    - `missing_this_week` integer
    - `satisfied` boolean
  - `patient_total` integer: Total patients followed by this operator, any status.
  - `cross_status` OperatorTodayCrossStatus, required: Cross-discipline patient counts: patients in 'abbandono' for one discipline while still 'attivo' in the other, in both directions.
    - `abandoned_other_active_self` integer: Patients in 'abbandono' with the other discipline but 'attivo' with this operator.
    - `abandoned_self_active_other` integer: Patients in 'abbandono' with this operator but 'attivo' with the other discipline.
  - `patient_statuses` OperatorTodayPatientStatusCount[]
    - `key` string, required
    - `count` integer, required
  - `family_sessions` FamilySessionState[]: Minor patients whose family session is due soon or overdue, soonest first.
    - `patient_id` string, uuid, required: Patient UUID
    - `patient_name` string: Patient full name
    - `operator_id` string, uuid, required: The assigned expert
    - `path_type` string, required: PSICOLOGO or NUTRIZIONISTA
    - `status` 'ok' | 'due_soon' | 'overdue' | 'exempt', required: Where a minor's expert stands with the next family session.
    - `due_at` string, date-time, nullable: By when a family session (or a reason) is due; none while exempt
    - `exempt_until` string, date-time, nullable: While exempt: when the exception ends; none when it is for good
    - `last_family_at` string, date-time, nullable: Latest family session, to do or done
    - `last_reason` string, nullable: Latest reason given in place of one
    - `last_reason_at` string, date-time, nullable: When the latest reason was given
    - `last_reason_status` 'pending' | 'accepted' | 'rejected': An admin's review of an expert's reason for not meeting the family.
    - `last_review_note` string, nullable: The admin's note on the latest reason
    - `reasons_count` integer: Reasons given so far

## Changes

- **2026-10-07** `babe5287135b`: 1 info
  - added the optional property `availability_slots/items/also_in_person` to the response with the `200` status
- **2026-09-26** `f23730d7b735`: 1 info
  - added the optional property `family_sessions` to the response with the `200` status
- **2026-09-23** `5890436a5e12`: 1 info
  - added the optional property `appointments/items/is_valuation` to the response with the `200` status
- **2026-09-22** `5c57d02d889c`: 1 info
  - added the optional property `leave` to the response with the `200` status
- **2026-09-15** `ab501b8b91e7`: 1 info
  - added the optional property `appointments/items/is_family` to the response with the `200` status

[Operation history](https://skmtc.dev/corabea/apis/corabea-api/changes/api/crm/dashboard/me/get.md)

---

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