Deletar posição por código
Este endpoint realiza a exclusão de uma posição específica na estrutura organizacional, identificada pelo seu externalCode.
Regras de negócio e restrições
A exclusão da posição não será permitida se alguma das seguintes condições for verdadeira. Em caso de falha, o sistema retornará um código de erro apropriado (geralmente 409 Conflict ou 403 Forbidden).
- Vínculo com Colaborador: A posição não pode ser excluída se houver um colaborador atualmente atribuído a ela. É necessário desvincular o colaborador primeiro.
- Vínculo Hierárquico: A posição não pode ser excluída se possuir descendentes diretos (posições filhas) em sua hierarquia. É necessário remover ou re-hierarquizar as posições filhas antes da exclusão.
Exemplo de requisição (cURL)
curl --request DELETE \
--url https://api.gupy.io/os/v1/positions/{externalCode} \
--header 'accept: application/json' \
--header 'Authorization: Bearer <seu_token_aqui>'Atenção: Substitua {externalCode} pelo código externo da posição que deseja deletar e forneça o token de autenticação no cabeçalho Authorization.
Possíveis erros
Posição não encontrada
Erro lançado quando a posição não foi encontrada através do externalCode informado.
`{
"statusCode": 404,
"timestamp": "2025-05-29T21:00:00.000Z",
"path": "/v1/positions/{externalCode}",
"method": "DELETE",
"title": "NotFoundException",
"message": "Position not found",
"errors": [
{
"code": "POSITION_NOT_FOUND_ERROR",
"target": "NotFoundException",
"message": "Position not found"
}
]
}Posição com descendentes (liderados)
Erro lançado quando a posição possui descendentes (liderados) ativos cadastrados.
`{
"statusCode": 409,
"timestamp": "2025-05-29T21:00:00.000Z",
"path": "/v1/positions/{externalCode}",
"method": "DELETE",
"title": "ConflictException",
"message": "Position with direct descendants cannot be deleted",
"errors": [
{
"code": "POSITION_DESCENDANT_ERROR",
"target": "ConflictException",
"message": "Position with direct descendants cannot be deleted"
}
]
}Posição com colaborador atribuído
Erro lançado quando a posição possui colaborador cadastrado atribuído.
`{
"statusCode": 409,
"timestamp": "2025-05-29T21:00:00.000Z",
"path": "/v1/positions/{externalCode}",
"method": "DELETE",
"title": "ConflictException",
"message": "Position with assigned employee cannot be deleted",
"errors": [
{
"code": "POSITION_WITH_EMPLOYEE_ERROR",
"target": "ConflictException",
"message": "Position with assigned employee cannot be deleted"
}
]
}Updated 5 days ago
