---
title: "Updating a role"
method: PUT
path: "/roles/{roleId}"
tags: ["Job Roles"]
---

# Updating a role

`PUT /roles/{roleId}`

Updates a job role.

## Path parameters

- `roleId` integer, required

## Request body

- RoleRequest — Role to be created or updated
  - `name` string, required — Role name
  - `code` string — External code of the role
  - `similarTo` 'apprentice' | 'analyst' | 'auxiliary' | 'coordinator' | 'consultant' | 'developer' | 'director' | 'intern' | 'supervisor' | 'specialist' | 'manager' | 'operator' | 'technician' | 'trainee', required — Role is similar to

## Response `200`

A confirmation of successful update of the role

- Role — Company role
  - `id` integer, required — Role ID
  - `name` string — Role name
  - `code` string — External code of the role
  - `similarTo` 'analyst' | 'apprentice' | 'auxiliary' | 'consultant' | 'coordinator' | 'developer' | 'director' | 'intern' | 'specialist' | 'supervisor' | 'manager' | 'operator' | 'technician' | 'trainee' — Role is similar to
  - `createdAt` string, date-time, required — Role creation date
  - `updatedAt` string, date-time, required — Role update date

## Other responses

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

---

[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/versions/3f26defa2a42/schema)
