Skip to main content

Recruitment

Openings and the people applying to them. Candidates are not employees and their records carry personal contact details, which is why they sit behind their own scope. CVs are not exposed.

Plan feature

These endpoints need a plan that includes Recruitment (recruitment). On a plan without it, requests return 402 with code: plan_upgrade_required and feature naming what an upgrade would add.

List job openings​

GET/v1/job_openings

Query parameters​

NameTypeRequiredDescription
limitintegerNoPage size. Values above 100 are clamped.
starting_afterstringNoOpaque cursor from a previous response’s next_cursor.
updated_sincetimestampNoReturn records changed at or after this instant. Tracks the record itself, not its child collections.
statusstringNoOnly openings in this state.
department_idstringNoOnly openings in this department.
branch_idstringNoOnly openings at this branch.

Responses​

StatusMeaning
200A page of job openings.
401The API key is missing, malformed, revoked or expired.
402The workspace's plan does not include Recruitment (plan_upgrade_required).
403The key does not carry the required scopes.
429Rate limit exceeded. See the RateLimit-* headers.

Retrieve a job opening​

GET/v1/job_openings/{id}

Path parameters​

NameTypeRequiredDescription
idstringYesThe identifier returned as id on the object.

Responses​

StatusMeaning
200The job opening.
401The API key is missing, malformed, revoked or expired.
402The workspace's plan does not include Recruitment (plan_upgrade_required).
403The key does not carry the required scopes.
404No such job opening in this workspace.
429Rate limit exceeded. See the RateLimit-* headers.

List candidates​

GET/v1/candidates

Query parameters​

NameTypeRequiredDescription
limitintegerNoPage size. Values above 100 are clamped.
starting_afterstringNoOpaque cursor from a previous response’s next_cursor.
updated_sincetimestampNoReturn records changed at or after this instant. Tracks the record itself, not its child collections.
emailstringNoLook up a candidate by email.

Responses​

StatusMeaning
200A page of candidates.
401The API key is missing, malformed, revoked or expired.
402The workspace's plan does not include Recruitment (plan_upgrade_required).
403The key does not carry the required scopes.
429Rate limit exceeded. See the RateLimit-* headers.

Retrieve a candidate​

GET/v1/candidates/{id}

Path parameters​

NameTypeRequiredDescription
idstringYesThe identifier returned as id on the object.

Responses​

StatusMeaning
200The candidate.
401The API key is missing, malformed, revoked or expired.
402The workspace's plan does not include Recruitment (plan_upgrade_required).
403The key does not carry the required scopes.
404No such candidate in this workspace.
429Rate limit exceeded. See the RateLimit-* headers.

List applications​

GET/v1/applications

Query parameters​

NameTypeRequiredDescription
limitintegerNoPage size. Values above 100 are clamped.
starting_afterstringNoOpaque cursor from a previous response’s next_cursor.
updated_sincetimestampNoReturn records changed at or after this instant. Tracks the record itself, not its child collections.
candidate_idstringNoOnly this candidate’s applications.
job_opening_idstringNoOnly applications to this opening.
stagestringNoOnly applications at this stage.
sourcestringNoOnly applications from this source.

Responses​

StatusMeaning
200A page of applications.
401The API key is missing, malformed, revoked or expired.
402The workspace's plan does not include Recruitment (plan_upgrade_required).
403The key does not carry the required scopes.
429Rate limit exceeded. See the RateLimit-* headers.

Retrieve an application​

GET/v1/applications/{id}

Path parameters​

NameTypeRequiredDescription
idstringYesThe identifier returned as id on the object.

Responses​

StatusMeaning
200The application.
401The API key is missing, malformed, revoked or expired.
402The workspace's plan does not include Recruitment (plan_upgrade_required).
403The key does not carry the required scopes.
404No such application in this workspace.
429Rate limit exceeded. See the RateLimit-* headers.