Nutrition API (v1)
Overview
The Nutrition API provides endpoints for managing nutrition specialist workspaces, including client management, meal planning, progress tracking, sessions, and client portal access.
Base URL
/api/v1/workspace/:workspaceId/nutrition
All endpoints require workspace authentication unless specified otherwise.
Authentication
Most endpoints require a valid workspace token:
Authorization: Bearer <workspace_token>
Modules
Clients
- Create Client - Register a new nutrition client
- List Clients - Get all clients in workspace
- Get Client – Get client details (coming soon)
- Update Client – Update client information (coming soon)
Plans
- Create Plan - Create a new nutrition plan
- List Plans – Get plans (optionally filtered by client) (coming soon)
- Get Plan – Get plan details (coming soon)
- Update Plan – Update plan (coming soon)
- Archive Plan – Archive a plan (coming soon)
Sessions
- Create Session - Schedule a consultation session
- List Sessions – Get sessions (coming soon)
- Get Session – Get session details (coming soon)
- Update Session – Update session (coming soon)
- Cancel Session – Cancel a session (coming soon)
Diaries
- Create Diary – Create/update food diary entry (coming soon)
- List Diaries – Get diary entries (coming soon)
- Get Diary – Get diary by date (coming soon)
Progress
- Create Progress – Add progress measurement (coming soon)
- List Progress – Get progress history (coming soon)
- Get Progress – Get progress entry (coming soon)
- Update Progress – Update progress entry (coming soon)
Settings
- Get Settings - Get nutrition workspace settings
- Update Settings – Update settings (coming soon)
Client Accounts
- Create Account - Create portal account for client
- Get Account – Get client's portal account (coming soon)
- Reset Password – Reset client password (coming soon)
- Toggle Status – Enable/disable account (coming soon)
Response Format
All responses follow a consistent format:
{
"client": { ... }, // Single resource
"clients": [ ... ], // Array of resources
"total": 100 // For paginated responses
}
Error Responses
{
"error": {
"message": "Error description",
"details": { ... }
}
}
Common Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Invalid input data |
| 401 | Unauthorized - Missing or invalid token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource not found |
| 409 | Conflict - Resource already exists |
| 422 | Unprocessable Entity - Validation failed |
| 500 | Internal Server Error |