---
title: "Updating a vacancy code"
method: PUT
path: "/jobs/{jobId}/vacancies/{vacancyId}"
tags: ["Jobs"]
---

# Updating a vacancy code

`PUT /jobs/{jobId}/vacancies/{vacancyId}`

Updates vacancy code, status and errorMessage.

Valores legados de `status` (`waiting`, `error`, etc.) continuam aceitos no contrato,
mas o código é sempre persistido como `valid` e `errorMessage` como null.

## Path parameters

- `jobId` integer, required
- `vacancyId` integer, required

## Request body

- VacancyPutRequest — Vacancy to be updated
  - `code` string, required — Vacancy code (eg. COD123)
  - `status` 'valid' | 'invalid' | 'error' | 'waiting', required — Vacancy status. Valores legados (`waiting`, `error`, etc.) continuam aceitos no contrato, mas o código é sempre persistido como `valid`.
  - `errorMessage` string — Error message when status=error (ex.: Gestor inválido). Aceito no contrato, porém ignorado na persistência — `errorMessage` é sempre gravado como null.

## Response `201`

A confirmation of successful update of the vacancy

- Vacancy
  - `id` integer, required — Vacancy ID
  - `code` string, required — Vacancy code (eg. COD123)
  - `status` 'valid' | 'invalid' | 'error' | 'waiting' — Vacancy status
  - `errorMessage` string — Error message when status=error (eg. Gestor inválido)
  - `createdAt` string, date-time, required — Vacancy creation date
  - `updatedAt` string, date-time, required — Vacancy update date

## Other responses

- `400` — BadRequest / Invalid Input
- `401` — Unauthorized
- `403` — Forbidden
- `404` — NotFound / Resource not found

---

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