Data model
Every record belongs to an agency, and every agency you can reach is associated with your connected system.
Connected system (you)
└── Agency created by you or linked by us
├── Agency offices locations
├── Task templates onboarding checklist items
├── Agency roles task templates grouped by job
└── Agency members people, including new hires
├── Tasks managed by Homecare Pro
└── Documents provided for tasksResources
Agencies are your customers' home care businesses. You can create agencies and change their name and time zone. The time zone decides when reminders go out.
Agency offices are an agency's locations. You can read them and update their name and phone number. A member can belong to an office.
Task templates are the items that can appear on an onboarding checklist, such as "Driver's License or State ID". task_template_type decides what the new hire does: upload a document, sign one, complete a check, and so on.
Agency roles group task templates into a checklist for a job, such as "Personal Care Aide". A role's task_template_ids lists its templates.
Agency members are the agency's people. Members you add are new hires (role: member). Agencies also have managers (role: manager), who review documents and run the agency in Homecare Pro; managers can't be added through the API, so contact Homecare Pro to set them up. A member's onboarding_stage shows how far through onboarding they are.
Tasks are the items on one member's checklist. Homecare Pro creates a task from each template in the roles assigned to a member, then manages it through to completion. Tasks are read-only.
Documents are what a member provides for their tasks, such as an ID photo. You can read a document's status and dates but not the file itself. Documents are read-only.
Identifiers
Homecare Pro identifies every record with a UUID in its id field. Store these IDs to read or update records later.
Agency members also carry an external_id: your own identifier for the person, set when you add them. It must be unique within the agency. To find a member by it, filter the member list:
GET /api/agency_members?filters[agency_member][external_id][]=candidate-48213What you can't see
The API shows only what a connected system needs. In particular, it doesn't return a member's email address or phone number once you've sent them, or the files behind documents.
Updated about 2 hours ago
