Appearance
TimeSheetWeek
Per-week aggregates derived from daily time-sheets. Read-only except externalId; the workflow status moves through the week's actions, which fan out to its days.
Operations
GET/v2/time-sheet-weeks/specGET/v2/time-sheet-weeksGET/v2/time-sheet-weeks/{timeSheetWeekUuid}PATCH/v2/time-sheet-weeks/{timeSheetWeekUuid}POST/v2/time-sheet-weeks/by-userPOST/v2/time-sheet-weeks/{timeSheetWeekUuid}/submitPOST/v2/time-sheet-weeks/{timeSheetWeekUuid}/approvePOST/v2/time-sheet-weeks/{timeSheetWeekUuid}/declinePOST/v2/time-sheet-weeks/{timeSheetWeekUuid}/reset
OpenAPI Spec
List TimeSheetWeeks
GET
/v2/time-sheet-weeks
List TimeSheetWeeks
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Query Parameters
page
Type
number
Minimum
0Default
0size
Type
number
Minimum
1Maximum
20Default
10uuid
userUuid
weekStart
status
externalId
createdAt
updatedAt
Responses
List response
application/json
JSON "page": 0, "pages": 0, "size": 10, "items": [ { "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string" } ]
{
}
Get a TimeSheetWeek
GET
/v2/time-sheet-weeks/{timeSheetWeekUuid}
Get a TimeSheetWeek by ID
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetWeekUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetWeek found
application/json
JSON "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Update a TimeSheetWeek
PATCH
/v2/time-sheet-weeks/{timeSheetWeekUuid}
Update a TimeSheetWeek by ID
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetWeekUuid*
Type
Requiredstring
Format
"uuid"Request Body
application/json
JSON "externalId": "string"
{
}
Responses
TimeSheetWeek found
application/json
JSON "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Find or create a TimeSheetWeek by user and week start
POST
/v2/time-sheet-weeks/by-user
Answers the TimeSheetWeek of userUuid starting on weekStart (the Monday of the ISO week), creating it if it does not exist yet. A weekStart more than 3 calendar months ahead is rejected with 400.
Authorizations
apiKey
Type
HTTP (bearer)
Request Body
application/json
JSON "userUuid": "string", "weekStart": "string"
{
}
Responses
TimeSheetWeek found
application/json
JSON "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Submit a TimeSheetWeek
POST
/v2/time-sheet-weeks/{timeSheetWeekUuid}/submit
Moves every draft or declined day of the week to submitted, creating the week's missing days, and answers the week with its status recomputed. Days in any other state stay as they are. Takes no body.
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetWeekUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetWeek found
application/json
JSON "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Approve a TimeSheetWeek
POST
/v2/time-sheet-weeks/{timeSheetWeekUuid}/approve
Moves every submitted day of the week to approved, creating the week's missing days, and answers the week with its status recomputed. Days in any other state stay as they are. Takes no body.
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetWeekUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetWeek found
application/json
JSON "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Decline a TimeSheetWeek
POST
/v2/time-sheet-weeks/{timeSheetWeekUuid}/decline
Moves every submitted or approved day of the week to declined, creating the week's missing days, and answers the week with its status recomputed. Days in any other state stay as they are. Takes an optional declinedNote, set on every day it declines.
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetWeekUuid*
Type
Requiredstring
Format
"uuid"Request Body
application/json
JSON "declinedNote": "string"
{
}
Responses
TimeSheetWeek found
application/json
JSON "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Reset a TimeSheetWeek
POST
/v2/time-sheet-weeks/{timeSheetWeekUuid}/reset
Moves every submitted, approved or declined day back to draft of the week to draft, creating the week's missing days, and answers the week with its status recomputed. Days in any other state stay as they are. Takes no body.
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetWeekUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetWeek found
application/json
JSON "uuid": "string", "userUuid": "string", "weekStart": "string", "status": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}