| Requires any of the roles: | Admin, TenantAdmin, TeamAdmin |
| POST | /shift | Insert a new shift. |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Name | body | string | Yes | The shift name. |
| TeamId | body | string | No | ID of a team that this shift is optionally linked to. |
| StartTimeOffset | body | int | Yes | Start time of the shift as offset from 00:00 AM in minutes. |
| EndTimeOffset | body | string | Yes | Duration of shift in minutes. |
| StartDate | body | string | No | Date when the shift becomes valid. If not set, there is no starting date. |
| EndDate | body | string | No | Date when the shift becomes invalid. If not set, the shift remains valid indefinitely. |
| ShiftMembers | body | array | No | IDs of shift members. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Version | form | integer | No | Api version |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Shifts | form | List<ShiftDto> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ResponseStatus | form | ResponseStatus | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| OrganizationId | form | Guid | No | |
| Name | form | string | No | |
| TeamId | form | Guid? | No | |
| StartTimeOffset | form | int | No | |
| EndTimeOffset | form | int | No | |
| StartDate | form | DateTime? | No | |
| EndDate | form | DateTime? | No | |
| ShiftMembers | form | List<ShiftMemberDto> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| BusinessUserId | form | int | No | |
| FirstName | form | string | No | |
| LastName | form | string | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /shift HTTP/1.1
Host: api.4spaces.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
name: String,
teamId: 00000000000000000000000000000000,
startTimeOffset: 0,
endTimeOffset: 0,
startDate: -62135596800000,
endDate: -62135596800000,
shiftMembers:
[
0
],
version: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
shifts:
[
{
id: 00000000000000000000000000000000,
organizationId: 00000000000000000000000000000000,
name: String,
teamId: 00000000000000000000000000000000,
startTimeOffset: 0,
endTimeOffset: 0,
startDate: -62135596800000,
endDate: -62135596800000,
shiftMembers:
[
{
businessUserId: 0,
firstName: String,
lastName: String
}
]
}
],
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}