JoinedUp API (2022-08-06T00:00:00Z)

Download OpenAPI specification:Download

API with services related to workers, timesheets, shifts, users and sites.

Timesheets

Gets timesheets for the default week

Gets timesheets for the default week

Authorizations:
ApiKeyAuth
query Parameters
lastModifiedSince
stringyyyy-MM-dd'T'HH:mm:ss'Z'

Return only the timesheets that have been modified since that date

Responses

Response samples

Content type
application/json
{
  • "isoWeek": "string",
  • "maxLastModifiedDate": "2019-08-24T14:15:22Z",
  • "sites": [
    ],
  • "workers": [
    ],
  • "timesheets": [
    ]
}

Gets timesheets for the specified ISO week

Gets timesheets for the specified ISO week

Authorizations:
ApiKeyAuth
path Parameters
isoWeek
required
string

ISO week (e.g. 07-2020)

query Parameters
lastModifiedSince
stringyyyy-MM-dd'T'HH:mm:ss'Z'

Return only the timesheets that have been modified since that date

Responses

Response samples

Content type
application/json
{
  • "isoWeek": "string",
  • "maxLastModifiedDate": "2019-08-24T14:15:22Z",
  • "sites": [
    ],
  • "workers": [
    ],
  • "timesheets": [
    ]
}

Triggers manual timesheet amalgamation for a given

Triggers manual timesheet amalgamation for a given week or for the default week (new version)

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
integer

org id to be added or removed

query Parameters
isoWeek
required
string

trigger amalgamation for the week (new version)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "refId": "string",
  • "statusCode": 0,
  • "message": "string"
}

Add org id retrieved from Api key to the shouldAma

Add org id retrieved from Api key to the shouldAmalgamateDataTable DynamoDB table

Authorizations:
ApiKeyAuth
Request Body schema: application/json
orgId
integer
amalgamationStrategy
string

Responses

Request samples

Content type
application/json
{
  • "orgId": 0,
  • "amalgamationStrategy": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "refId": "string",
  • "statusCode": 0,
  • "message": "string"
}

Remove org id retrieved from Api key from the shou

Remove org id retrieved from Api key from the shouldAmalgamateDataTable DynamoDB table

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
integer

org id to be added or removed

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "refId": "string",
  • "statusCode": 0,
  • "message": "string"
}

Workers

Gets a worker by JoinedUp Id

Gets a worker by JoinedUp Id

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer

JoinedUp Id of worker

Responses

Response samples

Content type
application/json
{
  • "Id": "string",
  • "refId": "string",
  • "title": "string",
  • "firstname": "string",
  • "middlename": "string",
  • "surname": "string",
  • "dateOfBirth": "2019-08-24",
  • "email": "string",
  • "mobileCountryCode": "string",
  • "mobileNumber": "string",
  • "nationalInsuranceNumber": "string",
  • "gender": "male",
  • "nationality": "string",
  • "address": {
    },
  • "employmentType": "PAYE",
  • "company": {
    },
  • "drivingLicenceStatus": "string",
  • "clientRef": "string",
  • "linkedBranches": [
    ],
  • "owningBranch": "string",
  • "customFields": {
    },
  • "skipRegistrationChecksUntil": "2019-08-24",
  • "skipEmailConfirmationUntil": "2019-08-24"
}

Update worker details, a non-existent worker will

Update worker details, a non-existent worker will be rejected. Only included fields will be updated.

Authorizations:
ApiKeyAuth
path Parameters
id
required
integer

JoinedUp Id of worker

Request Body schema: application/json
Id
string
refId
string
title
string
firstname
required
string
middlename
string
surname
required
string
dateOfBirth
string <date>
email
required
string
mobileCountryCode
string
mobileNumber
string
nationalInsuranceNumber
string
gender
string
Enum: "male" "female" "not_set"
nationality
string
object (Address)
employmentType
string
Enum: "PAYE" "PARTNER_AGENCY" "LTD" "UMBRELLA"
object (Company)
drivingLicenceStatus
string
clientRef
string
Array of objects (Linked branch)
owningBranch
string
object
skipRegistrationChecksUntil
string <date>
skipEmailConfirmationUntil
string <date>

Responses

Request samples

Content type
application/json
{
  • "Id": "string",
  • "refId": "string",
  • "title": "string",
  • "firstname": "string",
  • "middlename": "string",
  • "surname": "string",
  • "dateOfBirth": "2019-08-24",
  • "email": "string",
  • "mobileCountryCode": "string",
  • "mobileNumber": "string",
  • "nationalInsuranceNumber": "string",
  • "gender": "male",
  • "nationality": "string",
  • "address": {
    },
  • "employmentType": "PAYE",
  • "company": {
    },
  • "drivingLicenceStatus": "string",
  • "clientRef": "string",
  • "linkedBranches": [
    ],
  • "owningBranch": "string",
  • "customFields": {
    },
  • "skipRegistrationChecksUntil": "2019-08-24",
  • "skipEmailConfirmationUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "refId": "string",
  • "statusCode": 0,
  • "message": "string"
}

Gets a worker by agency Id

Gets a worker by agency Id

Authorizations:
ApiKeyAuth
path Parameters
refId
required
string

agency Id of worker

Responses

Response samples

Content type
application/json
{
  • "Id": "string",
  • "refId": "string",
  • "title": "string",
  • "firstname": "string",
  • "middlename": "string",
  • "surname": "string",
  • "dateOfBirth": "2019-08-24",
  • "email": "string",
  • "mobileCountryCode": "string",
  • "mobileNumber": "string",
  • "nationalInsuranceNumber": "string",
  • "gender": "male",
  • "nationality": "string",
  • "address": {
    },
  • "employmentType": "PAYE",
  • "company": {
    },
  • "drivingLicenceStatus": "string",
  • "clientRef": "string",
  • "linkedBranches": [
    ],
  • "owningBranch": "string",
  • "customFields": {
    },
  • "skipRegistrationChecksUntil": "2019-08-24",
  • "skipEmailConfirmationUntil": "2019-08-24"
}

Update worker details, a non-existent worker will

Update worker details, a non-existent worker will be rejected. Only included fields will be updated.

Authorizations:
ApiKeyAuth
path Parameters
refId
required
string

agency Id of worker

Request Body schema: application/json
Id
string
refId
string
title
string
firstname
required
string
middlename
string
surname
required
string
dateOfBirth
string <date>
email
required
string
mobileCountryCode
string
mobileNumber
string
nationalInsuranceNumber
string
gender
string
Enum: "male" "female" "not_set"
nationality
string
object (Address)
employmentType
string
Enum: "PAYE" "PARTNER_AGENCY" "LTD" "UMBRELLA"
object (Company)
drivingLicenceStatus
string
clientRef
string
Array of objects (Linked branch)
owningBranch
string
object
skipRegistrationChecksUntil
string <date>
skipEmailConfirmationUntil
string <date>

Responses

Request samples

Content type
application/json
{
  • "Id": "string",
  • "refId": "string",
  • "title": "string",
  • "firstname": "string",
  • "middlename": "string",
  • "surname": "string",
  • "dateOfBirth": "2019-08-24",
  • "email": "string",
  • "mobileCountryCode": "string",
  • "mobileNumber": "string",
  • "nationalInsuranceNumber": "string",
  • "gender": "male",
  • "nationality": "string",
  • "address": {
    },
  • "employmentType": "PAYE",
  • "company": {
    },
  • "drivingLicenceStatus": "string",
  • "clientRef": "string",
  • "linkedBranches": [
    ],
  • "owningBranch": "string",
  • "customFields": {
    },
  • "skipRegistrationChecksUntil": "2019-08-24",
  • "skipEmailConfirmationUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "refId": "string",
  • "statusCode": 0,
  • "message": "string"
}

Create new worker, A duplicate worker will be reje

Create new worker, A duplicate worker will be rejected

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Id
string
refId
string
title
string
firstname
required
string
middlename
string
surname
required
string
dateOfBirth
string <date>
email
required
string
mobileCountryCode
string
mobileNumber
string
nationalInsuranceNumber
string
gender
string
Enum: "male" "female" "not_set"
nationality
string
object (Address)
employmentType
string
Enum: "PAYE" "PARTNER_AGENCY" "LTD" "UMBRELLA"
object (Company)
drivingLicenceStatus
string
clientRef
string
Array of objects (Linked branch)
owningBranch
string
object
skipRegistrationChecksUntil
string <date>
skipEmailConfirmationUntil
string <date>

Responses

Request samples

Content type
application/json
{
  • "Id": "string",
  • "refId": "string",
  • "title": "string",
  • "firstname": "string",
  • "middlename": "string",
  • "surname": "string",
  • "dateOfBirth": "2019-08-24",
  • "email": "string",
  • "mobileCountryCode": "string",
  • "mobileNumber": "string",
  • "nationalInsuranceNumber": "string",
  • "gender": "male",
  • "nationality": "string",
  • "address": {
    },
  • "employmentType": "PAYE",
  • "company": {
    },
  • "drivingLicenceStatus": "string",
  • "clientRef": "string",
  • "linkedBranches": [
    ],
  • "owningBranch": "string",
  • "customFields": {
    },
  • "skipRegistrationChecksUntil": "2019-08-24",
  • "skipEmailConfirmationUntil": "2019-08-24"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "refId": "string",
  • "statusCode": 0,
  • "message": "string"
}

Validates the inclusion of workers

Validates the inclusion of workers

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Array of objects (WorkersShiftsImporterRow)

Responses

Request samples

Content type
application/json
{
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Import workers

Import workers

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Array of objects (WorkersShiftsImporterRow)

Responses

Request samples

Content type
application/json
{
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Attachments

Uploads an attachment file for a given worker

Authorizations:
ApiKeyAuth
path Parameters
workerId
required
integer <int>

Worker id

Request Body schema: multipart/form-data
docType
required
string
Enum: "CV" "COMPLIANCE_DOC"
validFrom
string <date>
validTo
string <date>
filename
required
string

filename fo file

file
required
string <binary>

file to upload b64 encoded

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "refId": "string",
  • "statusCode": 0,
  • "message": "string"
}

Shifts

Validates the inclusion of shift start and stop ti

Validates the inclusion of shift start and stop times

Authorizations:
ApiKeyAuth
Request Body schema: application/json
siteName
string
Array of objects (ShiftTimesImporterRow)

Responses

Request samples

Content type
application/json
{
  • "siteName": "string",
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Import shift start and stop times

Import shift start and stop times

Authorizations:
ApiKeyAuth
Request Body schema: application/json
siteName
string
Array of objects (ShiftTimesImporterRow)

Responses

Request samples

Content type
application/json
{
  • "siteName": "string",
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Import shift start and stop times in a batch

Import shift start and stop times in a batch

Authorizations:
ApiKeyAuth
Request Body schema: application/json
siteName
string
Array of objects (ShiftTimesImporterRow)

Responses

Request samples

Content type
application/json
{
  • "siteName": "string",
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "batchProcessId": 0
}

Validates the inclusion of unallocated shifts

Validates the inclusion of unallocated shifts

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Array of objects (UnallocatedShiftsImporterRow)

Responses

Request samples

Content type
application/json
{
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Import unallocated shifts

Import unallocated shifts

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Array of objects (UnallocatedShiftsImporterRow)

Responses

Request samples

Content type
application/json
{
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Shift attendance events

(WIP) List of attendance events

Returns list of attendance events. NOTE: dates are all returned in UTC timezone. This is a Work in Progress (WIP) - reach out to support for more information if you desire to start using it.

Authorizations:
ApiKeyAuth
query Parameters
from
required
string <date-time>

From date and time to search for events

to
required
string <date-time>

To date and time to search for events

page
required
integer

Page to return the events

size
required
integer

Number of events to be returned in the API

order
string
Enum: "asc" "desc"

Sort order

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pageNumber": 0,
  • "pageSize": 0,
  • "totalResults": 0
}

Users

Validates the inclusion of users

Validates the inclusion of users

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Array of objects (UsersShiftsImporterRow)

Responses

Request samples

Content type
application/json
{
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Import users

Import users

Authorizations:
ApiKeyAuth
Request Body schema: application/json
Array of objects (UsersShiftsImporterRow)

Responses

Request samples

Content type
application/json
{
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Sites

Validates the inclusion of site partners

Validates the inclusion of site partners

Authorizations:
ApiKeyAuth
Request Body schema: application/json
siteName
string
Array of objects (SitePartnersImporterRow)

Responses

Request samples

Content type
application/json
{
  • "siteName": "string",
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Import site partners

Import site partners

Authorizations:
ApiKeyAuth
Request Body schema: application/json
siteName
string
Array of objects (SitePartnersImporterRow)

Responses

Request samples

Content type
application/json
{
  • "siteName": "string",
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "originalRecordsCount": 0,
  • "originalRecordsSuccessfullyProcessed": 0,
  • "rows": [
    ],
  • "errors": [
    ],
  • "status": "string",
  • "message": "string"
}

Shift templates

Get batch job summary by batchJobId

Get batch job summary by batchJobId

Authorizations:
ApiKeyAuth
path Parameters
batchJobId
required
integer

Id of batch shift import job

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "SHIFT_TIMES_IMPORTER",
  • "status": "QUEUED",
  • "submittedDate": "2019-08-24T14:15:22Z",
  • "completedDate": "2019-08-24T14:15:22Z",
  • "totalNumberOfRecords": 0,
  • "totalNumberOfRecordsProcessed": 0,
  • "failedRecords": 0,
  • "userId": 0,
  • "fullname": "string"
}

BatchJobs

Gets batch job messages

Gets batch job messages

Authorizations:
ApiKeyAuth
path Parameters
batchJobId
required
integer

Id of batch shift import job

Responses

Response samples

Content type
application/json
{
  • "itemMessages": [
    ],
  • "generalErrors": [
    ]
}