# Job Requisition Connector
The ATS Integration API provides the ability to create, update, fetch and remove job requisition details in Cornerstone. It creates the possibility to integrate other ATS with Cornerstone.
# Quick Start: Create Job Requisition
Creating a job requisition requires a POST request.
POST /v1/job-requisitions
HTTP 1.1
Host: {your portal}.csod.com
Authorization: Bearer {your oauth2 token}
{
"externalId": "ats|csod|id|12345",
"details": {
"en-US": {
"title": "software engineer",
"description": "description",
"jobDetailsUrl": "https://csod.com/jobs/1"
}
},
"location": {
"name": "Auckland, New Zealand",
"countryCode": "NZ",
"city": "Auckland",
"isPrimary": true
},
"status": "open",
"createdTime": "2021-04-29T09:12:33.001Z",
"lastUpdatedTime": "2021-04-29T09:12:33.001Z",
"expiryTime": "2021-12-29T09:12:33.001Z",
"openings": 3,
"defaultCulture": "en-US"
}
# Payload validation
externalId
should be in format ofats|{ats-name}|id|{exteranl-id}
details
is a group of key value pairs. Key is the culture name.defaultCulture
is a required field, the value must exist as a key in details field. It must be a valid supported IETF tag.status
is a required field, the valid value should be eitheropen
orclosed
openings
must not be negative.location
is a required field, whenname
sub field is not provided,city
andcountryCode
must be provided.countryCode
is 2 letters ISO 3166 Alpha 2 string.- There should be one and only one primary location (with
isPrimary
set to true).
# Quick Start: Create Job Requisition
Creating a job requisition requires a POST request.
POST /v1/job-requisitions
HTTP 1.1
Host: {your portal}.csod.com
Authorization: Bearer {your oauth2 token}
{
"externalId": "ats|csod|id|12345",
"details": {
"en-US": {
"title": "software engineer",
"description": "description",
"jobDetailsUrl": "https://csod.com/jobs/1"
}
},
"location": {
"name": "Auckland, New Zealand",
"countryCode": "NZ",
"city": "Auckland",
"isPrimary": true
},
"status": "open",
"createdTime": "2021-04-29T09:12:33.001Z",
"lastUpdatedTime": "2021-04-29T09:12:33.001Z",
"expiryTime": "2021-12-29T09:12:33.001Z",
"openings": 3,
"defaultCulture": "en-US"
}
# Payload validation
externalId
should be in format ofats|{ats-name}|id|{exteranl-id}
details
is a group of key value pairs. Key is the culture name.defaultCulture
is a required field, the value must exist as a key in details field. It must be a valid supported IETF tag.status
is a required field, the valid value should be eitheropen
orclosed
openings
must not be negative.location
is a required field, whenname
sub field is not provided,city
andcountryCode
must be provided.countryCode
is 2 letters ISO 3166 Alpha 2 string.- There should be one and only one primary location (with
isPrimary
set to true).
# Quick Start: Get Job Requisition
There are two ways to get job requisition, by external Id and Id.
# By ExternalId
External Id is a formatted string that consists of external ATS name and external job requisition Id. The format is "ats|{ats-name}|id|{identity-of-job-in-external-ATS}"
GET /services/api/x/perf-ats-integration-api/v1/job-requisitions/$externalId={external Id}
HTTP/1.1
Host: {your portal}.csod.com
Authorization: Bearer {your oauth2 token}
# By Id
Id is the internal identity you got from a success creation operation. It is GUID.
GET /services/api/x/perf-ats-integration-api/v1/job-requisitions/$id={guid}
HTTP/1.1
Host: {your portal}.csod.com
Authorization: Bearer {your oauth2 token}
# Quick Start: Update Job Requisition
This API currently only supports a full update. Similar to Get Job Requisition, there are two ways to identify a job requisition for a update: externalId and Id. The payload is similar to POST operation but require both externalId and Id exist in payload.
PUT /v1/job-requisitions/$id=8c4b4d0b-b597-41ea-9f1d-9900e0d14583
HTTP 1.1
Host: {your portal}.csod.com
Authorization: Bearer {your oauth2 token}
{
"externalId": "ats|csod|id|12345",
"id": "8c4b4d0b-b597-41ea-9f1d-9900e0d14583",
"details": {
"en-US": {
"title": "software engineer",
"description": "description",
"jobDetailsUrl": "https://csod.com/jobs/1"
}
},
"location": {
"name": "Auckland, New Zealand",
"countryCode": "NZ",
"city": "Auckland",
"isPrimary": true
},
"status": "open",
"createdTime": "2021-04-29T09:12:33.001Z",
"lastUpdatedTime": "2021-04-29T09:12:33.001Z",
"expiryTime": "2021-12-29T09:12:33.001Z",
"openings": 3,
"defaultCulture": "en-US"
}
# Payload validation
The payload will be validated following the similar requirement in the Create Job Requisition operation.
# Quick Start: Delete Job Requisition
There are different ways to make job requisition invalid. Hard delete it via this DELETE endpoint or update the status of a job requisition via PUT.
# DELETE
Similar to GET and PUT operations, you need to provide either the externalId or Id of job requisition to get it removed from data store.
DELETE /v1/job-requisitions/$external-id=ats|csod|id|12345
HTTP 1.1
Host: {your portal}.csod.com
Authorization: Bearer {your oauth2 token}
# PUT
n order to mark a job requisition invalid, just specify the status "Closed" in job requisition payload and complete a PUT operation. The target job requisition would be deemed as invalid one and would not be used in job matching.