1.7 KiB
1.7 KiB
Intakes API
Deze custom REST API ondersteunt de intake-flow na consolidatie van /clients/ → /patients/. Alle endpoints verwachten een geldige Supabase sessie (cookies) en geven JSON terug.
Endpoints
GET /api/intakes?patientId={uuid}
Haalt alle intakes voor één patiënt op (nieuwste eerst).
Query parameters
patientId(verplicht) — UUID van de patiënt.
Response
{
"intakes": [
{
"id": "uuid",
"patient_id": "uuid",
"title": "Intake - Aanvang zorg",
"department": "Volwassenen",
"status": "bezig",
"start_date": "2025-11-22",
"end_date": null,
"psychologist_id": null,
"notes": null
}
],
"total": 1
}
POST /api/intakes
Maakt een nieuwe intake.
Body
{
"patient_id": "uuid",
"title": "Intake - Aanvang zorg",
"department": "Volwassenen",
"start_date": "2025-11-22",
"psychologist_id": "uuid?",
"notes": "optional"
}
Responses
201+ intake object bij succes400metdetails[]bij validatiefout
GET /api/intakes/{intakeId}
Levert één intake. Retourneert 404 als het ID niet bestaat.
PUT /api/intakes/{intakeId}
Partiële update. Ondersteunt title, department, status (Open/Afgerond), start_date, end_date, psychologist_id, notes.
DELETE /api/intakes/{intakeId}
Verwijdert een intake. 204 No Content bij succes.
Fouten
401/403: geen sessie of onvoldoende rechten.400: ongeldige payload (ziedetails).500: onverwachte fout; check server logs.
Implementatieverwijzing
- Type definities:
lib/types/intake.ts - Server actions:
app/epd/patients/[id]/intakes/actions.ts - API broncode:
app/api/intakes/enapp/api/intakes/[intakeId]/