Download OpenAPI specification:Download
Jobcase for Partners uses API keys to allow access. Contact us to request one!
To avoid rate limiting, try to stay within 200 requests per minute. Contact us if you are hitting a rate limit and need an increase.
Creates a new company.
If the provided sales rep or company contact already exists within the Jobcase system, the created or edited company account will be assigned to the existing sales rep or company contact; otherwise, a new sales rep or company contact will be created in the Jobcase system and assigned to this company account.
Create a company
partnerId required | number non-empty Jobcase Partner Identifier |
companyName required | string non-empty Name of company |
partnerCompanyId required | string non-empty Your own system's unique identifier for this Company (must be unique) |
companyUrl required | string <uri> non-empty Company's web site address |
companyStreet required | string non-empty Address |
companyCity required | string non-empty City name |
companyState required | string = 2 characters Abbreviated state |
companyZipCode required | string [ 5 .. 7 ] characters Zip or Postal Code |
object (CompanyContact) Primary contact (employer) associated or assigned to this company account | |
object (CompanySalesRep) Sales representative (sales rep) associated or assigned to this company account |
{- "partnerId": 1,
- "companyName": "Test Company",
- "partnerCompanyId": "abc123",
- "companyStreet": "98 Battery St",
- "companyCity": "San Francisco",
- "companyState": "CA",
- "companyZipCode": "94111",
- "companyContact": {
- "firstName": "Jack",
- "lastName": "Sparrow",
- "email": "jack.sparrow@jobcase.com"
}, - "salesRep": {
- "firstName": "Sales",
- "lastName": "Rep",
- "email": "sales.rep@jobcase.com"
}
}
{- "id": 1,
- "partnerId": 1,
- "companyName": "Test Company",
- "partnerCompanyId": "abc123",
- "companyStreet": "98 Battery St",
- "companyCity": "San Francisco",
- "companyState": "CA",
- "companyZipCode": "94111",
- "companyContact": {
- "id": 1,
- "firstName": "Jack",
- "lastName": "Sparrow",
- "email": "jack.sparrow@jobcase.com"
}, - "salesRep": {
- "id": 2,
- "firstName": "Sales",
- "lastName": "Rep",
- "email": "sales.rep@jobcase.com"
}
}
Lists all companies, paginated (100 per page by default)
offset | integer The number of items to skip before starting to collect the result set |
limit | integer The numbers of items to return |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/company/', qs: {offset: 'SOME_INTEGER_VALUE', limit: 'SOME_INTEGER_VALUE'}, headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "count": 1,
- "results": [
- {
- "id": 1,
- "partnerId": 1,
- "companyName": "Test Company",
- "partnerCompanyId": "abc123",
- "companyStreet": "98 Battery St",
- "companyCity": "San Francisco",
- "companyState": "CA",
- "companyZipCode": "94111",
- "companyContact": {
- "id": 1,
- "firstName": "Jack",
- "lastName": "Sparrow",
- "email": "jack.sparrow@jobcase.com"
}, - "salesRep": {
- "id": 2,
- "firstName": "Sales",
- "lastName": "Rep",
- "email": "sales.rep@jobcase.com"
}
}
]
}
Retrieves a company by companyId
companyId required | number Company Identifier |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/company/%7BcompanyId%7D/', headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "id": 1,
- "partnerId": 1,
- "companyName": "Test Company",
- "partnerCompanyId": "abc123",
- "companyStreet": "98 Battery St",
- "companyCity": "San Francisco",
- "companyState": "CA",
- "companyZipCode": "94111",
- "companyContact": {
- "id": 1,
- "firstName": "Jack",
- "lastName": "Sparrow",
- "email": "jack.sparrow@jobcase.com"
}, - "salesRep": {
- "id": 2,
- "firstName": "Sales",
- "lastName": "Rep",
- "email": "sales.rep@jobcase.com"
}
}
Updates a company by company identifier.
If the provided sales rep or company contact already exists within the Jobcase system, the created or edited company account will be assigned to the existing sales rep or company contact; otherwise, a new sales rep or company contact will be created in the Jobcase system and assigned to this company account.
companyId required | number Company Identifier |
Update a company
partnerId required | number non-empty Jobcase Partner Identifier |
companyName required | string non-empty Name of company |
partnerCompanyId required | string non-empty Your own system's unique identifier for this Company (must be unique) |
companyUrl required | string <uri> non-empty Company's web site address |
companyStreet required | string non-empty Address |
companyCity required | string non-empty City name |
companyState required | string = 2 characters Abbreviated state |
companyZipCode required | string [ 5 .. 7 ] characters Zip or Postal Code |
object (CompanyContact) Primary contact (employer) associated or assigned to this company account | |
object (CompanySalesRep) Sales representative (sales rep) associated or assigned to this company account |
{- "partnerId": 1,
- "companyName": "Test Company",
- "partnerCompanyId": "abc123",
- "companyStreet": "98 Battery St",
- "companyCity": "San Francisco",
- "companyState": "CA",
- "companyZipCode": "94111",
- "companyContact": {
- "firstName": "Jack",
- "lastName": "Sparrow",
- "email": "jack.sparrow@jobcase.com"
}, - "salesRep": {
- "firstName": "Sales",
- "lastName": "Rep",
- "email": "sales.rep@jobcase.com"
}
}
{- "id": 1,
- "partnerId": 1,
- "companyName": "Test Company",
- "partnerCompanyId": "abc123",
- "companyStreet": "98 Battery St",
- "companyCity": "San Francisco",
- "companyState": "CA",
- "companyZipCode": "94111",
- "companyContact": {
- "id": 1,
- "firstName": "Jack",
- "lastName": "Sparrow",
- "email": "jack.sparrow@jobcase.com"
}, - "salesRep": {
- "id": 2,
- "firstName": "Sales",
- "lastName": "Rep",
- "email": "sales.rep@jobcase.com"
}
}
Provide the company's logo for this company. Recommended whenever a company is created.
companyId required | number Company Identifier |
company_logo | string <binary> Logo image binary data |
const request = require('request'); const options = { method: 'POST', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/company/%7BcompanyId%7D/logo/', headers: { 'content-type': 'multipart/form-data', 'X-Platform-Api-Key': 'REPLACE_KEY_VALUE' } }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "success": true,
}
Creates a new job.
Create a job
companyId required | number non-empty Jobcase Company Identifier |
adNumber required | string non-empty Your own system's unique identifier for this job |
jobTitle required | string non-empty The title / headline for the job |
jobDescription required | string non-empty The job description. 150 characters minimum is recommended for best distribution performance. |
jobStreet | string non-empty |
jobCity required | string non-empty |
jobState required | string = 2 characters Abbreviated state |
jobZipCode required | string [ 5 .. 7 ] characters |
worktimeId | number Default: 1 Id of the type of position and time of the job. Mappings: 1 Full-time 4 Part-time 5 Internship 6 Contract 7 Temporary |
jobCategoryId | number Default: 0 Id of the job category. Mappings: 0 Other 101 Accounting 125 Advertising / Marketing / PR 161 Appraisers & Tax Assessment 201 Banking 162 Business Administration 163 Business Management 164 Commercial Drivers 131 Construction / Physical Labor / Skilled Trades 165 Correctional Officer 166 Counseling & Mental Health 167 Customer Service / Call Center 108 Delivery / Courier 109 Dentistry 168 Design & Visual Arts 169 Early Childhood Development 111 Education 170 Emergency & Fire 171 Emergency Medical Tech / Paramedics 113 Engineering 114 Farming / Fishing / Forestry 115 Finance 172 Government Administration 173 Government Regulation 174 Health Administration 149 Heavy Equipment Operator 118 Hospitality 119 Human Resources 175 Information Services / Technology 176 Insurance 177 Investments 178 Journalism & Broadcasting 179 Laboratory & Diagnostics 180 Law Enforcement 181 Legal Services 182 Logistics & Planning 183 Maintenance Installation & Repair 124 Manufacturing / Production / Operations 184 Mathematics 185 Mechanics & Technicians 186 Medical Support Services 187 Network Systems 127 Nursing 128 Occupational Therapy 188 Operations 189 Performing Arts 190 Personal Services 130 Pharmacy 133 Physician 191 Printing & Publishing 192 Programming & Software Development 154 Real Estate / Property Management 159 Research & Development 193 Restaurant & Food 137 Sales 138 Science 194 Security 139 Social Service 195 Sports & Recreation / Fitness 196 Telecommunications 197 Transportation Support Services 198 Urban & Regional Planning 147 Veterinary 199 Waste & Recycling 200 Web & Digital Communications |
experienceId | number Default: 5 Id of the years of experience required for the job. Mappings: 5 Not Specified 6 0-1 years of experience 7 1-3 years of experience 8 3-5 years of experience 9 5+ years of experience 4 No experience |
applyUrl | string <uri> non-empty The URL that we will redirect the user to when they apply to your listing (for applyActionType "URL Redirect") |
applyEmails | Array of strings <email> non-empty A list of emails to send application notifications to for this job (for applyActionType "Email Address"). |
startDate | string <date> non-empty When the job will start. ISO 8601 UTC format. Defaults to immediate. |
endDate | string <date> non-empty When the job posting will expire. ISO 8601 UTC format. Defaults to 30 days from now. |
isConfidential | boolean Default: false Is this a confidential or blind ad? |
jobAttributes | object Custom key/value dictionary for storing extra job attributes. Only existing job attributes are editable. |
applyActionType | string Default: "Nothing" Action required to apply to the job. Possible values: Email Address Nothing URL Redirect Email Address - we will send application notifications to your applyEmails |
resumeRequired | boolean Default: false If a resume is required in order to apply to the job (for applyActionType "Email Address"). |
products | Array of arrays A list of Jobcase product codes to fulfill for this job. |
campaignId | number When adding a job to a campaign, this parameter specifies the previously created campaign’s identifier. |
{- "companyId": 1,
- "adNumber": "My_Job_12300-1",
- "jobTitle": "Rodeo Clown",
- "jobDescription": "A rodeo clown has many on-site duties. This description should be 150 characters, but will be permitted.",
- "jobStreet": "98 Battery St",
- "jobCity": "San Francisco",
- "jobState": "CA",
- "jobZipCode": 94111,
- "worktimeId": 1,
- "jobCategoryId": 1,
- "experienceId": 1,
- "applyEmails": [
- "apply-now@jobcase.com",
- "apply-now2@jobcase.com"
], - "startDate": "2030-01-05T19:09:35.334843+00:00",
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isConfidential": false,
- "jobAttributes": {
- "MyAttribute": "Some Value",
- "Another_Attribute": "Some Other Value"
}, - "applyActionType": "Email Address",
- "resumeRequired": false,
- "products": [
- "college"
], - "campaignId": 1
}
{- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "adNumber": "My_Job_12300-1",
- "jobTitle": "Rodeo Clown",
- "jobDescription": "A rodeo clown has many on-site duties. This description should be 150 characters, but will be permitted.",
- "jobStreet": "98 Battery St",
- "jobCity": "San Francisco",
- "jobState": "CA",
- "jobZipCode": 94111,
- "worktimeId": 1,
- "jobCategoryId": 1,
- "experienceId": 1,
- "applyEmails": [
- "apply-now@jobcase.com",
- "apply-now2@jobcase.com"
], - "startDate": "2030-01-05T19:09:35.334843+00:00",
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isConfidential": false,
- "jobAttributes": {
- "MyAttribute": "Some Value",
- "Another_Attribute": "Some Other Value"
}, - "jobStatus": "Active",
- "applyActionType": "Email Address",
- "resumeRequired": false,
- "products": [
- "college"
]
}
Lists all jobs, paginated (100 per page by default)
from | string <date> Example: from=2030-01-05T19:09:35.334843+00:00 Filter by job posting date range (beginning on). ISO 8601 UTC format.
|
to | string <date> Example: to=2030-01-15T19:09:35.334843+00:00 Filter by job posting date range (ending on). ISO 8601 UTC format.
|
status | string Default: "active" Filter by job status:
|
offset | integer The number of items to skip before starting to collect the result set |
limit | integer The numbers of items to return |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/job/', qs: { from: '2030-01-05T19:09:35.334843+00:00', to: '2030-01-15T19:09:35.334843+00:00', status: 'SOME_STRING_VALUE', offset: 'SOME_INTEGER_VALUE', limit: 'SOME_INTEGER_VALUE' }, headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "count": 1,
- "results": [
- {
- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "adNumber": "My_Job_12300-1",
- "jobTitle": "Rodeo Clown",
- "jobDescription": "A rodeo clown has many on-site duties. This description should be 150 characters, but will be permitted.",
- "jobStreet": "98 Battery St",
- "jobCity": "San Francisco",
- "jobState": "CA",
- "jobZipCode": 94111,
- "worktimeId": 1,
- "jobCategoryId": 1,
- "experienceId": 1,
- "applyEmails": [
- "apply-now@jobcase.com",
- "apply-now2@jobcase.com"
], - "startDate": "2030-01-05T19:09:35.334843+00:00",
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isConfidential": false,
- "jobAttributes": {
- "MyAttribute": "Some Value",
- "Another_Attribute": "Some Other Value"
}, - "jobStatus": "Active",
- "applyActionType": "Email Address",
- "resumeRequired": false,
- "products": [
- "college"
]
}
]
}
Retrieves a job by jobId
jobId required | number Job Identifier |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/job/%7BjobId%7D/', headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "adNumber": "My_Job_12300-1",
- "jobTitle": "Rodeo Clown",
- "jobDescription": "A rodeo clown has many on-site duties. This description should be 150 characters, but will be permitted.",
- "jobStreet": "98 Battery St",
- "jobCity": "San Francisco",
- "jobState": "CA",
- "jobZipCode": 94111,
- "worktimeId": 1,
- "jobCategoryId": 1,
- "experienceId": 1,
- "applyEmails": [
- "apply-now@jobcase.com",
- "apply-now2@jobcase.com"
], - "startDate": "2030-01-05T19:09:35.334843+00:00",
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isConfidential": false,
- "jobAttributes": {
- "MyAttribute": "Some Value",
- "Another_Attribute": "Some Other Value"
}, - "jobStatus": "Active",
- "applyActionType": "Email Address",
- "resumeRequired": false,
- "products": [
- "college"
]
}
Updates a job by job identifier.
jobId required | number Job Identifier |
Update a job
companyId required | number non-empty Jobcase Company Identifier |
adNumber required | string non-empty Your own system's unique identifier for this job |
jobTitle required | string non-empty The title / headline for the job |
jobDescription required | string non-empty The job description. 150 characters minimum is recommended for best distribution performance. |
jobStreet | string non-empty |
jobCity required | string non-empty |
jobState required | string = 2 characters Abbreviated state |
jobZipCode required | string [ 5 .. 7 ] characters |
worktimeId | number Default: 1 Id of the type of position and time of the job. Mappings: 1 Full-time 4 Part-time 5 Internship 6 Contract 7 Temporary |
jobCategoryId | number Default: 0 Id of the job category. Mappings: 0 Other 101 Accounting 125 Advertising / Marketing / PR 161 Appraisers & Tax Assessment 201 Banking 162 Business Administration 163 Business Management 164 Commercial Drivers 131 Construction / Physical Labor / Skilled Trades 165 Correctional Officer 166 Counseling & Mental Health 167 Customer Service / Call Center 108 Delivery / Courier 109 Dentistry 168 Design & Visual Arts 169 Early Childhood Development 111 Education 170 Emergency & Fire 171 Emergency Medical Tech / Paramedics 113 Engineering 114 Farming / Fishing / Forestry 115 Finance 172 Government Administration 173 Government Regulation 174 Health Administration 149 Heavy Equipment Operator 118 Hospitality 119 Human Resources 175 Information Services / Technology 176 Insurance 177 Investments 178 Journalism & Broadcasting 179 Laboratory & Diagnostics 180 Law Enforcement 181 Legal Services 182 Logistics & Planning 183 Maintenance Installation & Repair 124 Manufacturing / Production / Operations 184 Mathematics 185 Mechanics & Technicians 186 Medical Support Services 187 Network Systems 127 Nursing 128 Occupational Therapy 188 Operations 189 Performing Arts 190 Personal Services 130 Pharmacy 133 Physician 191 Printing & Publishing 192 Programming & Software Development 154 Real Estate / Property Management 159 Research & Development 193 Restaurant & Food 137 Sales 138 Science 194 Security 139 Social Service 195 Sports & Recreation / Fitness 196 Telecommunications 197 Transportation Support Services 198 Urban & Regional Planning 147 Veterinary 199 Waste & Recycling 200 Web & Digital Communications |
experienceId | number Default: 5 Id of the years of experience required for the job. Mappings: 5 Not Specified 6 0-1 years of experience 7 1-3 years of experience 8 3-5 years of experience 9 5+ years of experience 4 No experience |
applyUrl | string <uri> non-empty The URL that we will redirect the user to when they apply to your listing (for applyActionType "URL Redirect") |
applyEmails | Array of strings <email> non-empty A list of emails to send application notifications to for this job (for applyActionType "Email Address"). |
startDate | string <date> non-empty When the job will start. ISO 8601 UTC format. Defaults to immediate. |
endDate | string <date> non-empty When the job posting will expire. ISO 8601 UTC format. Defaults to 30 days from now. |
isConfidential | boolean Default: false Is this a confidential or blind ad? |
jobAttributes | object Custom key/value dictionary for storing extra job attributes. Only existing job attributes are editable. |
applyActionType | string Default: "Nothing" Action required to apply to the job. Possible values: Email Address Nothing URL Redirect Email Address - we will send application notifications to your applyEmails |
resumeRequired | boolean Default: false If a resume is required in order to apply to the job (for applyActionType "Email Address"). |
{- "companyId": 1,
- "adNumber": "My_Job_12300-1",
- "jobTitle": "Rodeo Clown",
- "jobDescription": "A rodeo clown has many on-site duties. This description should be 150 characters, but will be permitted.",
- "jobStreet": "98 Battery St",
- "jobCity": "San Francisco",
- "jobState": "CA",
- "jobZipCode": 94111,
- "worktimeId": 1,
- "jobCategoryId": 1,
- "experienceId": 1,
- "applyEmails": [
- "apply-now@jobcase.com",
- "apply-now2@jobcase.com"
], - "startDate": "2030-01-05T19:09:35.334843+00:00",
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isConfidential": false,
- "jobAttributes": {
- "MyAttribute": "Some Value",
- "Another_Attribute": "Some Other Value"
}, - "applyActionType": "Email Address",
- "resumeRequired": false
}
{- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "adNumber": "My_Job_12300-1",
- "jobTitle": "Rodeo Clown",
- "jobDescription": "A rodeo clown has many on-site duties. This description should be 150 characters, but will be permitted.",
- "jobStreet": "98 Battery St",
- "jobCity": "San Francisco",
- "jobState": "CA",
- "jobZipCode": 94111,
- "worktimeId": 1,
- "jobCategoryId": 1,
- "experienceId": 1,
- "applyEmails": [
- "apply-now@jobcase.com",
- "apply-now2@jobcase.com"
], - "startDate": "2030-01-05T19:09:35.334843+00:00",
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isConfidential": false,
- "jobAttributes": {
- "MyAttribute": "Some Value",
- "Another_Attribute": "Some Other Value"
}, - "jobStatus": "Active",
- "applyActionType": "Email Address",
- "resumeRequired": false,
- "products": [
- "college"
]
}
Adds or removes products for a job
jobId required | number Job Identifier |
products required | Array of arrays A list of Jobcase product codes to fulfill for this job. |
campaignId | number When adding a job to or removing a job from a campaign, this parameter specifies the previously created campaign’s identifier. |
{- "products": [
- "college"
], - "campaignId": 1
}
{- "id": 1,
- "products": [
- "college"
]
}
Expires a job so that it is no longer active
jobId required | number Job Identifier |
const request = require('request'); const options = { method: 'POST', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/job/%7BjobId%7D/expire/', headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "success": true
}
Re-activates an expired job.
jobId required | number Job Identifier |
const request = require('request'); const options = { method: 'POST', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/job/%7BjobId%7D/unexpire/', headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "success": true
}
Creates a new campaign.
Create a campaign
companyId required | number non-empty Jobcase Company Identifier |
name required | string non-empty The campaign name |
aggressiveness | number non-empty multiple of 10 [ 10 .. 60 ] Default: 20 How aggressive the campaign should be |
endDate | datetime When to end the campaign. ISO 8601 UTC format. Overrides aggressiveness if set |
isPaused | boolean non-empty Default: false Whether to pause the campaign |
budget required | number <float> decimal places <= 2 >= 15 Amount of budget to add to the campaign |
jobs | Array of arrays <= 500 items A list of Jobcase job ids to activate for this campaign. |
{- "companyId": 1,
- "name": "My Campaign",
- "aggressiveness": 20,
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isPaused": false,
- "budget": 15,
- "jobs": [
- 10
]
}
{- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "name": "My Campaign",
- "budgetRemaining": 14.25,
- "budgetSpent": 0.75,
- "aggressiveness": 20,
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "status": "Active",
- "budget": 15,
- "jobs": [
- {
- "id": 1,
- "status": "Active",
- "jobTitle": "Rodeo Clown",
- "budgetSpent": 0.75,
- "totalClicks": 1
}
]
}
Lists campaigns, paginated (100 per page by default)
status | string Default: "active" Filter by campaign status:
|
offset | integer The number of items to skip before starting to collect the result set |
limit | integer The numbers of items to return |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/campaign/', qs: { status: 'SOME_STRING_VALUE', offset: 'SOME_INTEGER_VALUE', limit: 'SOME_INTEGER_VALUE' }, headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "count": 1,
- "results": [
- {
- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "name": "My Campaign",
- "budgetRemaining": 14.25,
- "budgetSpent": 0.75,
- "aggressiveness": 20,
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "status": "Active",
- "budget": 15,
- "jobs": [
- {
- "id": 1,
- "status": "Active",
- "jobTitle": "Rodeo Clown",
- "budgetSpent": 0.75,
- "totalClicks": 1
}
]
}
]
}
Retrieves a job by campaignId
campaignId required | number Campaign Identifier |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/campaign/%7BcampaignId%7D/', headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "name": "My Campaign",
- "budgetRemaining": 14.25,
- "budgetSpent": 0.75,
- "aggressiveness": 20,
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "status": "Active",
- "budget": 15,
- "jobs": [
- {
- "id": 1,
- "status": "Active",
- "jobTitle": "Rodeo Clown",
- "budgetSpent": 0.75,
- "totalClicks": 1
}
]
}
Updates a campaign by campaign identifier.
campaignId required | number Campaign Identifier |
Update a campaign
companyId required | number non-empty Jobcase Company Identifier |
name required | string non-empty The campaign name |
aggressiveness | number non-empty multiple of 10 [ 10 .. 60 ] Default: 20 How aggressive the campaign should be |
endDate | datetime When to end the campaign. ISO 8601 UTC format. Overrides aggressiveness if set |
isPaused | boolean non-empty Default: false Whether to pause the campaign |
addBudget | number <float> decimal places <= 2 >= 1 Amount of budget to add to the campaign |
jobs | Array of arrays <= 500 items A list of Jobcase job ids to do a full replace on for this campaign.
|
{- "companyId": 1,
- "name": "My Campaign",
- "aggressiveness": 20,
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "isPaused": false,
- "addBudget": 1,
- "jobs": [
- 10
]
}
{- "id": 1,
- "partnerId": 1,
- "companyId": 1,
- "name": "My Campaign",
- "budgetRemaining": 14.25,
- "budgetSpent": 0.75,
- "aggressiveness": 20,
- "endDate": "2030-02-05T19:09:35.334843+00:00",
- "status": "Active",
- "budget": 15,
- "jobs": [
- {
- "id": 1,
- "status": "Active",
- "jobTitle": "Rodeo Clown",
- "budgetSpent": 0.75,
- "totalClicks": 1
}
]
}
Lists applicant and click cost data for a campaign
jobId | integer The Jobcase job identifier |
campaignId | integer The Jobcase campaign identifier |
offset | integer The number of items to skip before starting to collect the result set |
limit | integer The numbers of items to return |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/campaign/cost_data/', qs: { jobId: 'SOME_INTEGER_VALUE', campaignId: 'SOME_INTEGER_VALUE', offset: 'SOME_INTEGER_VALUE', limit: 'SOME_INTEGER_VALUE' }, headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "count": 1,
- "results": [
- {
- "campaignId": 1,
- "jobId": 1,
- "source": "ABC XYZ Job Board",
- "cost": 0.15,
- "eventType": "Click",
- "time": "2030-02-05T19:09:35.334843+00:00"
}
]
}
Get an estimate on the number of candidates for a given job posting. Limited to 50 requests per day; contact us to increase your limit.
When getting an estimate, you may supply jobCity and jobState fields, or jobZipCode.
Get campaign performance estimates for your job
budget required | number <float> decimal places <= 2 >= 15 Amount of budget to add to the campaign |
jobTitle required | string non-empty The title / headline for the job |
jobDescription required | string non-empty The job description. 150 characters minimum is recommended for best distribution performance. |
jobCity required | string |
jobState required | string = 2 characters Abbreviated state |
jobZipCode required | string <= 7 characters |
companyName | string Name of company |
aggressiveness | number multiple of 10 [ 10 .. 60 ] Default: 20 How aggressive the campaign should be |
{- "budget": 15,
- "jobTitle": "Rodeo Clown",
- "jobDescription": "A rodeo clown has many on-site duties. This description should be 150 characters, but will be permitted.",
- "jobCity": "San Francisco",
- "jobState": "CA",
- "jobZipCode": 94111,
- "companyName": "Test Company",
- "aggressiveness": 20
}
{- "minCandidates": 5,
- "maxCandidates": 80
}
Lists all products
partnerId required | integer Jobcase Partner Identifier |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/product/', qs: {partnerId: 'SOME_INTEGER_VALUE'}, headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
[- {
- "id": 1,
- "code": "college",
- "runtime": 30,
- "shortCode": "abc:123",
- "description": "This product distributes to college sites",
- "title": "College Network"
}
]
POST event data to Jobcase when a job seeker applies for a Jobcase job in your system
jobSourceId required | string non-empty Example: x3js81mdz1 Jobcase Job identifier for a specific job posting contained in the XML job feed from Jobcase. |
Send a job application received event (Fields as JSON)
originalSource | string Identifies the original source from where the candidate applied to the job posting. If used, please provide your Identifier. |
firstName required | string non-empty Applicant's first name |
lastName required | string non-empty Applicant's last name |
email required | string <email> non-empty Applicant's email address |
phoneNumber required | string <phoneNumber> non-empty Applicant's phone number |
resume | string <binary> non-empty Applicant's resume file (multipart form data) Maximum file size: 5MB. Allowed content types:
|
required | string or string The IP Address of the user that submitted the application |
userAgent | string The User Agent (via HTTP headers) of the user that submitted the application. If available, we will use this to help determine the quality of the application (bot vs human) |
jobcaseProfileUrl | string <uri> URL of the Jobcase Member Profile |
{- "id": 1,
- "originalSource": "MyJobcaseJob_12300-1",
- "firstName": "Sales",
- "lastName": "Rep",
- "email": "sales.rep@jobcase.com",
- "phoneNumber": "(555) 555-5555",
- "userIp": "142.251.46.238",
- "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.163 Mobile Safari/537.36",
}
Operations to process CCPA requests
Lists a JSON object of information we have for the user. Takes an average of 45 seconds to respond.
string <email> The email address for the end user |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/ccpa/', qs: {email: 'SOME_STRING_VALUE'}, headers: {'X-Platform-Api-Key': 'REPLACE_KEY_VALUE'} }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "model": "apply.anonapply",
- "pk": 1,
- "fields": {
- "name": "Some User",
- "phone": "(250) 888-8633 x",
- "email": "anonymous@jobcase.com",
- "resume_file": 1
}
}
Submits a request to purge a user's information from Jobcase databases
Remove information about a user
email required | string <email> non-empty User's email address |
{- "email": "user@domain.com"
}
{- "id": 1,
- "email": "user@domain.com"
}
Operations to manage resume matching
Retrieves a match by key
key required | string Match Identifier |
const request = require('request'); const options = { method: 'GET', url: 'https://platform-api.partners.jobcase.com/api/platform/v1/webhooks/resume/match/%7Bkey%7D/' }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); });
{- "key": "abcde",
- "resume_text": "I worked at That Company",
- "job_text": "Software Engineer needed",
- "jobtitle": "Software Engineer",
- "score": 0.56,
- "match_bucket_name": "great_match",
- "match_object": {
- "score": 0.3,
- "bucket_type": 1,
- "match_model_version": 21,
- "score_weights": {
- "skills": 0.3,
- "education": 0,
- "experience": 0.7
}, - "weighted_skills_score": 0.3,
- "weighted_experience_score": 0,
- "weighted_education_score": 0,
- "skills_match_details": {
- "skills_score": 1,
- "job_num_skills": 1,
- "matched_skills": [
- {
- "job_dbpedia_tag": "Software_engineering",
- "resume_dbpedia_tag": "Software_engineering",
- "score": 1
}
], - "job_skills_data": [
- {
- "skill": "software engineer",
- "dbpedia_tag": "Software_engineering",
- "soft": 0
}
], - "resume_skills_data": [
- {
- "skill": "software engineer",
- "dbpedia_tag": "Software_engineering",
- "soft": 0
}
]
}, - "experience_match_details": {
- "experience_score": 0,
- "job_min_experience_years": 1,
- "resume_experience_years": 0,
- "resume_under_experience_years": 1,
- "experience_penalty": 1,
- "job_onetsoc_code": "15-1252.00",
- "job_career_pathway": "Programming and Software Development",
- "met_experience": false,
- "occupation_match_details": [
- {
- "occupation_data_id": "15-1252.00",
- "jobtitle": "Software Engineer",
- "actual_experience_years": 0.5,
- "years_ago": 5,
- "matched_on": "career_pathway"
}
]
}, - "education_match_details": {
- "education_score": 0,
- "job_education_level": "None",
- "resume_education_level": "None"
}, - "seconds_to_match": 2.71
}
}
POST text data to Jobcase to perform a match score
Send resume and job text for matching (Fields as JSON)
resume_data required | object Structured resume data for the applicant. |
resume_text | string Text of the applications resume |
job_text required | string Text of the job to match the applicant to |
jobtitle | string non-empty Job title of the job. Not required, but very helpful to include for the match. |
delay | boolean Default: false Whether to delay the result of the match. Default is false, and the result will be returned in the response. If true, |
{- "resume_data": {
- "fileName": "string",
- "source": "JC_PROFILE",
- "firstName": "string",
- "lastName": "string",
- "summary": "string",
- "email": "string",
- "phone": "string",
- "mobile": "string",
- "address": "string",
- "city": "string",
- "subdivision": "string",
- "country": "string",
- "postalCode": "string",
- "skills": [
- "string"
], - "workExperiences": [
- {
- "employerConfidence": 10,
- "jobProfileConfidence": 10,
- "onetCodes": {
- "15-1254.00": 0.49,
- "15-1253.00": 0.66,
- "15-1252.00": 0.79,
- "15-1299.01": 0.47,
- "15-1299.08": 0.61,
- "15-1251.00": 0.62,
- "15-1232.00": 0.6,
- "15-1211.00": 0.56
}, - "description": "string",
- "title": "string",
- "companyName": "string",
- "updatedAt": "2024-05-16T14:14:04.419Z",
- "city": "string",
- "subdivision": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050
}
], - "educations": [
- {
- "degreeLevel": "NO_DEGREE",
- "programName": "string",
- "programDescription": "string",
- "updatedAt": "2024-05-16T14:14:04.421Z",
- "city": "string",
- "subdivision": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050,
- "institutionName": "string",
- "degreeConfidence": 10,
- "institutionConfidence": 10
}
], - "certifications": [
- {
- "issuer": "string",
- "description": "string",
- "updatedAt": "2024-05-16T14:14:04.421Z",
- "certificationName": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050
}
], - "createdAt": "2024-05-16T14:14:04.421Z",
- "updatedAt": "2024-05-16T14:14:04.422Z"
}, - "resume_text": "I worked at That Company",
- "job_text": "Software Engineer needed",
- "jobtitle": "Software Engineer",
- "delay": false
}
{- "key": "DhEpdX",
- "resume_data": {
- "fileName": "string",
- "source": "JC_PROFILE",
- "firstName": "string",
- "lastName": "string",
- "summary": "string",
- "email": "string",
- "phone": "string",
- "mobile": "string",
- "address": "string",
- "city": "string",
- "subdivision": "string",
- "country": "string",
- "postalCode": "string",
- "skills": [
- "string"
], - "workExperiences": [
- {
- "employerConfidence": 10,
- "jobProfileConfidence": 10,
- "onetCodes": {
- "15-1254.00": 0.49,
- "15-1253.00": 0.66,
- "15-1252.00": 0.79,
- "15-1299.01": 0.47,
- "15-1299.08": 0.61,
- "15-1251.00": 0.62,
- "15-1232.00": 0.6,
- "15-1211.00": 0.56
}, - "description": "string",
- "title": "string",
- "companyName": "string",
- "updatedAt": "2024-05-16T14:14:04.419Z",
- "city": "string",
- "subdivision": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050
}
], - "educations": [
- {
- "degreeLevel": "NO_DEGREE",
- "programName": "string",
- "programDescription": "string",
- "updatedAt": "2024-05-16T14:14:04.421Z",
- "city": "string",
- "subdivision": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050,
- "institutionName": "string",
- "degreeConfidence": 10,
- "institutionConfidence": 10
}
], - "certifications": [
- {
- "issuer": "string",
- "description": "string",
- "updatedAt": "2024-05-16T14:14:04.421Z",
- "certificationName": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050
}
], - "createdAt": "2024-05-16T14:14:04.421Z",
- "updatedAt": "2024-05-16T14:14:04.422Z"
}, - "resume_text": "I worked at That Company",
- "job_text": "Software Engineer needed",
- "jobtitle": "Software Engineer",
- "delay": false,
- "score": 0.3,
- "match_bucket_name": "great_match",
- "match_object": {
- "score": 0.3,
- "bucket_type": 1,
- "match_model_version": 21,
- "score_weights": {
- "skills": 0.3,
- "education": 0,
- "experience": 0.7
}, - "weighted_skills_score": 0.3,
- "weighted_experience_score": 0,
- "weighted_education_score": 0,
- "skills_match_details": {
- "skills_score": 1,
- "job_num_skills": 1,
- "matched_skills": [
- {
- "job_dbpedia_tag": "Software_engineering",
- "resume_dbpedia_tag": "Software_engineering",
- "score": 1
}
], - "job_skills_data": [
- {
- "skill": "software engineer",
- "dbpedia_tag": "Software_engineering",
- "soft": 0
}
], - "resume_skills_data": [
- {
- "skill": "software engineer",
- "dbpedia_tag": "Software_engineering",
- "soft": 0
}
]
}, - "experience_match_details": {
- "experience_score": 0,
- "job_min_experience_years": 1,
- "resume_experience_years": 0,
- "resume_under_experience_years": 1,
- "experience_penalty": 1,
- "job_onetsoc_code": "15-1252.00",
- "job_career_pathway": "Programming and Software Development",
- "met_experience": false,
- "occupation_match_details": [
- {
- "occupation_data_id": "15-1252.00",
- "jobtitle": "Software Engineer",
- "actual_experience_years": 0.5,
- "years_ago": 5,
- "matched_on": "career_pathway"
}
]
}, - "education_match_details": {
- "education_score": 0,
- "job_education_level": "None",
- "resume_education_level": "None"
}, - "seconds_to_match": 2.71
}
}
POST text data to Jobcase to perform an experience match score
Send resume and job text for matching (Fields as JSON)
resume_data required | object Structured resume data for the applicant. Note: listed is the full Jobcase resume schema, but we are only using the workExperiences to do the matching. |
job_text required | string non-empty Text of the job to match the applicant to |
jobtitle required | string non-empty Job title of the job. Not required, but very helpful to include for the match. |
{- "resume_data": {
- "fileName": "string",
- "source": "JC_PROFILE",
- "firstName": "string",
- "lastName": "string",
- "summary": "string",
- "email": "string",
- "phone": "string",
- "mobile": "string",
- "address": "string",
- "city": "string",
- "subdivision": "string",
- "country": "string",
- "postalCode": "string",
- "skills": [
- "string"
], - "workExperiences": [
- {
- "employerConfidence": 10,
- "jobProfileConfidence": 10,
- "onetCodes": {
- "15-1254.00": 0.49,
- "15-1253.00": 0.66,
- "15-1252.00": 0.79,
- "15-1299.01": 0.47,
- "15-1299.08": 0.61,
- "15-1251.00": 0.62,
- "15-1232.00": 0.6,
- "15-1211.00": 0.56
}, - "description": "string",
- "title": "string",
- "companyName": "string",
- "updatedAt": "2024-05-16T14:14:04.419Z",
- "city": "string",
- "subdivision": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050
}
], - "educations": [
- {
- "degreeLevel": "NO_DEGREE",
- "programName": "string",
- "programDescription": "string",
- "updatedAt": "2024-05-16T14:14:04.421Z",
- "city": "string",
- "subdivision": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050,
- "institutionName": "string",
- "degreeConfidence": 10,
- "institutionConfidence": 10
}
], - "certifications": [
- {
- "issuer": "string",
- "description": "string",
- "updatedAt": "2024-05-16T14:14:04.421Z",
- "certificationName": "string",
- "startMonth": 12,
- "startYear": 2050,
- "endMonth": 12,
- "endYear": 2050
}
], - "createdAt": "2024-05-16T14:14:04.421Z",
- "updatedAt": "2024-05-16T14:14:04.422Z"
}, - "job_text": "Software Engineer needed",
- "jobtitle": "Software Engineer"
}
{- "score": 0.2,
- "is_experience_match": false,
- "match_object": {
- "experience_score": 0.2,
- "under_experience_penalty": 0.8,
- "years_ago_penalty": 0,
- "penalty_description_data": {
- "min_experience": {
- "penalty": 0.8,
- "description": "4.0 years under minimum experience required"
}
}, - "min_experience": 5,
- "actual_experience_years": 1,
- "under_experience_years": 4,
- "years_ago": 12.5,
- "is_experience_match": false,
- "jobtitle_matches": [
- "CEO"
], - "jobtitle_matches_details": [
- {
- "occupation_data_id": "11-1011.00",
- "jobtitle": "CEO",
- "actual_experience_years": 1,
- "years_ago": 12.5,
- "matched_on": "occupation"
}
], - "penalties": {
- "experience": {
- "min_experience": {
- "penalty": 0.8,
- "description": "4.0 years under minimum experience required"
}
}
}
}
}