> ## Documentation Index
> Fetch the complete documentation index at: https://help.visualcare.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# Worker information

> Retrieve, create, and update worker records

<Warning>
  Any API POST/PUT request won't trigger a workflow.
</Warning>

### GET /workers

Retrieves all workers. By default, this excludes non-current and deleted workers.

**Example:** `GET /workers?includeSkills=TRUE`

**Parameters:**

| Parameter           | Default | Description                                           |
| ------------------- | ------- | ----------------------------------------------------- |
| `CarerId`           | -       | Filter by worker's carer ID                           |
| `includeSkills`     | FALSE   | If `TRUE`, includes skills associated with the worker |
| `includeNonCurrent` | FALSE   | If `TRUE`, includes non-current workers               |
| `includeDeleted`    | FALSE   | If `TRUE`, includes deleted workers                   |

**Response:**

```json theme={null}
[
  {
    "CarerId": 781,
    "CarerCode": "SMIJ01",
    "FirstName": "Jane",
    "LastName": "Smith",
    "PreferredName": "Jane",
    "Address1": "10 Example Street",
    "Address2": "",
    "Suburb": "Adelaide",
    "State": "SA",
    "PostCode": "5000",
    "Longitude": "138.6007456",
    "Latitude": "-34.9284989",
    "Email": "worker@example.com",
    "Phone1": "0400000000",
    "Phone2": "",
    "DateOfBirth": "1990-01-01",
    "StartDate": "2022-01-01",
    "EndDate": "2023-12-31",
    "AccountingCode": "AC12345",
    "WorkerNumber": "WN56789",
    "Description": "Reliable worker",
    "Sex": "Male",
    "Ethnicity": "Caucasian",
    "Marital": "Single",
    "Smoker": 1,
    "PetFriendly": 0,
    "WorkWithChildren": 0,
    "Languages": "English",
    "Area": "Basketball",
    "Division": "215",
    "CaseManager": "admin@example.com",
    "BudgetHours": 2,
    "Rating": -1,
    "WorkerType": "Casual",
    "Role": "2",
    "AwardCode": "MA000100",
    "AwardSector": "Casual - Home Care Employees",
    "PayPoint": 3,
    "PayrateLevel": 4,
    "InIsolation": 0,
    "IsolationStartDate": "2023-01-01",
    "IsolationEndDate": "2023-02-01",
    "CovidVaccine1": 0,
    "CovidVaccine2": 0,
    "DriversLicense": "Yes - truck",
    "DriversLicenseNo": "ABC123",
    "VehicleInsurancePolicy": "POL000001",
    "VehicleInsuranceType": "Comprehensive",
    "VehicleRegistration": "ABC123",
    "WebEnabled": 1,
    "CarerStatus": "Casual",
    "ResignReason": "Career change",
    "NDISClearance": 0,
    "ScreenCheckAppNo": "APP00001",
    "ScreenCheckNo": "CHK00001",
    "Current": 1,
    "Status": "Active",
    "CreatedBy": "admin@example.com",
    "CreatedTime": "2022-10-06 11:06:20",
    "LastModifiedTime": "2024-08-14 13:36:39",
    "RoleDescription": "Nurse",
    "AwardDesc": "Social, Community, Home Care and Disability Services Industry Award",
    "PreferedWorker": [],
    "NonPreferedWorker": []
  }
]
```

**Response fields:**

| Field                    | Type    | Notes                  |
| ------------------------ | ------- | ---------------------- |
| `CarerId`                | integer |                        |
| `CarerCode`              | string  |                        |
| `FirstName`              | string  |                        |
| `LastName`               | string  |                        |
| `PreferredName`          | string  |                        |
| `Address1`               | string  |                        |
| `Address2`               | string  |                        |
| `Suburb`                 | string  |                        |
| `State`                  | string  |                        |
| `PostCode`               | string  |                        |
| `Longitude`              | string  |                        |
| `Latitude`               | string  |                        |
| `Email`                  | string  |                        |
| `Phone1`                 | string  |                        |
| `Phone2`                 | string  |                        |
| `DateOfBirth`            | string  | Date                   |
| `StartDate`              | string  | Date                   |
| `EndDate`                | string  | Date                   |
| `AccountingCode`         | string  |                        |
| `WorkerNumber`           | string  |                        |
| `Description`            | string  |                        |
| `Sex`                    | string  |                        |
| `Ethnicity`              | string  |                        |
| `Marital`                | string  |                        |
| `Smoker`                 | integer | 0/1                    |
| `PetFriendly`            | integer | 0/1                    |
| `WorkWithChildren`       | integer | 0/1                    |
| `Languages`              | string  |                        |
| `Area`                   | string  |                        |
| `Division`               | string  |                        |
| `CaseManager`            | string  | Email                  |
| `BudgetHours`            | integer |                        |
| `Rating`                 | integer |                        |
| `WorkerType`             | string  | for example `"Casual"` |
| `Role`                   | string  |                        |
| `AwardCode`              | string  |                        |
| `AwardSector`            | string  |                        |
| `PayPoint`               | integer |                        |
| `PayrateLevel`           | integer |                        |
| `InIsolation`            | integer | 0/1                    |
| `IsolationStartDate`     | string  | Date                   |
| `IsolationEndDate`       | string  | Date                   |
| `CovidVaccine1`          | integer | 0/1                    |
| `CovidVaccine2`          | integer | 0/1                    |
| `DriversLicense`         | string  |                        |
| `DriversLicenseNo`       | string  |                        |
| `VehicleInsurancePolicy` | string  |                        |
| `VehicleInsuranceType`   | string  |                        |
| `VehicleRegistration`    | string  |                        |
| `WebEnabled`             | integer | 0/1                    |
| `CarerStatus`            | string  |                        |
| `ResignReason`           | string  |                        |
| `NDISClearance`          | integer | 0/1                    |
| `ScreenCheckAppNo`       | string  |                        |
| `ScreenCheckNo`          | string  |                        |
| `Current`                | integer | 0/1                    |
| `Status`                 | string  |                        |
| `CreatedBy`              | string  | Email                  |
| `CreatedTime`            | string  | Datetime               |
| `LastModifiedTime`       | string  | Datetime               |
| `RoleDescription`        | string  |                        |
| `AwardDesc`              | string  |                        |
| `PreferedWorker`         | array   |                        |
| `NonPreferedWorker`      | array   |                        |

***

### POST /worker

Creates a new worker record.

**Required fields:** `FirstName`, `LastName`

**Auto-generated:** `CarerId`

**Side effects:** Creates availability by default and compliance items based on org settings.

**Fields that CANNOT be set:** `CarerId`, `CarerCode`, `WebIdHash`, `WebPassword`, `WebLastLogin`, `WebPhoneType`, `WebGPSLong`, `WebGPSLat`, `WebGPSDate`, `WebAvailability`, `WebPushToken`, `Status`, `_LastAppUpdateSeenTime`, `_LastAppUpdateVersion`, `_LastModTime`, `_LastModUser`, `_CreateTime`, `_CreateUser`, `_RecordLocked`, `LinkingDBId`

**Content-Type:** `application/json`

**Request body:**

```json theme={null}
[
  {
    "FirstName": "Michael",
    "LastName": "Jordan"
  }
]
```

<Note>
  The POST body is wrapped in an array, unlike the PUT body which is a plain object.
</Note>

<Note>
  Successful response format is not documented. No example response is provided in the source.
</Note>

***

### PUT /worker

Updates an existing worker record.

**Required fields:** `CarerId` (plus at least one field to update, otherwise returns an error)

**Fields that CANNOT be edited:** `CarerId`, `CarerCode`, `WebIdHash`, `WebPassword`, `WebLastLogin`, `WebPhoneType`, `WebGPSLong`, `WebGPSLat`, `WebGPSDate`, `WebAvailability`, `WebPushToken`, `_LastAppUpdateSeenTime`, `_LastAppUpdateVersion`, `_LastModTime`, `_LastModUser`, `_CreateTime`, `_CreateUser`, `_RecordLocked`, `LinkingDBId`

<Note>
  The PUT non-editable list does NOT include `Status` (unlike POST), suggesting Status may be updatable via PUT.
</Note>

**Content-Type:** `application/json`

**Request body:**

```json theme={null}
{
  "CarerId": 1303,
  "LastName": "Jeffery"
}
```
