Skip to main content

User Vacation Days API

General notes​

Api for managing User's Vacation days.

Content​

User vacation days collection:

Single record:

User vacation days amounts collection

Create user vacation days amounts​

POST /api/v0/user-vacation-days

To create new record this method needs permission create on userVacationDaysAmounts.

Method for creating new UserVacationDaysAmount.

Request​

ParamTypeDescriptionRequirements
yearintYearRequired. Must be year 2000 and later.
daysintVacation's end dateRequired. Must be an integer.
user_idintApproval stateRequired.

Year and user_id must be a unique combination.

Setting days automatically sets original_days.

POST /api/v0/user-vacation-days HTTP/1.1
Content-Type: application/json

{
"year": 2022,
"user_id": 2,
"days": 28
}

Responses​

201 CREATED​

New UserVacationDaysAmount was successfully created.

POST /api/v0/user-vacation-days HTTP/1.1
Content-Type: application/json
Status-Code: 201

{
"id": 5,
"days": 28,
"original_days": 28,
"year": 2022,
"user_id": 2
}

422 UNPROCESSABLE ENTITY​

Validation error occurred. Cannot set second record in the same year for a specific user.

POST /api/v0/user-vacation-days HTTP/1.1
Content-Type: application/json
Status-Code: 422

{
"type": "ValidationError",
"message": "The given data was invalid.",
"id": "030cb243-8c4f-4e0b-b0b4-a4d4708a6456",
"errors": [
{
"field": "year",
"message": "Pole musí být unikátní."
},
{
"field": "user_id",
"message": "Pole musí být unikátní."
}
]
}

User vacation days amounts index​

GET /api/v0/user-vacation-days

This method needs permission read on userVacationDaysAmounts.

Get list of existing UserVacationDaysAmounts.

Request​

Index behaviourDefinition
Paginated by defaultNo
Sortingid, year, user_id, days
Filtersid:enum, year:enum , user_id:enum, days:enum
GET /api/v0/user-vacation-days HTTP/1.1

Responses​

200 OK​

GET /api/v0/user-vacation-days HTTP/1.1
Content-Type: application/json
Status-Code: 200

{
"items": [
{
"id": 1,
"days": 0,
"original_days": 28
"year": 2022,
"user_id": 2
},
{
"id": 2,
"days": 15,
"original_days": 24
"year": 2023,
"user_id": 1
},
{
"id": 3,
"days": 30,
"original_days": 30
"year": 2024,
"user_id": 1
}
]
}

Single user vacation days amount

Vacation detail​

GET /api/v0/user-vacation-days/{userVacationDays_id}

This method needs permission read on userVacationDaysAmounts.

Get UserVacationDaysAmount detail.

Request​

GET /api/v0/user-vacation-days/1 HTTP/1.1

Responses​

200 OK​

GET /api/v0/user-vacation-days/1 HTTP/1.1
Content-Type: application/json
Status-Code: 200

{
"id": 1,
"days": 21,
"original_days": 28
"year": 2022,
"user_id": 2
}

404 NOT FOUND​

UserVacationDaysAmount was not found.

GET /api/v0/user-vacation-days/5 HTTP/1.1
Content-Type: application/json
Status-Code: 404

{
"type": "NotFound",
"message": "No query results for model.",
"id": "0cd85449-05fe-4866-9802-8192e6785fc7"
}

Update user vacation days amount​

PUT/PATCH /api/v0/user-vacation-days/{userVacationDays_id}

This method needs permission update on userVacationDaysAmounts.

Method for updating UserVacationDaysAmount data.

Request​

ParamTypeDescriptionRequirements
yearintYearRequired. Must be year 2000 and later.
daysintAvailable daysRequired. Must be an integer.
user_idintUser identifierRequired.

Updating days via this endpoint also automatically updates original_days.

PUT /api/v0/user-vacation-days/1 HTTP/1.1
Content-Type: application/json

{ "days": 10, "year": 2028, "user_id": 1 }


### Responses

#### 200 OK

[UserVacationDaysAmount](/docs/api/data-types/user-vacation-days-amount) successfully updated.

```json
PUT /api/v0/user-vacation-days/1 HTTP/1.1
Content-Type: application/json
Status-Code: 200

{
"id": 1,
"days": 10,
"original_days": 10,
"year": 2028,
"user_id": 1
}

404 NOT FOUND​

UserVacationDaysAmount was not found.

PUT /api/v0/vacations/2 HTTP/1.1
Content-Type: application/json
Status-Code: 404

{
"type": "NotFound",
"message": "No query results for model.",
"id": "0cd85449-05fe-4866-9802-8192e6785fc7"
}

422 UNPROCESSABLE ENTITY​

Validation error occurred.

PATCH /api/v0/user-vacation-days/1 HTTP/1.1
Content-Type: application/json
Status-Code: 422

{
"type": "ValidationError",
"message": "The given data was invalid.",
"id": "303b0a87-e5b2-47a1-88b4-c09731b3b9e2",
"errors": [
{
"field": "year",
"message": "Pole musí být unikátní."
},
{
"field": "user_id",
"message": "Pole musí být unikátní."
}
]
}

Delete user vacation days amount​

DELETE /api/v0/user-vacation-days/{userVacationDays_id}

This method needs permission delete on userVacationDaysAmounts.

Method for deleting UserVacationDaysAmount.

Request​

DELETE /api/v0/user-vacation-days/1 HTTP/1.1

Responses​

204 NO CONTENT​

UserVacationDaysAmount successfully deleted.

DELETE /api/v0/user-vacation-days/1 HTTP/1.1
Status-Code: 204

404 NOT FOUND​

UserVacationDaysAmount was not found.

DELETE /api/v0/user-vacation-days/1 HTTP/1.1
Content-Type: application/json
Status-Code: 404

{
"type": "NotFound",
"message": "No query results for model.",
"id": "0cd85449-05fe-4866-9802-8192e6785fc7"
}