Jobs

Create and manage jobs in SmartRecruiters

Job creation is the key and usually the beginning of a hiring process. If your organization is hiring in volume and your job creation process is intertwine with multiple systems, use the Jobs API to synchronize jobs between these systems and create, updates and manage jobs in SmartRecruiters at scale.

Synchronize Jobs

As your organization scales, the opening of jobs or positions can depend on signals from a different systems like HRIS or internal approval systems. And sometimes, information of job location can get updated.

Endpoints like CreateJob, UpdateJob and RetrieveJob are great to ease the need for your hiring teams to manage these changes manually.

Consider the following endpoints to help manage your jobs at scale:

POST /jobs
GET /jobs/{jobId}
PATCH /jobs/{jobId}
PUT /jobs/{jobId}/status
GET /jobs/{jobId}/note
PUT /jobs/{jobId}/note
PATCH /jobs/{jobId}/headcount

And be sure that the credential you use include the jobs_read and jobs_manage access scopes if you are using OAuth credentials. Check out the [authentication overview] guide to obtain the credential.

There are many different ways to build the integration, below are some suggestions on key interactions with the above endpoints:

  1. When a job is opened in your HRIS system, you can use the CreateJob endpoint to open up a corresponding job in SmartRecruiters. Similarly, if you need to update information on a job, you can use the UpdateJob endpoint with the jobId you received when creating a job.
  2. As your hiring teams fill the job, you can close the job by updating the job status using the UpdateJobStatus endpoint.
  3. In many cases, a job is closed when a candidate is hired. You can listen to event callbacks like application.status.updated or application.onboarding-status.updated to determine when to close the related job.

Manage Multi-positions Jobs

Your organization may hire more than one positions for a job, in those scenario, you will need to create multiple positions for the job.

By default, a position created for the job when a job is created, but you can add more position to a job by using the CreateJobPosition endpoints

Consider the following endpoints to help manage positions:

POST /jobs/{jobId}/positions
GET /jobs/{jobId}/positions
GET /jobs/{jobId}/positions/{positionId}
PUT /jobs/{jobId}/positions/{positionId}
DELETE /jobs/{jobId}/positions/{positionId}

Position endpoints also use jobs_read and jobs_manage access scopes so be sure to include them if you are using OAuth credentials.


Did this page help you?