Appearance
TimeSheetMonth
Per-month aggregates derived from daily time-sheets, including the carry-in/-out overtime chain. Read-only except the manual carry overrides, the note and externalId; the workflow status moves through the month's actions, which fan out to its days.
Operations
GET/v2/time-sheet-months/specGET/v2/time-sheet-monthsGET/v2/time-sheet-months/{timeSheetMonthUuid}PATCH/v2/time-sheet-months/{timeSheetMonthUuid}POST/v2/time-sheet-months/by-userPOST/v2/time-sheet-months/{timeSheetMonthUuid}/submitPOST/v2/time-sheet-months/{timeSheetMonthUuid}/approvePOST/v2/time-sheet-months/{timeSheetMonthUuid}/declinePOST/v2/time-sheet-months/{timeSheetMonthUuid}/reset
OpenAPI Spec
List TimeSheetMonths
GET
/v2/time-sheet-months
List TimeSheetMonths
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Query Parameters
page
Type
number
Minimum
0Default
0size
Type
number
Minimum
1Maximum
20Default
10uuid
userUuid
month
status
externalId
createdAt
updatedAt
Responses
List response
application/json
JSON "page": 0, "pages": 0, "size": 10, "items": [ { "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string" } ]
{
}
Get a TimeSheetMonth
GET
/v2/time-sheet-months/{timeSheetMonthUuid}
Get a TimeSheetMonth by ID
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetMonthUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetMonth found
application/json
JSON "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Update a TimeSheetMonth
PATCH
/v2/time-sheet-months/{timeSheetMonthUuid}
Update a TimeSheetMonth by ID
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetMonthUuid*
Type
Requiredstring
Format
"uuid"Request Body
application/json
JSON "note": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string"
{
}
Responses
TimeSheetMonth found
application/json
JSON "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Find or create a TimeSheetMonth by user and month
POST
/v2/time-sheet-months/by-user
Answers the TimeSheetMonth of userUuid for month (YYYY-MM), creating it if it does not exist yet. A month more than 3 calendar months ahead is rejected with 400.
Authorizations
apiKey
Type
HTTP (bearer)
Request Body
application/json
JSON "userUuid": "string", "month": "string"
{
}
Responses
TimeSheetMonth found
application/json
JSON "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Submit a TimeSheetMonth
POST
/v2/time-sheet-months/{timeSheetMonthUuid}/submit
Moves every draft or declined day of the month to submitted, creating the month's missing days, and answers the month with its status recomputed. Days in any other state stay as they are. Takes no body.
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetMonthUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetMonth found
application/json
JSON "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Approve a TimeSheetMonth
POST
/v2/time-sheet-months/{timeSheetMonthUuid}/approve
Moves every submitted day of the month to approved, creating the month's missing days, and answers the month with its status recomputed. Days in any other state stay as they are. Takes no body.
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetMonthUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetMonth found
application/json
JSON "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Decline a TimeSheetMonth
POST
/v2/time-sheet-months/{timeSheetMonthUuid}/decline
Moves every submitted or approved day of the month to declined, creating the month's missing days, and answers the month 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
timeSheetMonthUuid*
Type
Requiredstring
Format
"uuid"Request Body
application/json
JSON "declinedNote": "string"
{
}
Responses
TimeSheetMonth found
application/json
JSON "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}
Reset a TimeSheetMonth
POST
/v2/time-sheet-months/{timeSheetMonthUuid}/reset
Moves every submitted, approved or declined day back to draft of the month to draft, creating the month's missing days, and answers the month with its status recomputed. Days in any other state stay as they are. Takes no body.
Authorizations
apiKey
Type
HTTP (bearer)
Parameters
Path Parameters
timeSheetMonthUuid*
Type
Requiredstring
Format
"uuid"Responses
TimeSheetMonth found
application/json
JSON "uuid": "string", "userUuid": "string", "month": "string", "status": "string", "note": "string", "declinedNote": "string", "submittedCount": 0, "approvedCount": 0, "declinedCount": 0, "submittedAt": "string", "submittedFirstAt": "string", "approvedAt": "string", "declinedAt": "string", "sumActual": 0, "sumTarget": 0, "sumActualComputed": 0, "sumTargetComputed": 0, "carryIn": 0, "carryInComputed": 0, "carryInCorrectionType": "string", "carryOut": 0, "carryOutComputed": 0, "carryOutCorrectionType": "string", "carryOutForfeited": 0, "lockedAt": "string", "sumActualLocked": 0, "sumTargetLocked": 0, "carryInLocked": 0, "carryOutLocked": 0, "currentDifference": 0, "hasMultipleDayTimeEntryCount": 0, "recomputableCount": 0, "hasOpenTimeEntryCount": 0, "openTimeEntryEarliestDay": "string", "computedAt": "string", "carryInManual": 0, "carryOutManual": 0, "externalId": "string", "createdAt": "string", "updatedAt": "string"
{
}