---
title: "Creating a vacancy code"
method: POST
path: "/jobs/{jobId}/vacancies"
tags: ["Jobs"]
---

# Creating a vacancy code

`POST /jobs/{jobId}/vacancies`

## Request

- Base URL: `https://api.gupy.io/api/v1`
- URL: `https://api.gupy.io/api/v1/jobs/{jobId}/vacancies`
- Auth: HTTP bearer

Creates a vacancy, with code and status.

O valor `waiting` continua aceito no contrato, mas novos códigos são sempre
persistidos como `valid`.

## Path parameters

- `jobId` integer, required

## Request body

- VacancyPostRequest: Vacancy to be created
  - `code` string, required: Vacancy code (eg. COD123)
  - `status` 'valid' | 'waiting', required: Vacancy status. O valor `waiting` continua aceito no contrato, mas novos códigos são sempre persistidos como `valid`.

## Response `201`

A confirmation of successful insertion 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
- `409`: Conflict

---

[API](https://skmtc.dev/gupy/apis/gupy-public-api.md) - [All operations](https://skmtc.dev/gupy/apis/gupy-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gupy/apis/gupy-public-api/revisions/b84c14658872?raw)
