Skip to main content

Roles

A role is a job opening you’re hiring for. Roles are stored independently of assessments, and an assessment can be linked to one or more roles. A role holds a title, and an optional job description (markdown) and/or posting URL.

List Roles

Returns the org’s roles (newest first), each with a count of linked assessments.

Create Role

string
required
The role title, e.g. “Senior Product Manager”.
string
The job description body (markdown). Optional.
A URL to the job posting. Optional.
Returns { role } with a 201 status.

Import Roles from ATS

Bulk-create roles from open jobs in a connected ATS. One role is created per selected job, with its title and job description filled in from the ATS. Jobs already linked to a role (same provider and job id) are auto-skipped, so the call is idempotent — re-running it never creates duplicate roles. Requires the ATS integrations feature to be enabled for the org.
string
required
The ATS provider to import from, e.g. ashby or greenhouse.
array
required
The jobs to import. Each item is { jobId, title? }, where jobId is the ATS job’s external id. title is optional and used only for skip/failure display.
Returns { imported, skipped, failed }, where imported is the list of created roles ({ jobId, roleId, title }), skipped covers jobs already imported, and failed covers jobs whose detail fetch or role creation errored.

Get Role

Returns a single role scoped to your organization. 404 if it does not exist or has been deleted.

Update Role

string
New role title. Cannot be set to empty.
string
Replace the job description body.
Replace the job posting URL.
string
The workspace member who owns this role. Pass null to unassign.
string
The workspace member acting as recruiter for this role. Pass null to unassign. (Update-only — not accepted by Create Role.)

Delete Role

Soft-deletes the role (sets deleted_at), open to any org member. Refused with a 409 if the role is still linked to any assessment that has not itself been deleted — archive or reassign those assessments first, or link them to a different role. Restore the role from the trash to undo.

Restore Role

Restores a soft-deleted role from the trash back to the active list (clears deleted_at). Open to any org member.