Add a vacancy
This endpoint allows creating a vacancy and making it public for the employees specified in the request.
POST /api/v1/businesses/{businessId}/vacancies
|
Mandatory fields are marked with an asterisk (*). |
Request body
| JSON Analysis |
|---|
Details
|
Request example
Once the analysis of the different fields has been done, an example of the request body is shown:
{
"id": "2f14p",
"product": "0001-G",
"day": "2026-07-24",
"expiration": "2026-07-23T04:00:00Z",
"employees": [
"1006370","2677189"
],
"shifts": [
{
"start": "2026-07-24T18:00:00Z",
"end": "2026-07-24T19:00:00Z"
},
{
"start": "2026-07-24T21:00:00Z",
"end": "2026-07-25T03:00:00Z"
}
],
"publishToSiblings": true
}
If the data is correct, the vacancy will be published and will be visible under Scheduling > Vacant offers.
Considerations
If any of the mandatory fields is not sent, the request will return a 400 Bad Request error indicating in the message which required field is missing.
If the external identifier of the vacancy already exists, the request will return a 400 Bad request error indicating Vacancy already exists.
Shifts (shifts) must match the day the vacancy is published for (day). The end field can be later in shifts ending after 00:00.
Times must be sent in UTC or with the corresponding time zone, and the publication is done considering the service’s time zone.
If "publishToSiblings": false is sent, it is validated that all employees listed in the request belong to the product where the vacancy is published. If any of them do not belong to that product, the request will return a 400 Bad Request error with the message Employees do not belong to product.
|
Siblings of a product are the other products that belong to the same node in the organizational structure. |
Different vacancies can be published for the same date and interval as long as the external identifiers do not match.
Useful links
What is a vacancy?