Jobs

SkyHive’s Jobs API lets you manage jobs and relevant job information. With this API, you can:

  • Create, retrieve, update and delete individual jobs
  • Search for jobs within the system based on specified search criteria

Jobs API Methods

You can read, update, create, or delete job information using these methods:

  • Use getJob to retrieve all available information on a job.
  • Use updateJob to update information on a job.
  • Use deleteJob to delete a job from the system.
  • Use createJob to add a new job to the system.
  • Use searchJobs to view jobs based on your search criteria.
  • Use searchJobsByEmployeeId to search jobs for a specific employee.
  • Use searchExternalJobs to search jobs from external providers using search criteria.
  • Use Compare to compare an employee to a job.
  • Use jobDescription to generate a job description for a job title.

A job ID is a required parameter when invoking the getJob, updateJob, and deleteJob methods. See below for more information.

Job ID

Jobs are referenced by ID, which are created with createJob.

Use Cases

These use cases cover possible applications of the Jobs API:

Create Job

Create a new Job object to add a new job to your organization.

Securityauth
Request
header Parameters
X-Enterprise-Id
required
string

The unique ID assigned to your organization

Request Body schema: application/json
required
required
object (JobDetails)

Contains specific job details

required
object (Country)

Contains job country information

required
object (LocationTime)

Contains job location and length of employment

required
object (Compensation-2)

Contains job compensation details

duties
string

Job duties

qualification
string [ 0 .. 50000 ] characters

Required qualifications

sponsorship
boolean
Default: false

Whether the job offers employment sponsorship

company
string

Organization name

object (JobStatus)

Contains job status details

tags
Array of strings

Job tags

sourceUri
string

URI to job source

object (Entity)
visibility
Array of strings unique
Responses
201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

post/jobs
Request samples
application/json
{
  • "details": {
    },
  • "country": {
    },
  • "locationTime": {
    },
  • "compensation": {
    },
  • "duties": "string",
  • "qualification": "string",
  • "sponsorship": false,
  • "company": "SkyHive Technologies Inc.",
  • "status": {
    },
  • "tags": [
    ],
  • "sourceUri": "string",
  • "entity": {
    },
  • "visibility": [
    ]
}

Get Job

Get the Job object to view details (e.g. required skills, compensation, and location).

Securityauth
Request
path Parameters
id
required
string

The job's unique ID (SkyHive-generated)

header Parameters
X-Enterprise-Id
required
string

The unique ID assigned to your organization

Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

get/jobs/{id}
Request samples

Update Job

Update the Job object to edit details (e.g. status, required skills, and compensation).

Securityauth
Request
path Parameters
id
required
string

The job's unique ID (SkyHive-generated)

header Parameters
X-Enterprise-Id
required
string

The unique ID assigned to your organization

Request Body schema: application/json
required
required
object (JobDetails)

Contains specific job details

required
object (Country)

Contains job country information

required
object (LocationTime)

Contains job location and length of employment

required
object (Compensation-2)

Contains job compensation details

duties
string

Job duties

qualification
string [ 0 .. 50000 ] characters

Required qualifications

sponsorship
boolean
Default: false

Whether the job offers employment sponsorship

company
string

Organization name

object (JobStatus)

Contains job status details

tags
Array of strings

Job tags

sourceUri
string

URI to job source

object (Entity)
visibility
Array of strings unique
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

put/jobs/{id}
Request samples
application/json
{
  • "details": {
    },
  • "country": {
    },
  • "locationTime": {
    },
  • "compensation": {
    },
  • "duties": "string",
  • "qualification": "string",
  • "sponsorship": false,
  • "company": "SkyHive Technologies Inc.",
  • "status": {
    },
  • "tags": [
    ],
  • "sourceUri": "string",
  • "entity": {
    },
  • "visibility": [
    ]
}

patch Job

patch the Job object to edit details (e.g. status, required skills, and compensation).

Securityauth
Request
path Parameters
id
required
string

The job's unique ID (SkyHive-generated)

header Parameters
X-Enterprise-Id
required
string

The unique ID assigned to your organization

Request Body schema: application/json
required
Array
op
string

Use enum values to specify patch operation

Enum: "add" "remove" "replace"
path
string
value
string
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

patch/jobs/{id}
Request samples
application/json
[
  • {
    }
]

Delete Job

Delete the Job object to remove a job from your organization.

Securityauth
Request
path Parameters
id
required
string

The job's unique ID (SkyHive-generated)

header Parameters
X-Enterprise-Id
required
string

The unique ID assigned to your organization

Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

delete/jobs/{id}
Request samples

Get Jobs

Get the Jobs object to view details (e.g. required skills, compensation, and location).

Securityauth
Request
header Parameters
X-Enterprise-Id
required
string

The unique ID assigned to your organization

Request Body schema: application/json
required
ids
Array of strings [ 1 .. 50 ] items
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

post/jobs/ids
Request samples
application/json
{
  • "ids": [
    ]
}

Search Jobs

Securityauth
Request
header Parameters
X-Enterprise-Id
required
string
Request Body schema: application/json
required
resultsPerPage
integer <int32> [ 1 .. 100 ]
Default: 10

Specifies the number of results to be returned

page
integer <int32> >= 0
Default: 0

Specifies the page number

minMatchPercentage
number <float> [ 1 .. 100 ]
Default: 20

Minimum match percentage

includeExternal
boolean
Default: false

Include external jobs as well in search

Array of objects (SkillWithRequirement) unique

Skills that are needed to be searched for

country
string

Country code that is needed to be searched for

currencyCode
string

Country code that is needed to be searched for

duration
string

Pay period duration to be searched

Enum: "hours" "days" "weeks" "biweekly" "months" "years"
jobIds
Array of strings

Exact cluster job Ids to search for Jobs

jobTitles
Array of strings

Exact cluster job titles to search for Jobs

originalTitle
string

Original Title to fuzzy search for Jobs

object (LocationRequest-2)

Location information to search for the Jobs

fromPostedDate
string <date-time>

Jobs that are posted on or after fromPosted date

toPostedDate
string <date-time>

Jobs that are posted on or before toPosted date

sortBy
string

Results to be sorted based on this field value

Enum: "quality" "location" "startDate" "lastSeen"
object (SearchConfig-2)
companyNames
Array of strings unique

Jobs that are posted from a specific company

object (JobSearchExclusion)

Exclusions to be ignored from the search

sponsorshipCountries
Array of strings unique

Jobs with Sponsorship countries

payRate
number <double>

Pay Rate that is need to be searched for. We can use Min payRate as well

maxPayRate
number <double>

Max Pay Rate that is need to be searched for

function
string

Function of the Job

type
string

Specifies the Job Type

Enum: "fulltime" "parttime" "contract" "gig" "freelance" "volunteer" "internship" "oncall" "none"
types
string

Specifies the Job Type

Enum: "fulltime" "parttime" "contract" "gig" "freelance" "volunteer" "internship" "oncall" "none"
payType
string

Filter by pay type of the Job

Enum: "none" "hourly" "project" "salary"
workType
string

WorkType to be filtered upon Ignored in the external Job search

Enum: "remote" "onsite" "hybrid"
workTypes
string

WorkType to be filtered upon Ignored in the external Job search

Enum: "remote" "onsite" "hybrid"
travel
string

Travel information of the Job

Enum: "none" "some" "constant"
state
string

Job Status information of Job

Enum: "cancelled" "none" "draft" "published" "hired"
visibility
Array of strings unique

roles to be filtered for the Job

tags
Array of strings unique

Tags to be filtered for the Job

Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

post/jobs/search
Request samples
application/json
{
  • "resultsPerPage": 10,
  • "page": 0,
  • "minMatchPercentage": 20,
  • "includeExternal": false,
  • "skills": [
    ],
  • "country": "string",
  • "currencyCode": "string",
  • "duration": "hours",
  • "jobIds": [
    ],
  • "jobTitles": [
    ],
  • "originalTitle": "string",
  • "location": {
    },
  • "fromPostedDate": "2019-08-24T14:15:22Z",
  • "toPostedDate": "2019-08-24T14:15:22Z",
  • "sortBy": "quality",
  • "config": {
    },
  • "companyNames": [
    ],
  • "exclusions": {
    },
  • "sponsorshipCountries": [
    ],
  • "payRate": 0,
  • "maxPayRate": 0,
  • "function": "string",
  • "type": "fulltime",
  • "types": "fulltime",
  • "payType": "none",
  • "workType": "remote",
  • "workTypes": "remote",
  • "travel": "none",
  • "state": "cancelled",
  • "visibility": [
    ],
  • "tags": [
    ]
}

Search Jobs By Employee ID

Securityauth
Request
path Parameters
id
required
string
header Parameters
X-Enterprise-Id
required
string
Request Body schema: application/json
required
resultsPerPage
integer <int32> [ 1 .. 100 ]
Default: 10

Specifies the number of results to be returned

page
integer <int32> >= 0
Default: 0

Specifies the page number

Array of objects (SkillWithRequirement) unique

Skills that are needed to be searched for

country
string

Country code that is needed to be searched for

currencyCode
string

Country code that is needed to be searched for

duration
string

Pay period duration to be searched

Enum: "hours" "days" "weeks" "biweekly" "months" "years"
jobIds
Array of strings

Job Ids to search for the Jobs

jobTitles
Array of strings

Job Titles to search for the Jobs

originalTitle
string

Original Title fuzzy to search for the Jobs

object (LocationRequest-2)

Location information to search for the Jobs

fromPostedDate
string <date-time>

Jobs that are posted on or after fromPosted date

sortBy
string

Results to be sorted based on this field value

Enum: "quality" "location" "startDate" "lastSeen"
object (SearchConfig-2)
includeExternal
boolean
Default: false

Include external jobs as well in search

companyNames
Array of strings unique

Jobs that are posted from a specific company

object (JobSearchExclusion)

Exclusions to be ignored from the search

minMatchPercentage
number <float> [ 1 .. 100 ]
Default: 20

Minimum match percentage

sponsorshipCountries
Array of strings unique

Jobs with Sponsorship countries

payRate
number <double>

Pay Rate that is need to be searched for. We can use Min payRate as well

maxPayRate
number <double>

Max Pay Rate that is need to be searched for

function
string

Function of the Job

Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

post/jobs/search/{id}
Request samples
application/json
{
  • "resultsPerPage": 10,
  • "page": 0,
  • "skills": [
    ],
  • "country": "string",
  • "currencyCode": "string",
  • "duration": "hours",
  • "jobIds": [
    ],
  • "jobTitles": [
    ],
  • "originalTitle": "string",
  • "location": {
    },
  • "fromPostedDate": "2019-08-24T14:15:22Z",
  • "sortBy": "quality",
  • "config": {
    },
  • "includeExternal": false,
  • "companyNames": [
    ],
  • "exclusions": {
    },
  • "minMatchPercentage": 20,
  • "sponsorshipCountries": [
    ],
  • "payRate": 0,
  • "maxPayRate": 0,
  • "function": "string"
}
Response samples
application/json
{
  • "total": 0,
  • "values": [
    ]
}

Search External Jobs

Securityauth
Request
header Parameters
X-Enterprise-Id
required
string
Request Body schema: application/json
required
resultsPerPage
integer <int32> [ 1 .. 100 ]
Default: 10

Specifies the number of results to be returned

page
integer <int32> >= 0
Default: 0

Specifies the page number

minMatchPercentage
number <float> [ 1 .. 100 ]
Default: 20

Minimum match percentage

includeExternal
boolean
Default: false

Include external jobs as well in search

Array of objects (SkillWithRequirement) unique

Skills that are needed to be searched for

country
string

Country code that is needed to be searched for

currencyCode
string

Country code that is needed to be searched for

duration
string

Duration that is needed to be searched for

Enum: "hours" "days" "weeks" "months" "years"
jobIds
Array of strings

Job Ids to search for the Jobs

jobTitles
Array of strings

Job Titles to search for the Jobs

originalTitle
string

Original Title fuzzy to search for the Jobs

object (LocationRequest-2)

Location information to search for the Jobs

fromPostedDate
string <date-time>

Jobs that are posted on or after fromPosted date

toPostedDate
string <date-time>

Jobs that are posted on or after fromPosted date

sortBy
string

Results to be sorted based on this field value

Enum: "quality" "location" "startDate" "lastSeen"
object (SearchConfig-2)
companyNames
Array of strings unique

Jobs that are posted from a specific company

object (JobSearchExclusion)

Exclusions to be ignored from the search

sponsorshipCountries
Array of strings unique

Jobs with Sponsorship countries

payRate
number <double>

Pay Rate that is need to be searched for. We can use Min payRate as well

maxPayRate
number <double>

Max Pay Rate that is need to be searched for

function
string

Function of the Job

includeInternal
boolean
Default: false

included internal results as well

source
Array of strings unique

List of source to be included in the search

sourcesEnum
Array of strings unique

List of sources to be included in the search. May include one or more enum values.
Note: There are more than 1000 sources you can search using the domain. These change frequently and not all source enums can be listed.

Items Enum: "linkedin" "bayt" "doda" "itnavi"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

post/jobs/external/search
Request samples
application/json
{
  • "resultsPerPage": 10,
  • "page": 0,
  • "minMatchPercentage": 20,
  • "includeExternal": false,
  • "skills": [
    ],
  • "country": "string",
  • "currencyCode": "string",
  • "duration": "hours",
  • "jobIds": [
    ],
  • "jobTitles": [
    ],
  • "originalTitle": "string",
  • "location": {
    },
  • "fromPostedDate": "2019-08-24T14:15:22Z",
  • "toPostedDate": "2019-08-24T14:15:22Z",
  • "sortBy": "quality",
  • "config": {
    },
  • "companyNames": [
    ],
  • "exclusions": {
    },
  • "sponsorshipCountries": [
    ],
  • "payRate": 0,
  • "maxPayRate": 0,
  • "function": "string",
  • "includeInternal": false,
  • "source": [
    ],
  • "sourcesEnum": [
    ]
}

Compare

Securityauth
Request
path Parameters
id
required
string
query Parameters
title
required
string
algorithm
string
Default: "default"
header Parameters
X-Enterprise-Id
required
string
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

get/jobs/{id}/compare
Request samples

Job Description

Securityauth
Request
query Parameters
title
required
string
sampleSize
integer <int32>
Default: 3000
language
string
Default: "en"
maxRecords
string
Default: "1"
clustered
boolean
Default: true
header Parameters
X-Enterprise-Id
required
string
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

get/jobs/description
Request samples
Response samples
application/json
{
  • "data": {
    },
  • "statusCode": 0
}