Skip to main content

Update a role

Update a curated set of role fields. Scope: roles:write.

PATCH/api/v1/roles/{id} 🔒 API key

Updates a curated subset of a role’s fields. Scope: roles:write. Requires employer-write authority in the role’s organization (admins bypass). Pipeline structure, fit criteria, confidentiality, and assignment fields are intentionally excluded — those stay on the internal product. Send only the fields you want to change.

Path parameters

ParameterTypeDescription
idstringThe role id.

Request body

FieldTypeDescription
namestringRole title.
statusstringRole status.
prioritystring | nullPriority.
departmentstring | nullDepartment.
locationstring | nullLocation.
workTypestring | nullremote / hybrid / onsite.
salaryMin / salaryMaxinteger | nullSalary band.
salaryCurrency / salaryPeriodstring | nullSalary currency / period.
targetHireCountinteger | nullTarget hires.
roleLevelstring | nullSeniority.
isPublicbooleanWhether the role is public.

Example request

curl -X PATCH https://app.talent-ray.com/api/v1/roles/role_eng_be \
  -H "Authorization: Bearer tr_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "status": "open", "priority": "high", "salaryMax": 130000 }'

Response

200 OK — the updated role (same shape as Get a role).

Status codes

StatusMeaning
200Updated.
400bad_request — invalid or empty body.
401No valid API key.
403insufficient_scope (missing roles:write) or forbidden (no write authority in the role’s org).
404Not found, or not visible to the key.
429Rate limit exceeded.