# ShiftCare MCP connector

The ShiftCare connector brings shifts, client notes, staff leave, complaints, teams and facilities into Claude, ChatGPT, Cursor and the Elaichi Agent, so care coordinators can ask questions and update rosters as themselves, with every action recorded.

Source: https://elaichi.ai/connectors/shiftcare/

## Facts

| | |
| --- | --- |
| Application | ShiftCare |
| Category | HRIS |
| AI tools | 97 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 97 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once ShiftCare is connected

- List all open ShiftCare complaints raised this week.
- Show approved ShiftCare leaves across every area next month.
- Add a client note about today's shift handover.

## Connect ShiftCare in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick ShiftCare.
2. Optionally set Share with, then press Connect.
3. Paste a ShiftCare API key. One person generates a token in ShiftCare and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which ShiftCare tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect ShiftCare to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect ShiftCare to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect ShiftCare to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect ShiftCare to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a ShiftCare tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with ShiftCare through Elaichi

### Fill an open shift before the day starts

Rostering. Ask which shifts are still unfilled for tomorrow at a given facility, then create or update the shift once a support worker confirms they can take it.

### Write up the visit as soon as it ends

Care coordination. Dictate what happened during a client visit and have it saved as a ShiftCare client note, then correct or add to the note later if something was missed.

### Log a complaint and keep it moving

Quality and compliance. Record a complaint from a client or family member the moment it arrives, check its current status by asking, and update a batch of complaints when the review meeting closes them out.

### Record leave and see who is away

HR. Add a support worker's leave request, list everyone on leave for the coming fortnight, and adjust the dates if plans change, without opening the leave calendar.

### See how each area and facility is staffed

Operations. Pull the list of ShiftCare areas, facilities and teams alongside this week's shifts to spot a site that is running thin before it becomes a problem.

### Keep payroll and client IDs lined up

Finance and admin. Attach the reference numbers your payroll or funding system uses to the matching ShiftCare records in bulk, so exports and reconciliations match up without hand editing.

## Frequently asked questions

### How do I connect ShiftCare to Claude?

First, add ShiftCare in Elaichi. ShiftCare connects with an API key, so you copy the key from your ShiftCare account and paste it into Elaichi, and there is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in with your Elaichi account and ShiftCare is ready to use inside Claude.

### Does ShiftCare work with ChatGPT and Cursor as well as Claude?

Yes. Once ShiftCare is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect ShiftCare once and every client you use picks it up.

### What can an AI agent actually do with my ShiftCare data?

An agent connected to ShiftCare can list, create and update shifts, add and edit client notes, record and update staff leave, log complaints and update them in bulk, and look up your locations, areas, facilities and teams. It can also attach reference numbers from other systems to ShiftCare records. Because ShiftCare offers a large set of actions, the agent searches for the right one as you ask, so short direct requests such as "list tomorrow's unfilled shifts at Riverside" work better than long paragraphs.

### Does connecting ShiftCare give the AI access to every client and every roster?

No. Each person signs in to Elaichi as themselves, so an agent working in ShiftCare on their behalf can only reach the clients, shifts and staff records that person's own ShiftCare access allows. Elaichi can narrow that further, for example to read-only or to a subset of actions, but it can never widen it beyond what the person already has.

### Can my team share one ShiftCare connection?

Yes. One coordinator connects ShiftCare in Elaichi and shares the connection with a team, and nobody else on that team ever sees or handles the ShiftCare API key. Each teammate still signs in to Elaichi as themselves, so every shift change or client note they make through the connection is logged under their own name.

### Can I stop an agent from deleting or changing things in ShiftCare?

Yes. In Elaichi, restrictions on ShiftCare apply per action, so you can allow reading shifts and leave while blocking the creation or editing of client notes, complaints or rosters. A blocked action is never shown to Claude, ChatGPT, Cursor or any other client at all, so no prompt, however worded, can reach it.

### What happens to a ShiftCare connection when someone leaves?

When a person is offboarded in Elaichi, their access to ShiftCare through every connected client ends at once, and the audit log keeps a record of everything they did while they had it. If they had shared a ShiftCare connection with a team, that connection keeps working for everyone else. If you want to remove ShiftCare altogether, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

## All 97 ShiftCare tools

Every tool below is callable through https://api.elaichi.ai/mcp once ShiftCare is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all ShiftCare account locations** (List). List ShiftCare account locations for the current account with optional filtering and sorting. Returns: id, name, address, created_at, updated_at. Access is gated by a feature flag. Max 50 per page.
- **List all ShiftCare areas** (List). List ShiftCare areas for the current account with optional filtering by ID or name and sorting. Returns: id, name, created_at, updated_at. Max 50 items per page.
- **Create a ShiftCare client note** (Create). Create a client note attached to a ShiftCare client. Returns: id, category, subject, message, requested_date, private, created_at, updated_at, attachments. Required: client_id. If requested_date is omitted it defaults to the current UTC date, which may differ from the account's local date.
- **Update a ShiftCare client note by ID** (Update). Update an existing client note for a ShiftCare client. Returns: id, category, subject, message, requested_date, private, created_at, updated_at, attachments. Required: client_id, id. The private flag must match the note's type — a mismatch returns 404.
- **List all ShiftCare complaints** (List). List ShiftCare complaints with optional filtering by status, risk level, category, assignee, client, date ranges, and free-text search. Returns: id, reference_number, name, description, status, risk_level, category, client_id, assignee_id, assignee_name, creator_id, creator_name, received_date, due_date, closure_date, is_private, safety_concern, risk_assessment_notes, outcome_summary,…
- **Create a ShiftCare complaint** (Create). Create a new complaint in ShiftCare. Returns the created complaint including id, reference_number, name, status, risk_level, category, complainant and representative details, and lifecycle timestamps. New complaints default to status 'received' and risk_level 'low'.
- **Get single ShiftCare complaint by ID** (Get). Get a single ShiftCare complaint by id. Returns the full complaint object including id, reference_number, name, status, risk_level, category, complainant and representative details, and lifecycle timestamps. Required: id.
- **Update a ShiftCare complaint by ID** (Update). Update a ShiftCare complaint by id. Returns the updated complaint including id, reference_number, name, status, risk_level, category, complainant and representative details, and lifecycle timestamps. Required: id. Prefer the update_status method for status transitions.
- **ShiftCare complaints bulk update** (Update). Update a ShiftCare complaint's lifecycle status by complaint_id. Returns the updated complaint including id, reference_number, name, status, risk_level, and outcome_summary. Required: complaint_id, status. outcome_summary is required when the target status is 'closed'. 'received' cannot be used as a target status.
- **ShiftCare leaves create external ID** (Create). Create an external ID for a specific ShiftCare leave, linking it to an external payroll or HR system. Returns: id, type, organization_id. Required: leave_id, id, type.
- **Create a ShiftCare leaf** (Create). Create a new leave record in ShiftCare for a staff member. Returns the created leave including id, user_id, title, start_at, end_at, reason, all_day, approved_at, approved_by, declined_at, declined_reason, read_only, hours_daily, and external_ids. Required: user_id, title, start_at, end_at, reason.
- **List all ShiftCare leaves** (List). List leaves in ShiftCare with optional date-range, user, and approval-status filters. Returns: id, user_id, title, start_at, end_at, reason, all_day, approved_at, approved_by, declined_at, declined_reason, read_only, hours_daily, external_ids.
- **Update a ShiftCare leaf by ID** (Update). Update an existing leave record. Only the fields provided are changed. Approval or decline status can only be changed via the approval_action field; sending approved_at/declined_at directly is ignored for status changes.
- **Get single ShiftCare leaf by ID** (Get). Get a single ShiftCare leave by id. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence. Required: id.
- **ShiftCare external references bulk create** (Create). Bulk create external references for supported ShiftCare resources such as staff, clients, allowances, and leaves. Returns: external_references, errors. Required: external_references with resource_type, resource_id, service, and external_id for each entry.
- **ShiftCare external references bulk update** (Update). Bulk update external references for supported resources in ShiftCare. Returns: external_references, errors. Required: external_references with resource_type, resource_id, service, and external_id for each item.
- **ShiftCare external references bulk destroy** (Action). Bulk destroy external references for supported resources in ShiftCare. Returns: external_references, errors. Required: external_references.
- **Get single ShiftCare external reference by ID** (Get). Get a single external reference in ShiftCare by id (external_id). Returns: resource_id, resource_type, service, external_id, organization_id. Required: id.
- **List all ShiftCare facilities** (List). List ShiftCare facilities with optional filtering by ID or name and sorting by ID or name. Returns: id, name, address, account_location_id, facility_type, created_at, updated_at. Max 50 per page.
- **List all ShiftCare teams** (List). List ShiftCare teams for the current account with optional filtering by ID or name and sorting. Returns: id, external_id, name, type_string. Max 50 per page. Access is gated by a feature flag.
- **List all ShiftCare shifts** (List). List shifts in ShiftCare with optional filtering by client IDs, staff IDs, date range, status, and billable flag. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence.
- **Create a ShiftCare shift** (Create). Create a new shift in ShiftCare with associated clients, staff, tasks, and optional recurrence rules. Returns the created shift including id, area_id, start_at, end_at, shift_type, published, clients, staff, tasks, and recurrence. Required: start_at, end_at.
- **Get single ShiftCare shift by ID** (Get). Get a single ShiftCare shift by id. Returns the shift object including area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, and recurrence. Required: id.
- **Update a ShiftCare shift by ID** (Update). Update an existing shift in ShiftCare by id. Returns the updated shift including area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, and recurrence. Required: id.
- **Delete a ShiftCare shift by ID** (Delete). Permanently delete a shift in ShiftCare by id. Returns an empty 204 response on success. Invoiced shifts cannot be deleted — the API returns 409 in that case. Required: id.
- **ShiftCare shifts cancel** (Cancel). Cancel a shift, either without charge (marks the shift cancelled and unbillable) or with charge (marks each client ratio absent using an NDIS no-show code, keeping the shift billable).
- **List all ShiftCare shift staffs** (List). List the staff members assigned to a specific shift.
- **List all ShiftCare shift events** (List). List shift events in ShiftCare. Returns: name, message, user_full_name, user_id, created_at, private.
- **Create a ShiftCare shift event** (Create). Create a shift event in ShiftCare with scheduling, client/staff assignments, tasks, and optional recurrence. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence, created_at. Required: start_at, end_at.
- **List all ShiftCare invoices** (List). List invoices, optionally filtered by client, payment status, payment type, and date range. Supports including client details and external references.
- **Create a ShiftCare invoice payment** (Create). Create a payment for an invoice in ShiftCare. Returns the created payment object with a 201 status on success. Required: invoice_id.
- **List all ShiftCare invoice payments** (List). List payments recorded against a specific invoice in ShiftCare. Returns: id, amount, reference, payment_date, notes, status, fund_id, void_at, created_at, updated_at. Required: invoice_id. Reversed payments are excluded by default; pass include_reversed=true to include them.
- **ShiftCare invoice payments reverse** (Action). Reverse or void a payment recorded against a ShiftCare invoice. Returns an empty 204 response on success. Required: invoice_id, payment_id.
- **List all ShiftCare pay groups** (List). List pay groups in ShiftCare with pagination. Returns: id, name, created_at, updated_at.
- **Create a ShiftCare qualification** (Create). Create a new qualification type in ShiftCare. Returns: id, name, category_id, description, require_for_all_carers, require_expiry, require_document, support_need_ids, account_id, created_at, updated_at. Required: name, category_id. The name must be unique within the account (case-insensitive).
- **Get single ShiftCare qualification by ID** (Get). Get a single ShiftCare qualification by id. Returns the qualification object including its id, name, category_id, description, require_for_all_carers, require_expiry, require_document, and support_need_ids. Required: id.
- **List all ShiftCare qualification categories** (List). List qualification categories in ShiftCare. Returns: id, name, account_id, created_at, updated_at.
- **Create a ShiftCare staff qualification** (Create). Create a qualification record for a staff member, optionally attaching a document and expiry date.
- **Delete a ShiftCare staff qualification by ID** (Delete). Delete a ShiftCare staff qualification by id. Returns an empty 204 response on success. Required: id.
- **Update a ShiftCare staff qualification by ID** (Update). Update a staff qualification record, such as replacing the attached document or changing its expiry date.
- **List all ShiftCare staff qualifications** (List). List staff qualifications in ShiftCare. Returns: id, created_at, updated_at.
- **Create a ShiftCare document** (Create). Upload a file to create a document in ShiftCare. The request body is multipart/form-data containing a binary file in the document field. Returns the created document object. Required: document.
- **List all ShiftCare documents** (List). List documents in ShiftCare with optional filtering by user id and category. Returns: id, file, category, account_id, user_id, app_visibility, visibility, no_expiration, expires_at. Max 20 per page.
- **Create a ShiftCare webhook** (Create). Create a new webhook subscription to receive events at a specified HTTPS URL. The signing secret is returned only in the create response.
- **List all ShiftCare webhooks** (List). List webhook subscriptions in ShiftCare. Returns: public_id, url, event_types, status, description, paused_at, paused_reason, created_at, updated_at, secret.
- **Get single ShiftCare webhook by ID** (Get). Retrieve a single webhook subscription by its public ID.
- **Update a ShiftCare webhook by ID** (Update). Update an existing webhook subscription's URL, subscribed event types, or description.
- **Delete a ShiftCare webhook by ID** (Delete). Delete (disable) a webhook subscription in ShiftCare by id. Returns an empty 204 response on success. Required: id.
- **ShiftCare webhooks rotate secret** (Rotate). Rotate the signing secret for a ShiftCare webhook subscription. Returns the updated subscription with its id and the newly generated secret. Required: webhook_id.
- **ShiftCare webhooks ping** (Action). Send a test ping to a ShiftCare webhook subscription to verify the webhook endpoint is reachable and accepting deliveries. Returns a 201 response on success. Required: webhook_id.
- **ShiftCare webhooks resume** (Resume). Resume a paused webhook subscription in ShiftCare. Returns a 201 response confirming the subscription has been resumed. Required: webhook_id.
- **List all ShiftCare webhook events** (List). List delivery events for a webhook subscription, in sequence order. Use after_sequence to page through events incrementally.
- **List all ShiftCare webhook deliveries** (List). List webhook deliveries for a ShiftCare webhook subscription with attempt history. Returns: id, status, attempts_count, final_status_code, completed_at, next_attempt_at, event_id, created_at, updated_at, attempts, request_payload. Required: webhook_id.
- **Get single ShiftCare webhook delivery by ID** (Get). Get a single ShiftCare webhook delivery by id, including full attempt history and request payload. Returns: id, status, attempts_count, final_status_code, completed_at, next_attempt_at, event_id, created_at, updated_at, attempts, request_payload. Required: webhook_id, id.
- **ShiftCare webhook deliveries redeliver** (Action). Re-enqueue a ShiftCare webhook delivery for retry, re-sending the original payload to the webhook endpoint. Returns the delivery object including id, status, attempts_count, final_status_code, completed_at, event_id. Required: webhook_id, delivery_id.
- **List all ShiftCare webhook event types** (List). List all webhook event types available to subscribe to, along with the resource type and description of each.
- **List all ShiftCare allowances** (List). List allowances for the current ShiftCare account. Returns: id, name, code, unit, external_id, xero_earnings_rate_id, value, external_ids.
- **Get single ShiftCare allowance by ID** (Get). Get a single ShiftCare allowance by id. Returns: id, name, code, unit, external_id, xero_earnings_rate_id, value, external_ids. Required: id.
- **ShiftCare allowances bulk create external IDS** (Create). Bulk create external IDs for allowances in ShiftCare, linking each allowance to an external payroll or HR system. Returns: external_ids, errors. Required: external_ids with id, type, and allowance_id per item.
- **ShiftCare allowances bulk destroy external IDS** (Action). Bulk destroy external IDs for allowances in ShiftCare. Returns an empty 200 response on success.
- **ShiftCare allowances bulk update external IDS** (Update). Bulk update external IDs for multiple allowances in ShiftCare via a PUT request. Returns 200 on success with the updated external ID records.
- **ShiftCare clients list funds** (List). List a client's funds in ShiftCare. The Fund entity stores a client's cashflow and can be used for fetching balances and planning services. Returns: id, name, amount, hours, start_at, expires_at. Required: client_id.
- **ShiftCare clients get fund balance** (Get). Get a client's fund's current balance in ShiftCare. Returns the fund's monetary and hours balance. Returns: balance_amount, balance_hours. Required: client_id, fund_id.
- **ShiftCare clients delete external reference** (Delete). Delete an external reference from a ShiftCare client. Returns an empty 200 response on success. Required: client_id, external_id.
- **Create a ShiftCare client** (Create). Create a new client in ShiftCare. Returns the created client object including id, first_name, family_name, dob, email, mobile_number, created_at, and updated_at. Required: first_name, dob.
- **List all ShiftCare clients** (List). List ShiftCare clients with optional filtering by ID or name and sorting by id or name. Returns: id, salutation, first_name, middle_name, family_name, display_name, gender, dob, address, address_unit_no, general_information, phone_number, mobile_number, email, marital_status, nationality, languages, ndis_number, medicare_number, aboriginal_torres_strait_islander, age_care_recipient_id,…
- **Update a ShiftCare client by ID** (Update). Update a specific ShiftCare client by id. Returns the updated client object including id, first_name, family_name, dob, email, client_status, created_at, and updated_at. Required: id.
- **ShiftCare clients get by external ID** (Get). Fetch a single ShiftCare client by their external ID. Returns the full client object including id, first_name, family_name, display_name, email, mobile_number, and address. Required: external_id.
- **Get single ShiftCare client by ID** (Get). Get a single ShiftCare client by id. Returns the full client profile including id, first_name, family_name, display_name, email, dob, address, phone_number, mobile_number, client_status, created_at, and updated_at. Required: id.
- **ShiftCare clients bulk create** (Create). Bulk create multiple clients in ShiftCare in a single request. Returns the created client records including id, first_name, family_name, and dob. Required: a clients array where each item includes first_name and dob (YYYY-MM-DD).
- **ShiftCare clients bulk create external IDS** (Create). Bulk create external IDs for multiple ShiftCare clients in a single request. Returns an external_ids array where each entry contains id, type, and organization_id. Required: external_ids with id, type, and client_id for each entry.
- **ShiftCare clients list external IDS** (List). List external IDs (external references) for a specific ShiftCare client. Returns: id, type, organization_id. Required: client_id.
- **ShiftCare pay items bulk update external IDS** (Update). Bulk update external IDs for ShiftCare pay items, mapping each pay item to an identifier in an external payroll or HR system. Returns: id, pay_group_id, name, reference_no, xero_earnings_rate_id, external_ids. Required: external_ids array where each entry must include id, type, and pay_item_id.
- **List all ShiftCare pay items** (List). List pay items in ShiftCare. Returns: id, pay_group_id, name, reference_no, xero_earnings_rate_id, external_ids.
- **Get single ShiftCare pay item by ID** (Get). Get a single ShiftCare pay item by id. The pay item entity stores weekday, weekend, or public holiday payroll information. Returns: id, pay_group_id, name, reference_no, xero_earnings_rate_id, external_ids. Required: id.
- **List all ShiftCare shift types** (List). List shift types in ShiftCare. The Shift Type entity assigns a specific category or metadata to shifts. Returns: id, external_id, name, type_string. Supports optional filtering by name. Max 50 items per page.
- **Get single ShiftCare shift type by ID** (Get). Get a single ShiftCare shift type by id. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence. Required: id.
- **ShiftCare staff list external IDS** (List). List external IDs associated with a ShiftCare staff member. Returns: id, type, organization_id. Required: staff_id.
- **ShiftCare staff create external ID** (Create). Create an external ID for a ShiftCare staff member, linking them to an external payroll or CRM system such as ADP, Xero, or QuickBooks. Returns: id, type, organization_id. Required: staff_id, id, type.
- **ShiftCare staff delete external reference** (Delete). Delete an external reference (external ID) for a ShiftCare staff member. Returns an empty response on success. Required: staff_id, external_id.
- **ShiftCare staff bulk create external IDS** (Create). Bulk-link external system identifiers to multiple staff members in a single call.
- **ShiftCare staff archive** (Archive). Archive a staff member. Archiving is processed asynchronously: it removes the staff member from future shifts and updates related records in the background.
- **ShiftCare staff bulk create** (Create). Bulk create multiple staff members in ShiftCare in a single request. Returns the created staff records including id, name, email, first_name, family_name, role, and created_at. Required: staffs[name], staffs[email].
- **ShiftCare staff bulk update** (Update). Bulk-update multiple staff members in a single call, matched by their ShiftCare staff IDs.
- **Create a ShiftCare staff** (Create). Create a new staff member. Optionally sends a platform invitation email.
- **List all ShiftCare staff** (List). List ShiftCare staff members. Returns: id, salutation, name, first_name, family_name, role, gender, dob, address, phone_number, mobile_number, email, employment_type, job_title, languages, kin_name, kin_relationship, kin_email, kin_phone_number, invitation_accepted_at, joined_at, created_at, updated_at, payroll_email, onboarding_status, external_ids.
- **Update a ShiftCare staff by ID** (Update). Update an existing staff member's profile fields.
- **ShiftCare staff get by external ID** (Get). Fetch a single ShiftCare staff member by their external ID. Returns: id, salutation, name, first_name, family_name, role, gender, dob, address, phone_number, mobile_number, email, employment_type, job_title, languages, kin_name, kin_relationship, kin_email, kin_phone_number, invitation_accepted_at, joined_at, created_at, updated_at, payroll_email, onboarding_status, external_ids. Required:…
- **Get single ShiftCare staff by ID** (Get). Fetch a single ShiftCare staff member by id. Returns: id, salutation, name, first_name, family_name, role, gender, dob, address, phone_number, mobile_number, email, employment_type, job_title, languages, kin_name, kin_relationship, kin_email, kin_phone_number, invitation_accepted_at, joined_at, created_at, updated_at, payroll_email, onboarding_status, external_ids. Required: id.
- **List all ShiftCare timesheets** (List). List timesheets in ShiftCare for a given date range. Returns: staff_id, date, client_ids, items, shift_id, status, clockin_at, clockout_at, clockin_location, clockout_location, staff. Required: from, to. Max 20 per page.
- **List all ShiftCare forms** (List). List ShiftCare form definitions with optional filtering by status and type. Returns: id, name, description, form_type, status, single_response, component_count, created_at, updated_at, components. Max 100 per page.
- **Get single ShiftCare form by ID** (Get). Get a single ShiftCare form definition by id. Returns the full form object including name, form_type, status, single_response, component_count, components, created_at, and updated_at. Required: id.
- **Create a ShiftCare form response** (Create). Create a form response in ShiftCare by submitting component values for a specific form and responder. Returns: id, form_id, form_name, responder_type, responder_id, responder_name, status, values, created_at, updated_at. Required: form_id, responder_type, responder_id, values.
- **List all ShiftCare form responses** (List). List form responses in ShiftCare with optional filtering by form, responder, status, and submission date. Returns: id, form_id, form_name, responder_type, responder_id, responder_name, status, values, created_at, updated_at. Component values are only included when include_values is set to true.
- **List all ShiftCare progress notes** (List). List progress notes, optionally filtered by shift, staff author, client, category, creation date range, or shift date range.
- **Get single ShiftCare progress note by ID** (Get). Get a single ShiftCare progress note by id. Returns: id, category, message, shift_id, shift_date, client, staff, follow_up, created_at, updated_at. Required: id.
- **List all ShiftCare invoiceable items** (List). List invoiceable items for a billing period in ShiftCare — priced shift and non-shift line items with tax-exclusive totals, grouped per client. Returns per-client entries with client_id, client_name, fund_id, fund_name, fund_type, payment_type, excluded_count, totals, and line_items. Required: start_date_in_account_time_zone, end_date_in_account_time_zone. A 404 response means the endpoint is not…
