---
title: "Set the start and end date of an existing employment contract"
method: POST
path: "/public/employment-contract/v1/set-employment-contract-dates"
tags: ["EmploymentContract"]
---

# Set the start and end date of an existing employment contract

`POST /public/employment-contract/v1/set-employment-contract-dates`

Set the start and end date of an existing employment contract. When the end date is not provided, it's
automatically calculated based on the provided start date and the duration that was specified when creating the
employment contract. This step is necessary before creating placements for this employment contract. It's not
possible to change the dates of an employment contract when they are already set

## Query parameters

- `workerId` string, uuid, required — The unique id of the worker, as returned from the /create-worker endpoint.

## Request body

- EmploymentContractUpdateDatesRequestV1
  - `employmentContractId` string, uuid, required — The unique id of the employment contract.
  - `startDate` string, date, required — The new start date of the employment contract.
  - `endDate` string, date — The new end date of the employment contract. When not provided, it will be calculated based on the provided start date and the duration specified when creating the employment contract.

## Response `200`

Successfully set the employment contract dates

- EmploymentContractV1
  - `employmentContractId` string, uuid, required — The unique id of the employment contract.
  - `hoursPerWeek` number, required — The number of hours the worker will work per week for this employment contract.
  - `isPayrollTaxReduction` boolean, required — Whether the payroll tax reduction applies to this employment contract.
  - `type` 'PHASE_B' | 'PHASE_C', required — The type of the employment contract
  - `status` 'PENDING_SIGNATURE' | 'DOCUMENT_SIGNING_PERIOD_EXPIRED' | 'ACTIVE' | 'EXPIRED', required — The status of the employment contract
  - `startDate` string, date — The start date of the employment contract.
  - `endDate` string, date — The end date of the employment contract. The contract runs up to and including this date.
  - `signingUrl` string — A URL to sign the employment contract. This is only provided when the contract is in PENDING_SIGNATURE status.
  - `signingUrlExpirationTime` string, date-time — The timestamp (UTC) at which the signing URL will expire. This is only provided when the contract is in PENDING_SIGNATURE status.

## Other responses

- `400` — The request could not be processed. This could be due to a number of reasons: * The request does not have all required data. * Data in the request is invalid. * Data in the request is inconsistent. * The operation is not allowed given the current state of the data.
- `401` — The request did not contain credentials identifying the caller, or the provided credentials were invalid.
- `403` — The data that the request referred to is inaccessible to the caller.

---

[API](https://skmtc.net/maqqie/apis/maqqie-public-api.md) · [All operations](https://skmtc.net/maqqie/apis/maqqie-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maqqie/maqqie-public-api/revisions/41e5cd97d4d7/schema)
