Represents a single job instance.
https://app.jobcast.net/api/v1.0/jobs/{id}
Property | Type | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | Int32 | Unique identifier of the job. | ||||||||||||||||||||||||||
referenceId | String (max 50) | Company's unique identifier of the job. If one is not provided by the company, this value is null. | ||||||||||||||||||||||||||
company | Object | The company to which this job belongs. This object has the following properties: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
employer | String (max 50) | The hiring employer. If company is also the hiring employer, this value will be null. This property is used in situations when the company is listing jobs on behalf of another employer. For example, if Stanford University is listing Google's job on Stanford University's Facebook Page, then Stanford University is the company and Google is the employer. | ||||||||||||||||||||||||||
title | String (max 256) | Title of the job. | ||||||||||||||||||||||||||
publishDate | Date (ISO 8601) | The date the job was published. If this date is in the future, then the job is in Pending status and will be published on this date. | ||||||||||||||||||||||||||
closeDate | Date (ISO 8601) | The date the job will close. If this date is in the past, then this job is already closed. If this value is null, then this job will not close automatically. | ||||||||||||||||||||||||||
displayDate | Date (ISO 8601) | A convenience property for displaying the job date. If the job is closed, then it will be closeDate. Otherwise, it will be publishDate. | ||||||||||||||||||||||||||
city | String (max 128) | City where the job is located. | ||||||||||||||||||||||||||
province | Object |
Province where the job is located. This object has the following properties. See Provinces for a full list. |
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
categories | Array of Objects |
Each object contains the following properties. See Job Categories for a full list. |
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
types | Array of Objects |
Each object contains the following properties. See Job Types for a full list. |
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
description | String |
When the descriptionFormat is html, the description may contain these HTML tags: strong, b, em, i,br, p, div, ul, ol, li, a Note: HTML attributes are not supported, so these tags will not contain any. The only exception is the anchor tag (a), which contains href and optional target attribute. |
||||||||||||||||||||||||||
descriptionFormat | string |
Describes what format the description is in. Possible values:
|
||||||||||||||||||||||||||
applicantRoutingType | Object | Object with the following properties: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
applicationEmails | Array of strings. max 256 each. | Email addresses where a copy of the job application will be sent. Only applicable when the applicant routing type is Default. | ||||||||||||||||||||||||||
applicationUrl | String (max 2048) | URL where candidates will be directed to apply for the job. Only applicable when the applicant routing type is Click-through. | ||||||||||||||||||||||||||
url | String (max 128) | Direct link to the job. Usually a shortened bit.ly URL, however, if we exceed the bit.ly rate limit, then a URL in the following format will be returned: https://search.jobcast.net/Share/Job17082. | ||||||||||||||||||||||||||
status | Object | Object with the following properties: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
viewCount | Int32 | Number of times this job has been viewed. | ||||||||||||||||||||||||||
applicationCount | Int32 | Number of applications received for this job. This is only relevant when the applicant routing type is set to Default | ||||||||||||||||||||||||||
clickThroughCount | Int32 | Number of times that Apply at Company Site button is clicked. This is only relevant when the applicant routing type is set to Click-through. |
Authentication: Required
https://app.jobcast.net/api/v1.0/jobs/17082
{ "data":{ "id":17082, "referenceId":null, "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Mechanical Designer", "publishDate":"2012-05-07", "closeDate":"2012-07-06", "displayDate":"2012-05-07", "city":"Vancouver", "province":{ "id":12938, "name":"British Columbia", "country":{ "id":42, "name":"Canada" } }, "categories":[ {"id":6,"name":"Engineering"} ], "types":[ {"id":1,"name":"Full-time"}, {"id":3,"name":"Contract"} ], "description":"Lorem ipsum dolor sit amet..", "descriptionFormat":"text", "applicantRoutingType":{ "id":1, "name":"Default" }, "applicationEmails":[ "lou@email.com" ], "applicationUrl":null, "url":"http://bit.ly/HVZ3Rn", "status":{ "id":1, "name":"Published" }, "viewCount":20, "applicationCount":5, "clickThroughCount":0 }, "warnings":[] }
HTTP POST Allows you to create a new job. The JSON format expected from HTTP POST is symmetrical with the result returned from GET. For example, if you take the data object returned from GET, remove the id and referenceId properties and POST it back, you will create a new job with the same property values.
Authentication: Required
Property | Type | Required? | Description |
---|---|---|---|
referenceId | String (max 50) |
Company's unique identifier of the job. If you have a referenceId, we recommend that you use HTTP PUT instead, because HTTP PUT is idempotent (i.e. multiple requests puts the server into the same state). POSTing the same referenceId multiple times will reject the request after the first time. |
|
company.id | Int32 | ✓ | Unique identifier of the company. |
employer | String (max 50) | Most of the time, this property won't be relevant and you can omit it. This is only useful when you want to show that the hiring employer is different from the company. | |
title | String (max 256) | ✓ | |
publishDate | Date (format: 2012-05-25) | ✓ |
Set this date to today's date or in the past to publish the job immediately. To set this job to Pending status, set a future date and this job will automatically publish on that date. Note: The publish date takes effect when the first time zone reaches that date. I.e. if the publish date is 2012-05-25, then the job will publish on 2012-05-24 12:00 UTC. |
closeDate | Date (format: 2012-07-25) |
Set this date to the future and the job will automatically close on that date.
Set this date to the past and the job will be set to Closed status immediately.
Set this date to null or omit this property entirely if you don't want the job to close automatically. Note: The close date takes effect when the last time zone passes that date. I.e. if the close date is 2012-07-25, then the job will close on 2012-07-25 12:00 UTC. |
|
city | String (max 128) | City where the job is located. | |
province | Object |
The Province object. See Provinces for a full list. If province and country are not available, send null. For example: {"province":null} To specify a province, send the following: {"province":{"id":18657}} Note: Since a country is automatically derived from a province, it's not necessary to also specify a country, although it is permitted: {"province":{"id":18657,"country":{"id": 240}}} If a job is nation-wide, send the country without specifying a province: {"province":{"country":{"id":240}}} |
|
categories | Array of Objects |
An array of job category objects. Up to five is allowed. See Job Categories for a full list. There are two ways that job category objects can be sent:
|
|
types:[{id}] | Int32 |
An array of job type objects. See Job Types for a full list. |
|
description | String | ✓ |
The job description.
Technically there is no limitation on the length of the job description,
but practically we would like you to keep this length to within reason so that candidates can easily consume it. If descriptionFormat is text, then any HTML contained in the description will be encoded. If descriptionFormat is html, then the following tags are allowed: strong, b, em, i,br, p, div, ul, ol, li, a Note: HTML attributes are not allowed in these HTML tags. |
descriptionFormat | String |
Either of these values are supported:
|
|
applicantRoutingType.id | Int32 | ✓ |
Unique identifier of the applicant routing type. Possible values:
|
applicationEmails | Array of strings. max 256 each. |
Email addresses where a copy of the job application will be sent. Only applicable when applicantRoutingType.id is 1. If this property is omitted, applications will be collected by Jobcast and available within our app, but applications won't be emailed. |
|
applicationUrl | String (max 2048) | ✓* |
URL (including http:// or https://) where candidates will be directed to apply for the job. *This property is required if applicantRoutingType.id is 2 and not allowed if applicantRoutingType.id is 1. |
status.id | Int32 |
Unique identifier of the job status. When posting a new job, this property is not required, as the job status will be derived from the publishDate and closeDate. This property is most useful when you quickly want to change the status of a job using HTTP PUT. The following values are accepted:
|
Create a new job:
POST https://app.jobcast.net/api/v1.0/jobs HTTP/1.1 Host: app.jobcast.net Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 Content-Length: 480 { "company":{ "id":3 }, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "city":"San Francisco", "province":{ "id":18657 }, "categories":[ {"id":2}, {"id":7} ], "types":[ {"id":1}, {"id":3} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":1 }, "applicationEmails":[ "lou@email.com" ] }
HTTP/1.1 201 Created Content-Type: application/json; charset=utf-8 Location: https://app.jobcast.net/api/v1.0/jobs/17082 Content-Length: 739 { "data":{ "id":17082, "referenceId":null, "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "displayDate":"2012-05-08", "city":"San Francisco", "province":{ "id":18657, "name":"California", "country":{ "id":240, "name":"United States" } }, "categories":[ {"id":2,"name":"Administrative"}, {"id":7,"name":"Management and Executive"} ], "types":[ {"id":1,"name":"Full-time"}, {"id":3,"name":"Contract"} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":1, "name":"Default" }, "applicationEmails":[ "lou@email.com" ], "applicationUrl":null, "url":"http://bit.ly/12345", "status":{ "id":1, "name":"Published" }, "viewCount":0, "applicationCount":0, "clickThroughCount":0 }, "warnings":[] }
Create a new job:
Note: in this scenario where you have a referenceId, we recommend that you use HTTP PUT instead of HTTP POST, as HTTP PUT is idempotent (i.e. multiple requests puts the server into the same state). You can use HTTP PUT to both create and modify a job without worry. On the other hand, POSTing the same referenceId multiple times will reject the request after the first time.
POST https://app.jobcast.net/api/v1.0/jobs HTTP/1.1 Host: app.jobcast.net Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 Content-Length: 433 { "referenceId":"valenio-job-001", "company":{ "id":3 }, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "city":"San Francisco", "province":{ "id":18657 }, "categories":[ {"id":2}, {"id":7} ], "types":[ {"id":1}, {"id":3} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":2 }, "applicationUrl":"http://www.valenio.com/job/123/apply" }
HTTP/1.1 201 Created Content-Type: application/json; charset=utf-8 Location: https://app.jobcast.net/api/v1.0/jobs/17082 Content-Length: 777 { "data":{ "id":17082, "referenceId":"valenio-job-001", "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "displayDate":"2012-05-08", "city":"San Francisco", "province":{ "id":18657, "name":"California", "country":{ "id":240, "name":"United States" } }, "categories":[ {"id":2,"name":"Administrative"}, {"id":7,"name":"Management and Executive"} ], "types":[ {"id":1,"name":"Full-time"}, {"id":3,"name":"Contract"} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":2, "name":"Click-through" }, "applicationEmails":[], "applicationUrl":"http://www.valenio.com/job/123/apply", "url":"http://bit.ly/12345", "status":{ "id":1, "name":"Published" }, "viewCount":0, "applicationCount":0, "clickThroughCount":0 }, "warnings":[] }
HTTP PUT allows you to create a new job (with a referenceId) or update an existing job. The JSON format expected from HTTP PUT is symmetrical with the result returned from GET. For example, if you take the data object returned from GET, change a few properties and PUT it back to the server, your request will succeed.
When modifying a job with HTTP PUT, we treat your request more like HTTP PATCH than a true HTTP PUT.
This means that we support partial updates. For example, if you just want to modify the job title, you can
just send the title {"title":"Updated Job Title"}
instead of sending the whole object graph.
Authentication: Required
The parameters are the same as HTTP POST.
There are 2 mechanisms that you can use to identify a job:
https://app.jobcast.net/api/v1.0/jobs/17082
{"referenceId":"valenio-job-001","company":{"id":3}}
Create a new job with referenceId.
Creating a new job using referenceId is the exact same as Example 2 in HTTP POST, except that you will change the method to PUT.
Modify a job with job id
.PUT https://app.jobcast.net/api/v1.0/jobs/17082 HTTP/1.1 Host: app.jobcast.net Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 Content-Length: 336 { "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "city":"San Francisco", "province":{ "id":18657 }, "categories":[ {"id":2}, {"id":7} ], "types":[ {"id":1}, {"id":3} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":1 }, "applicationEmails":[ "lou@email.com" ] }
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 739 { "data":{ "id":17082, "referenceId":null, "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "displayDate":"2012-05-08", "city":"San Francisco", "province":{ "id":18657, "name":"California", "country":{ "id":240, "name":"United States" } }, "categories":[ {"id":2,"name":"Administrative"}, {"id":7,"name":"Management and Executive"} ], "types":[ {"id":1,"name":"Full-time"}, {"id":3,"name":"Contract"} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":1,"name":"Default" }, "applicationEmails":[ "lou@email.com" ], "applicationUrl":null, "url":"http://bit.ly/12345", "status":{ "id":1, "name":"Published" }, "viewCount":0, "applicationCount":0, "clickThroughCount":0 }, "warnings":[] }
Modify a job with referenceId.
Note: job id is no longer required, but both referenceId and company.id are required to identify the resource.
PUT https://app.jobcast.net/api/v1.0/jobs HTTP/1.1 Host: app.jobcast.net Content-Length: 384 Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 { "referenceId":"valenio-job-001", "company":{ "id":3 }, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "city":"San Francisco", "province":{ "id":18657 }, "categories":[ {"id":2}, {"id":7} ], "types":[ {"id":1}, {"id":3} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":2 }, "applicationUrl":"http://www.valenio.com/job/123/apply" }
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 777 { "data":{ "id":17082, "referenceId":"valenio-job-001", "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-07-07", "displayDate":"2012-05-08", "city":"San Francisco", "province":{ "id":18657, "name":"California", "country":{ "id":240, "name":"United States" } }, "categories":[ {"id":2,"name":"Administrative"}, {"id":7,"name":"Management and Executive"} ], "types":[ {"id":1,"name":"Full-time"}, {"id":3,"name":"Contract"} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":2, "name":"Click-through" }, "applicationEmails":[], "applicationUrl":"http://www.valenio.com/job/123/apply", "url":"http://bit.ly/12345", "status":{ "id":1, "name":"Published" }, "viewCount":0, "applicationCount":0, "clickThroughCount":0 }, "warnings":[] }
Close a job with job id.
PUT https://app.jobcast.net/api/v1.0/jobs/17082 HTTP/1.1 Host: app.jobcast.net Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 Content-Length: 19 { "status":{ "id":2 } }
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 736 { "data":{ "id":17082, "referenceId":null, "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Product Manager", "publishDate":"2012-05-08", "closeDate":"2012-05-08", "displayDate":"2012-05-08", "city":"San Francisco", "province":{ "id":18657, "name":"California", "country":{ "id":240, "name":"United States" } }, "categories":[ {"id":2,"name":"Administrative"}, {"id":7,"name":"Management and Executive"} ], "types":[ {"id":1,"name":"Full-time"}, {"id":3,"name":"Contract"} ], "description":"Lorem ipsum dolor sit amet...", "descriptionFormat":"text", "applicantRoutingType":{ "id":1,"name":"Default" }, "applicationEmails":[ "lou@email.com" ], "applicationUrl":null, "url":"http://bit.ly/12345", "status":{ "id":2, "name":"Closed" }, "viewCount":0, "applicationCount":0, "clickThroughCount":0 }, "warnings":[] }
Close a job with referenceId.
PUT https://app.jobcast.net/api/v1.0/jobs HTTP/1.1 Host: app.jobcast.net Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 Content-Length: 70 { "referenceId":"valenio-job-001", "company":{ "id":3 }, "status":{ "id":2 } }
Response is similar to Example 4.
Publish a closed job with job id.
PUT https://app.jobcast.net/api/v1.0/jobs/17082 HTTP/1.1 Host: app.jobcast.net Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 Content-Length: 19 { "status":{ "id":1 } }
Response is similar to Example 4.
HTTP DELETE allows you to delete a job.
There are 2 mechanisms that you can use to identify a job:
https://app.jobcast.net/api/v1.0/jobs/17082
{"referenceId":"valenio-job-001","company":{"id":3}}
Delete a job with job id.
DELETE https://app.jobcast.net/api/v1.0/jobs/17082 HTTP/1.1 Host: app.jobcast.net Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23
HTTP/1.1 204 No Content
Delete a job with referenceId.
DELETE https://app.jobcast.net/api/v1.0/jobs HTTP/1.1 Host: app.jobcast.net Content-Length: 82 Consumer-API-Key: 92c73c09-aa88-43d2-9a62-062f12f23d3f User-API-Key: 932d2608-2e18-41f7-bf24-caa922ee9d23 Content-Type: application/json; charset=UTF-8 { "referenceId":"valenio-job-001", "company":{ "id":3 } }
HTTP/1.1 204 No Content
Represents a list of job headers.
https://app.jobcast.net/api/v1.0/jobs
This API returns job headers, which is a subset of jobs. The available properties are listed below, but the type and description are ommitted because they are identical to the properties of a job and is described above.
Returns a list of job headers for a specified company. The list includes paging information and is sorted by displayDate in descending order.
Authentication: Required
Paramter | Type | Required? | Description |
---|---|---|---|
company.id | Int32 | Yes | The unique identifier of the company for which you'd like to retrieve jobs. |
status.id | Int32 | No |
Pass in a status.id to filter the list to only include jobs with the specified status. Possible values are:
|
pageSize | Int32 | No | Specifies the number of records to return at a time. The default is 50 and the maximum is 1000. |
page | Int32 | No | Specifies which page to return. The default is 1. |
Request all job headers for a company.
https://app.jobcast.net/api/v1.0/jobs?company.id=3
HTTP/1.1 200 OK Cache-Control: private Content-Type: application/json; charset=utf-8 Content-Length: 16409 { "paging":{ "total":234, "pageSize":50, "page":1, "pages":5, "previous":null, "next":"https//app.jobcast.net/api/v1.0/jobs?pageSize=50&company.id=3&page=2" }, "data":[ { "id":10, "referenceId":"111", "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Software Engineer", "displayDate":"2012-06-30", "city":"Vancouver", "province":{ "id":12938, "name":"British Columbia", "country":{ "id":42, "name":"Canada" } }, "status":{ "id":3, "name":"Pending" }, "applicationCount":2, "viewCount":30, "clickThroughCount":0 }, ... ], "warnings":[] }
Request published job headers for a company with the page size of 20.
https://app.jobcast.net/api/v1.0/jobs?company.id=3&status.id=1&pageSize=20
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 6660 { "paging":{ "total":55, "pageSize":20, "page":1, "pages":3, "previous":null, "next":"https://app.jobcast.net/api/v1.0/jobs?pageSize=20&company.id=3&status.id=1&page=2" }, "data":[ { "id":20064, "referenceId":null, "company":{ "id":3, "name":"Valenio" }, "employer":null, "title":"Senior Accountant", "displayDate":"2012-06-11", "city":"Edmonton", "province":{ "id":12940, "name":"Alberta", "country":{ "id":42, "name":"Canada" } }, "status":{ "id":1, "name":"Published" }, "applicationCount":0, "viewCount":0, "clickThroughCount":0 }, ... ], "warnings":[] }