Accettazioni

Accettazioni, conversioni e documenti.

13 endpoint Versione v1 · revisione 2026-07-20

Gli endpoint sono relativi a https://api.officina.it e richiedono l'header Authorization: Bearer con la chiave API e X-API-Version: 2026-07-20. L'header della revisione è obbligatorio: differenza fra v1 e revisione.

GET /v1/checkins
Permesso richiesto checkins.read

Elenca le accettazioni

Le accettazioni dell'officina, dalla più recente. Filtra per stato con status (active o completed), per testo con q e per periodo con from / to. Negli elenchi line_items è null per alleggerire la risposta: le righe arrivano solo sul dettaglio.
Risposte
200
Una pagina di accettazioni.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/checkins \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "list",
  "data": [
    {
      "object": "checkin",
      "id": "e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60",
      "seq_number": 142,
      "status": "active",
      "title": "Accettazione tagliando",
      "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
      "customer_name": "Mario Rossi",
      "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
      "vehicle_name": "Fiat Panda",
      "vehicle_license": "AB123CD",
      "work_category_id": "3a8e5c21-9d76-4f03-b418-2c6a9e7d5b40",
      "work_category_name": "Tagliando",
      "km": 61240,
      "fuel_level": 45,
      "worksheet_id": null,
      "quote_id": null,
      "created_at": "2026-07-15T07:40:00Z",
      "updated_at": "2026-07-15T07:55:00Z"
    }
  ],
  "has_more": true,
  "next_starting_after": "eyJvIjoyMH0",
  "url": "/v1/checkins",
  "date_filter": {
    "object": "date_filter",
    "preset": "year",
    "from": "2026-01-01",
    "to": "2026-12-31"
  }
}
POST /v1/checkins
Permesso richiesto checkins.write

Crea un'accettazione

Registra l'accettazione di un veicolo. Il numero progressivo (seq_number) è assegnato dal server e resta stabile. I campi da section1 a section8 sono caselle di testo libero usate per le note di accettazione; l'API non impone loro alcun significato. fuel_level è un intero, per convenzione 0-100, senza vincoli.
Risposte
201
L'accettazione creata.
400
Corpo della richiesta non leggibile o JSON non valido.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X POST https://api.officina.it/v1/checkins \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20" \
  -H "Content-Type: application/json" \
  -d '{
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "vehicle_id": "9181c4de-2a67-4b93-8f01-1e7d90a3c6b2",
  "title": "Intake — annual service",
  "fuel_level": 50,
  "km": 124301.5,
  "section1": "Front bumper has a scuff on the left side."
}'
Risposta
{
  "object": "checkin",
  "id": "e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60",
  "seq_number": 142,
  "status": "active",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "customer_name": "Mario Rossi",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "vehicle_name": "Fiat Panda",
  "vehicle_license": "AB123CD",
  "work_category_id": "3a8e5c21-9d76-4f03-b418-2c6a9e7d5b40",
  "work_category_name": "Tagliando",
  "km": 61240,
  "fuel_level": 45,
  "worksheet_id": null,
  "quote_id": null,
  "created_at": "2026-07-15T07:40:00Z",
  "updated_at": "2026-07-15T07:55:00Z"
}
GET /v1/checkins/status-counts
Permesso richiesto checkins.read

Conta le accettazioni per stato

Quante accettazioni sono active e quante completed, con gli stessi filtri dell'elenco. Serve a popolare i contatori senza scaricare le accettazioni.
Risposte
200
Il numero di accettazioni per stato.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/checkins/status-counts \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "checkin_status_counts",
  "active": 4,
  "completed": 87,
  "date_filter": {
    "object": "date_filter",
    "preset": "year",
    "from": "2026-01-01",
    "to": "2026-12-31"
  }
}
GET /v1/checkins/{id}
Permesso richiesto checkins.read

Recupera un'accettazione

Restituisce l'accettazione con le righe (line_items). Se è già stata convertita, worksheet_id e quote_id puntano ai documenti generati.
Risposte
200
L'accettazione richiesta.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/checkins/{id} \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "checkin",
  "id": "e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60",
  "seq_number": 142,
  "status": "active",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "customer_name": "Mario Rossi",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "vehicle_name": "Fiat Panda",
  "vehicle_license": "AB123CD",
  "work_category_id": "3a8e5c21-9d76-4f03-b418-2c6a9e7d5b40",
  "work_category_name": "Tagliando",
  "km": 61240,
  "fuel_level": 45,
  "worksheet_id": null,
  "quote_id": null,
  "created_at": "2026-07-15T07:40:00Z",
  "updated_at": "2026-07-15T07:55:00Z",
  "comments": "Cliente segnala rumore in frenata.",
  "section1": "Carrozzeria senza danni evidenti.",
  "section2": "Pneumatici anteriori da sostituire.",
  "line_items": [
    {
      "object": "checkin_line_item",
      "id": "5c1e8b73-2a94-4d06-b8f5-3e7a1d4c9601",
      "description": "Controllare pastiglie anteriori",
      "created_at": "2026-07-15T07:52:00Z"
    }
  ]
}
PATCH /v1/checkins/{id}
Permesso richiesto checkins.write

Aggiorna un'accettazione

Aggiorna solo i campi presenti nel corpo: gli altri restano invariati, e null svuota il campo. Lo stato non si cambia da qui: usa POST /v1/checkins/{id}/transitions.
Risposte
200
L'accettazione aggiornata.
400
Corpo della richiesta non leggibile o JSON non valido.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X PATCH https://api.officina.it/v1/checkins/{id} \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Intake — updated note",
  "fuel_level": 75,
  "section1": null,
  "km": 124350
}'
Risposta
{
  "object": "checkin",
  "id": "e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60",
  "seq_number": 142,
  "status": "active",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "customer_name": "Mario Rossi",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "vehicle_name": "Fiat Panda",
  "vehicle_license": "AB123CD",
  "work_category_id": "3a8e5c21-9d76-4f03-b418-2c6a9e7d5b40",
  "work_category_name": "Tagliando",
  "km": 61240,
  "fuel_level": 45,
  "worksheet_id": null,
  "quote_id": null,
  "created_at": "2026-07-15T07:40:00Z",
  "updated_at": "2026-07-15T07:55:00Z",
  "comments": "Cliente segnala rumore in frenata.",
  "section1": "Carrozzeria senza danni evidenti.",
  "section2": "Pneumatici anteriori da sostituire.",
  "line_items": [
    {
      "object": "checkin_line_item",
      "id": "5c1e8b73-2a94-4d06-b8f5-3e7a1d4c9601",
      "description": "Controllare pastiglie anteriori",
      "created_at": "2026-07-15T07:52:00Z"
    }
  ]
}
DELETE /v1/checkins/{id}
Permesso richiesto checkins.write

Elimina un'accettazione

Eliminazione logica: l'accettazione sparisce dagli elenchi. I documenti eventualmente generati da essa restano intatti.
Risposte
200
L'accettazione eliminata.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X DELETE https://api.officina.it/v1/checkins/{id} \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "checkin",
  "id": "e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60",
  "seq_number": 142,
  "status": "active",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "customer_name": "Mario Rossi",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "vehicle_name": "Fiat Panda",
  "vehicle_license": "AB123CD",
  "work_category_id": "3a8e5c21-9d76-4f03-b418-2c6a9e7d5b40",
  "work_category_name": "Tagliando",
  "km": 61240,
  "fuel_level": 45,
  "worksheet_id": null,
  "quote_id": null,
  "created_at": "2026-07-15T07:40:00Z",
  "updated_at": "2026-07-15T07:55:00Z",
  "deleted_at": "2026-07-20T11:04:00Z"
}
POST /v1/checkins/{id}/convert
Permesso richiesto checkins.write

Converti in scheda lavoro

Genera una scheda lavoro dall'accettazione e collega i due documenti (worksheet_id sull'accettazione). Attenzione: la risposta è la scheda lavoro creata, non l'accettazione — l'oggetto restituito ha object: worksheet.
Risposte
201
La scheda lavoro generata.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X POST https://api.officina.it/v1/checkins/{id}/convert \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "worksheet",
  "id": "a5d21e64-8f37-4b90-ae12-3c7d6b048f95",
  "seq_number": 412,
  "status": "draft",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "total_after_tax": 0,
  "frozen": false,
  "created_at": "2026-07-15T08:12:00Z"
}
POST /v1/checkins/{id}/documents
Permesso richiesto checkins.write

Allega un documento all'accettazione

Carica un file fra i documenti dell'accettazione. La richiesta è multipart/form-data con il file nel campo file, non JSON.
Risposte
201
Il documento allegato.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X POST https://api.officina.it/v1/checkins/{id}/documents \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20" \
  -F "file=@/percorso/documento.pdf"
Risposta
{
  "object": "checkin_document",
  "id": "7f2c6a18-9e40-4b53-8d21-4a6f1c9e3b75",
  "name": "foto-danno.jpg",
  "content_type": "image/jpeg",
  "description": "Graffio parafango",
  "file_size_bytes": 233104,
  "url": "/v1/checkins/e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60/documents/7f2c6a18-9e40-4b53-8d21-4a6f1c9e3b75/download",
  "created_at": "2026-07-15T07:58:00Z"
}
DELETE /v1/checkins/{id}/documents/{documentID}
Permesso richiesto checkins.write

Elimina un documento

Rimuove definitivamente il file allegato.
Risposte
200
Il documento eliminato.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X DELETE https://api.officina.it/v1/checkins/{id}/documents/{documentID} \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "checkin_document",
  "id": "7f2c6a18-9e40-4b53-8d21-4a6f1c9e3b75",
  "name": "foto-danno.jpg",
  "content_type": "image/jpeg",
  "description": "Graffio parafango",
  "file_size_bytes": 233104,
  "url": "/v1/checkins/e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60/documents/7f2c6a18-9e40-4b53-8d21-4a6f1c9e3b75/download",
  "created_at": "2026-07-15T07:58:00Z"
}
GET /v1/checkins/{id}/documents/{documentID}/download
Permesso richiesto checkins.read

Scarica un documento

Restituisce il contenuto del file, non JSON. È il percorso indicato dal campo url di ogni documento.
Risposte
200
success
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl https://api.officina.it/v1/checkins/{id}/documents/{documentID}/download \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
POST /v1/checkins/{id}/line-items/batch
Permesso richiesto checkins.write

Modifica le righe in blocco

Aggiunge, aggiorna, rimuove e riordina le righe in una sola richiesta, applicata come singola transazione. Le righe di un'accettazione sono sole annotazioni: portano una description e nessun prezzo.
Risposte
200
L'accettazione con le righe aggiornate.
400
Corpo della richiesta non leggibile o JSON non valido.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X POST https://api.officina.it/v1/checkins/{id}/line-items/batch \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20" \
  -H "Content-Type: application/json" \
  -d '{
  "add": [
    {
      "description": "Scratch on rear bumper"
    },
    {
      "description": "Spare tyre missing"
    }
  ],
  "update": [
    {
      "id": "4b1d8f2a-0c3e-4a6b-9d7c-1e2f3a4b5c6d",
      "description": "Windshield chip (driver side)"
    }
  ],
  "remove": [
    "9f8e7d6c-5b4a-3c2d-1e0f-a9b8c7d6e5f4"
  ]
}'
Risposta
{
  "object": "checkin",
  "id": "e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60",
  "seq_number": 142,
  "status": "active",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "customer_name": "Mario Rossi",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "vehicle_name": "Fiat Panda",
  "vehicle_license": "AB123CD",
  "work_category_id": "3a8e5c21-9d76-4f03-b418-2c6a9e7d5b40",
  "work_category_name": "Tagliando",
  "km": 61240,
  "fuel_level": 45,
  "worksheet_id": null,
  "quote_id": null,
  "created_at": "2026-07-15T07:40:00Z",
  "updated_at": "2026-07-15T07:55:00Z",
  "comments": "Cliente segnala rumore in frenata.",
  "section1": "Carrozzeria senza danni evidenti.",
  "section2": "Pneumatici anteriori da sostituire.",
  "line_items": [
    {
      "object": "checkin_line_item",
      "id": "5c1e8b73-2a94-4d06-b8f5-3e7a1d4c9601",
      "description": "Controllare pastiglie anteriori",
      "created_at": "2026-07-15T07:52:00Z"
    }
  ]
}
POST /v1/checkins/{id}/quotes
Permesso richiesto checkins.write

Crea un preventivo dall'accettazione

Genera un preventivo dall'accettazione e collega i due documenti (quote_id sull'accettazione). Attenzione: la risposta è il preventivo creato, non l'accettazione — l'oggetto restituito ha object: quote.
Risposte
201
Il preventivo generato.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X POST https://api.officina.it/v1/checkins/{id}/quotes \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20"
Risposta
{
  "object": "quote",
  "id": "b93f7c25-4a18-4e60-9d37-8c1b5f2a6e04",
  "seq_number": 87,
  "status": "waiting",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "total_after_tax": 0,
  "created_at": "2026-07-15T08:15:00Z"
}
POST /v1/checkins/{id}/transitions
Permesso richiesto checkins.write

Cambia stato all'accettazione

Porta l'accettazione in active o completed. È l'unico modo di cambiare status: un valore diverso da questi due viene rifiutato con 422.
Risposte
200
L'accettazione dopo la transizione.
400
Corpo della richiesta non leggibile o JSON non valido.
401
Chiave API mancante, non valida, revocata o scaduta.
402
Il piano non include l'accesso API, oppure non è attivo un abbonamento.
403
La chiave non ha il permesso richiesto per questa operazione.
404
La risorsa non esiste, è stata eliminata o non appartiene alla tua officina.
415
Il Content-Type deve essere application/json e Accept deve accettare JSON.
422
Un campo della richiesta manca o non è valido: «param» indica quale.
500
Errore imprevisto del server. Il dettaglio finisce nei log, non nella risposta.
Richiesta
curl -X POST https://api.officina.it/v1/checkins/{id}/transitions \
  -H "Authorization: Bearer ofk_live_LA_TUA_CHIAVE" \
  -H "X-API-Version: 2026-07-20" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "completed"
}'
Risposta
{
  "object": "checkin",
  "id": "e4b7d290-6c15-4a83-9f27-1d8b3e5a7c60",
  "seq_number": 142,
  "status": "completed",
  "title": "Accettazione tagliando",
  "customer_id": "4c911f08-7713-4e83-bdf6-a0692a1b43fd",
  "customer_name": "Mario Rossi",
  "vehicle_id": "8821f0ac-5d2b-41e7-9a10-6c3f2b7d4e55",
  "vehicle_name": "Fiat Panda",
  "vehicle_license": "AB123CD",
  "work_category_id": "3a8e5c21-9d76-4f03-b418-2c6a9e7d5b40",
  "work_category_name": "Tagliando",
  "km": 61240,
  "fuel_level": 45,
  "worksheet_id": null,
  "quote_id": null,
  "created_at": "2026-07-15T07:40:00Z",
  "updated_at": "2026-07-15T07:55:00Z",
  "comments": "Cliente segnala rumore in frenata.",
  "section1": "Carrozzeria senza danni evidenti.",
  "section2": "Pneumatici anteriori da sostituire.",
  "line_items": [
    {
      "object": "checkin_line_item",
      "id": "5c1e8b73-2a94-4d06-b8f5-3e7a1d4c9601",
      "description": "Controllare pastiglie anteriori",
      "created_at": "2026-07-15T07:52:00Z"
    }
  ]
}