Log my Care Open API (1.101.0)
API for accessing Log my Care data. Most endpoints are read-only (GET); the Residents endpoint additionally supports creating and updating records (POST/PUT). Authenticate by exchanging your API key for a JWT token via POST /openapi/auth/token/exchange, then include the token in the Authorization: Bearer header.
Authentication
Token Exchange (Required): Exchange the API key for a short-lived JWT token (15 minutes) using POST /openapi/auth/token/exchange. This provides enhanced security by minimizing API key exposure.
All authenticated endpoints require a valid JWT token in the Authorization: Bearer header.
Available Endpoints
Health & Status
GET /health- System health check (no authentication required)GET /openapi/health- Alternative health check path (legacy compatibility)
Residents
GET /openapi/api/residents- List all residents with filtering and paginationGET /openapi/api/residents/:id- Get specific resident by IDPOST /openapi/api/residents- Create a residentPUT /openapi/api/residents/:id- Update a resident- Filters:
homeId,residentId,startDate,endDate,dateField,page,limit
Care Plans
GET /openapi/api/careplans- List all care plans with filteringGET /openapi/api/careplans/:id- Get specific care plan by ID- Filters:
homeId,residentId,carePlanId,startDate,endDate,dateField,page,limit
Goals
GET /openapi/api/goals- List all goals with filteringGET /openapi/api/goals/:id- Get specific goal by ID- Filters:
homeId,residentId,startDate,endDate,dateField,page,limit
Incident Reports
GET /openapi/api/incident-reports- List all incident reportsGET /openapi/api/incident-reports/:id- Get specific incident report by ID- Filters:
homeId,residentId,severity,startDate,endDate,dateField,page,limit
Risk Assessments
GET /openapi/api/risk-assessments- List all risk assessmentsGET /openapi/api/risk-assessments/:id- Get specific risk assessment by ID- Filters:
homeId,residentId,startDate,endDate,dateField,page,limit
Homes
GET /openapi/api/homes- List all care homesGET /openapi/api/homes/:id- Get specific home by ID- Filters:
page,limit
Users
GET /openapi/api/users- List all usersGET /openapi/api/users/:id- Get specific user by ID- Filters:
startDate,endDate,dateField,page,limit
Logs
GET /openapi/api/logs- List all daily care logsGET /openapi/api/logs/:id- Get specific log by ID- Filters:
homeId,residentId,categoryId,itemId,loggedById,startDate,endDate,dateField,page,limit
Log Categories
GET /openapi/api/logcategories- List all log categories (no authentication required)GET /openapi/api/logcategories/:id- Get specific log category by ID (no authentication required)- Filters:
page,limit
Log Category Items
GET /openapi/api/logcategoryitems- List all log category items (no authentication required)GET /openapi/api/logcategoryitems/:id- Get specific log category item by ID (no authentication required)- Filters:
page,limit
Documents
GET /openapi/api/documents- List all resident documentsGET /openapi/api/documents/:id- Get specific document by ID- Filters:
homeId,residentId,categoryId,startDate,endDate,dateField,page,limit
Home Documents
GET /openapi/api/home-documents- List all home-scoped documentsGET /openapi/api/home-documents/:id- Get specific home document by ID- Filters:
homeId,categoryId,startDate,endDate,dateField,page,limit
Devices
GET /openapi/api/devices- List all devices (tablets, phones, laptops)GET /openapi/api/devices/:id- Get specific device by ID- Filters:
type,deviceStatus,startDate,endDate,page,limit
Common Features
Pagination: All list endpoints support page (default: 1) and limit (default: 10, max: 100) parameters.
Date Filtering: Many endpoints support startDate, endDate, and dateField parameters for filtering by date ranges.
Rate limits: 100 requests/minute per IP (unauthenticated), 1,000 requests/minute with JWT token authentication.
Security: All requests logged, input validated, parameterised queries, rate limiting enforced.