{"app":"Ok2gether API","version":"2.0 - Reboot","status":"operational","documentation":"\/api\/documentation","endpoints":{"health":{"GET \/api\/health":"Health check endpoint"},"auth":{"POST \/api\/auth\/register":"Register a new user","POST \/api\/auth\/login":"Login and get access token","POST \/api\/auth\/verify-invitation-code":"Verify invitation code","POST \/api\/auth\/logout":"Logout (requires auth)","GET \/api\/auth\/me":"Get current user info (requires auth)"},"parents":{"GET \/api\/parents":"List all parents","GET \/api\/parents\/me\/co-parents":"Get current user co-parents","GET \/api\/parents\/me\/invitations":"Get current user invitations","GET \/api\/parents\/{id}":"Get specific parent by UUID","PUT \/api\/parents\/{id}":"Update specific parent by UUID"},"children":{"GET \/api\/children":"List all children","POST \/api\/children":"Create a new child","GET \/api\/children\/{id}":"Get specific child by UUID","PUT \/api\/children\/{id}":"Update specific child by UUID","DELETE \/api\/children\/{id}":"Delete specific child by UUID"},"agreements":{"GET \/api\/agreements":"List all agreements","POST \/api\/agreements":"Create a new agreement","GET \/api\/agreements\/types":"Get available agreement types","GET \/api\/agreements\/statuses":"Get available agreement statuses","GET \/api\/agreements\/type\/{type}":"Filter agreements by type","GET \/api\/agreements\/status\/{status}":"Filter agreements by status","GET \/api\/agreements\/{id}":"Get specific agreement by UUID","PUT \/api\/agreements\/{id}":"Update specific agreement by UUID","POST \/api\/agreements\/{id}\/respond":"Respond to an agreement","GET \/api\/agreements\/{id}\/download-pdf":"Download agreement as PDF","DELETE \/api\/agreements\/{id}":"Delete specific agreement by UUID"},"expenses":{"GET \/api\/expenses":"List all expenses","POST \/api\/expenses":"Create a new expense","GET \/api\/expenses\/stats":"Get expenses statistics","GET \/api\/expenses\/{id}":"Get specific expense by UUID","PUT \/api\/expenses\/{id}":"Update specific expense by UUID","DELETE \/api\/expenses\/{id}":"Delete specific expense by UUID","POST \/api\/expenses\/{id}\/approve":"Approve an expense","POST \/api\/expenses\/{id}\/reject":"Reject an expense"},"events":{"GET \/api\/events":"List all events","POST \/api\/events":"Create a new event","GET \/api\/events\/types":"Get available event types","GET \/api\/events\/upcoming":"Get upcoming events","GET \/api\/events\/calendar\/{year}\/{month}":"Get events for specific month","GET \/api\/events\/{id}":"Get specific event by UUID","PUT \/api\/events\/{id}":"Update specific event by UUID","DELETE \/api\/events\/{id}":"Delete specific event by UUID"},"dashboard":{"GET \/api\/dashboard\/metrics":"Get dashboard metrics and statistics"},"user":{"PUT \/api\/user\/profile":"Update user profile","PUT \/api\/user\/password":"Update user password","DELETE \/api\/user\/account":"Delete user account"},"files":{"POST \/api\/files\/upload":"Upload a single file and get its URL","POST \/api\/files\/upload-multiple":"Upload multiple files","DELETE \/api\/files\/delete":"Delete a file by path"},"email":{"GET \/api\/test-email":"Test email sending (Development only)","POST \/api\/send-email":"Send generic email"}},"notes":["All endpoints except \/api\/health and \/api\/auth\/* require authentication via Bearer token","UUID format: 8-4-4-4-12 hexadecimal characters","Use Accept: application\/json header for all requests"]}