RosterImport shift notes

Import shift notes

Needs: Roster, Read-write (Owner or Superadmin)

Migrates shift notes from another system onto imported shifts, as the worker's own shift notes with their original times. Each note is matched to one published shift by client, worker and the shift's scheduled start. A note with no matching shift fails. A batch imports all or nothing, and notes already imported are skipped.

curl -X POST "https://app.imploy.com.au/api/integrations/v1/shift-notes/import" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "dry_run": true,
  "notes": [
    {
      "client": "Example Client",
      "staff": "Example Worker",
      "shift_start": "2026-03-02 09:00",
      "notes": "<p>Visit completed.</p>",
      "created_at": "2026-03-02 13:05"
    }
  ]
}'
{
  "dry_run": true,
  "ready": 1,
  "skipped_duplicates": 0,
  "failed": 0,
  "time_zone": "Australia/Perth",
  "results": [
    {
      "index": 0,
      "ok": true,
      "status": "ready",
      "ref": "a:123"
    }
  ]
}
POST
/shift-notes/import
POST
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.

An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.
Content-Typestring
Required

The media type of the request body

Options: application/json
notesarray
Required

Up to 100 notes. Each needs client, staff (the worker who wrote it, who must be on the shift) and notes, plus either shift_start (YYYY-MM-DD HH:MM, the scheduled start) or shift_ref. Optional created_at, YYYY-MM-DD HH:MM, not in the future.

dry_runboolean

Match and check every note without saving.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. An organisation access token that starts with imp_at_. Send it as Authorization: Bearer imp_at_XXXX.

Body

application/json
notesarray
Required

Up to 100 notes. Each needs client, staff (the worker who wrote it, who must be on the shift) and notes, plus either shift_start (YYYY-MM-DD HH:MM, the scheduled start) or shift_ref. Optional created_at, YYYY-MM-DD HH:MM, not in the future.

dry_runboolean

Match and check every note without saving.

Responses

Dry run