Skip to main content

Greenhouse Component

Interact with the Greenhouse API

Component key: greenhouse

Description

Greenhouse is a platform designed for recruiting and talent management.

Use the Greenhouse component to connect to the Harvest API for managing Candidate information, User information, Applications, and more.

Connections

API Key

The Greenhouse Harvest API uses Basic Auth over HTTPS for authentication. The username is your Greenhouse API token and the password should be blank. Unauthenticated requests will return an HTTP 401 response.

  1. Harvest API keys can be obtained in Greenhouse. In order to create a Harvest API key, a user must be granted the “Can manage ALL organization’s API Credentials” in the “Developer permission” section.
  2. That user can then go Configure >> Dev Center >> API Credential Management.
  3. From there, you can create a Harvest API key and choose which endpoints it may access a. API Type - Harvest b. Partner - Custom
  4. Select “Manage Permissions” to Continue
  5. Enter Your API key into a Prismatic integration and/or another secure location.
  6. Select “I have stored the API key” to continue”
  7. You may now choose which actions the user will be allowed to submit: a. Recommended sections for getting started I. Users II. Applications III. Jobs IV. Candidates V. Custom Field Options b. You may also choose granular permissions for each section I. Select Save when complete.
InputNotes
API Key
password
/ Required
username
API Key for your Greenhouse User

Triggers

Webhook

Receive and validate webhook requests from Greenhouse for webhooks you configure. | key: webhook

InputNotes
Enabled Events
string
Value List
enabledEvents
A list of events configured by the user to accept in the integration. If empty, all events will be accepted
Secret Key
string
/ Required
secret_key
The secret key to use for the webhook

Data Sources

Fetch Candidates Names

Fetch an array of candidates' names | key: candidates | type: picklist

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"result": [
{
"label": "John Locke",
"key": "650"
},
{
"label": "John Doe",
"key": "47012"
}
]
}

Fetch Custom Fields

Fetch an array of custom fields' names | key: customFields | type: picklist

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Field Type
string
/ Required
fieldType
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"result": [
{
"label": "Custom Field Name",
"key": "650"
},
{
"label": "Custom Field Name 2",
"key": "47012"
}
]
}

Fetch Departments

Fetch an array of departments' names | key: departments | type: picklist

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"result": [
{
"label": "Technology",
"key": "650"
},
{
"label": "Administration",
"key": "47012"
}
]
}

Fetch Jobs

Fetch an array of jobs' names | key: jobs | type: picklist

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"result": [
{
"label": "Archaeologist",
"key": "650"
},
{
"label": "Example",
"key": "47012"
}
]
}

Fetch Offices

Fetch an array of offices' names | key: offices | type: picklist

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"result": [
{
"label": "Utica",
"key": "50891"
},
{
"label": "New York",
"key": "47012"
}
]
}

Fetch Users Names

Fetch an array of users' names | key: users | type: picklist

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"result": [
{
"label": "Juliet Burke",
"key": "112"
},
{
"label": "John Doe",
"key": "712"
}
]
}

Actions

Create a Candidate

Create a new candidate. | key: createCandidate

InputDefaultNotesExample
Addresses
code
addresses
Array of addresses. Passing an empty array will clear all.
Applications
code
/ Required
applications
An array of application objects. At least one required.
Company
string
company
The candidate's company
 
Connection
connection
/ Required
connection
 
 
 
Custom Fields
code
custom_fields
Array of hashes containing new custom field values. Passing an empty array does nothing.
Educations
code
educations
An array of education records.
Email Addresses
code
email_addresses
Array of email addresses. Passing an empty array will clear all.
Employments
code
employments
An array of education records.
First Name
string
/ Required
first_name
The candidate's first name
 
Last Name
string
/ Required
last_name
The candidate's last name
 
Phone Numbers
code
phone_numbers
Array of phone numbers. Passing an empty array will clear all.
Social Media Addresses
code
social_media_addresses
Array of social media addresses. Passing an empty array will clear all.
Tags
string
Value List
tags
000xxx
Array of tags as strings. Passing an empty array will clear all.
 
Title
string
title
The candidate's title
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"
 
Website Addresses
code
website_addresses
Array of website addresses. Passing an empty array will clear all.

{
"data": {
"first_name": "John",
"last_name": "Locke",
"company": "The Tustin Box Company",
"title": "Man of Mystery",
"is_private": false,
"phone_numbers": [
{
"value": "555-1212",
"type": "mobile"
}
],
"addresses": [
{
"value": "123 Fake St.",
"type": "home"
}
],
"email_addresses": [
{
"value": "john.locke+work@example.com",
"type": "work"
},
{
"value": "john.locke@example.com",
"type": "personal"
}
],
"website_addresses": [
{
"value": "johnlocke.example.com",
"type": "personal"
}
],
"social_media_addresses": [
{
"value": "linkedin.example.com/john.locke"
},
{
"value": "@johnlocke"
}
],
"educations": [
{
"school_id": 459,
"discipline_id": 940,
"degree_id": 1230,
"start_date": "2001-09-15T00:00:00.000Z",
"end_date": "2004-05-15T00:00:00.000Z"
}
],
"employments": [
{
"company_name": "Greenhouse",
"title": "Engineer",
"start_date": "2012-08-15T00:00:00.000Z",
"end_date": "2016-05-15T00:00:00.000Z"
}
],
"tags": [
"Walkabout",
"Orientation"
],
"applications": [
{
"job_id": 215725
},
{
"job_id": 185289
}
]
}
}

Create a Job

Create a new job. | key: createJob

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Department ID
string
department_id
The department of the new job. This should be a department id from the Departments endpoint. If this element is omitted, the new job will receive the department of the template job. If this element is included but blank, it will create the job with no departments. If the organization requires jobs to have a department, this case will return a 422 response.
External Department ID
string
external_department_id
This may be used instead of department_id and represents the ID of the department in an external system.
External Office Ids
string
Value List
external_office_ids
000xxx
This may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_id must be blank and vice versa.
Job Name
string
job_name
This is the internal name of the new job. If this is not included, the name of the new job will be “Copy Of (the template job's name)”
Job Post Name
string
job_post_name
This will be the name on the new job post. If this is not included, the job post names in the base job will be copied.
Number of Openings
string
/ Required
number_of_openings
The number of openings that will be created for this job.
Office Ids
string
Value List
office_ids
000xxx
The offices of the new job. These should be office ids from the Offices endpoint. If this element is omitted, the new job will receive the offices of the template job. If this element is included but blank, it will create the job with no offices. If the organization requires jobs to have an office, this case will return a 422 response.
Opening Ids
string
Value List
opening_ids
000000
This may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_ids must be blank and vice versa.
Requisition ID
string
requisition_id
If included, will return only the jobs that match the given requisition_id
Template Job ID
string
/ Required
template_job_id
This is the job we will use to generate the new job. The new job will receive most of the settings of the template job. The On-Behalf-Of user must have access to this job.
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": {
"id": 112746,
"name": "Internal Name That Appears On Hiring Plans",
"requisition_id": "abc-123",
"notes": "Looking for the best!",
"confidential": false,
"status": "open",
"is_template": false,
"copied_from_id": 12345,
"created_at": "2015-09-10T19:01:46.078Z",
"opened_at": "2015-09-10T19:01:46.078Z",
"updated_at": "2015-09-10T19:01:46.078Z",
"closed_at": null,
"departments": [
{
"id": 123,
"name": "Guideshops",
"parent_id": null,
"child_ids": [
52461,
34065,
25908
],
"external_id": "EXTERNAL_ID_1234"
}
],
"offices": [
{
"id": 234,
"name": "San Diego",
"location": {
"name": "San Diego, CA, United States"
},
"primary_contact_user_id": 25463,
"parent_id": 50850,
"child_ids": [
24719
],
"external_id": "abc13425"
},
{
"id": 345,
"name": "New York",
"location": {
"name": "New York, NY, United States"
},
"parent_id": null,
"child_ids": [],
"external_id": "13432"
}
],
"hiring_team": {
"hiring_managers": [
{
"id": 84275,
"first_name": "Kaylee",
"last_name": "Prime",
"name": "Kaylee Prime",
"employee_id": "13636"
},
{
"id": 169779,
"first_name": "Hank",
"last_name": "Hollandaise",
"name": "Hank Hollandaise",
"employee_id": "34537"
}
],
"recruiters": [
{
"id": 81111,
"first_name": "Samuel",
"last_name": "Skateboard",
"name": "Samuel Skateboard",
"employee_id": "34531",
"responsible": false
},
{
"id": 153448,
"first_name": "Stegosaurus",
"last_name": "Heels",
"name": "Stegosaurus Heels",
"employee_id": "45748",
"responsible": true
}
],
"coordinators": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327",
"responsible": true
},
{
"id": 177046,
"first_name": "Mirandella",
"last_name": "Lager",
"name": "Mirandella Lager",
"employee_id": "43626",
"responsible": false
}
],
"sourcers": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327"
}
]
},
"openings": [
{
"id": 123,
"opening_id": "3-1",
"status": "open",
"opened_at": "2015-11-20T23:14:14.736Z",
"closed_at": "2017-11-20T23:14:14.736Z",
"application_id": 45678,
"close_reason": {
"id": 678,
"name": "Hired - Backfill"
}
},
{
"id": 124,
"opening_id": "3-2",
"status": "open",
"opened_at": "2015-11-20T23:14:14.739Z",
"closed_at": null,
"application_id": null,
"close_reason": null
},
{
"id": 125,
"opening_id": null,
"status": "open",
"opened_at": "2016-02-03T20:00:00.000Z",
"closed_at": null,
"application_id": null
},
{
"id": 126,
"opening_id": "2-4",
"status": "closed",
"opened_at": "2016-02-03T16:38:46.985Z",
"closed_at": "2016-02-03T16:39:09.811Z",
"application_id": 1232,
"close_reason": {
"id": 689,
"name": "Hired"
}
}
]
}
}

Create a User

Create a new user | key: createUser

InputDefaultNotesExample
Connection
connection
/ Required
connection
 
 
 
Custom Fields
code
custom_fields
Array of hashes containing new custom field values. Passing an empty array does nothing.
Department Ids
string
Value List
department_ids
000xxx
The department value(s) associated with a user. Must be a valid set of department IDs. Passing an empty array does nothing.
 
Email
string
/ Required
email
The user's email address. Must be a valid email address.
 
Employee Id
string
employee_id
The user's external employee id.
 
External Department Ids
string
Value List
external_department_ids
000xxx
This may be used instead of department_ids and represents the ID of the department in an external system. If this is used, department_ids must be blank and vice versa.
 
External Office Ids
string
Value List
external_office_ids
000xxx
This may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_id must be blank and vice versa.
 
First Name
string
/ Required
first_name
The user's first name
 
Last Name
string
/ Required
last_name
The user's last name
 
Office Ids
string
Value List
office_ids
000xxx
The office value(s) associated with a user. Must be a valid set of office IDs. Passing an empty array does nothing.
 
Send Email Invite
boolean
/ Required
send_email_invite
false
If true, an email will be sent to the user alerting them of any new job permissions that have been assigned to them. Emails are never sent when permissions are removed. If false, nothing happens. Default is false.
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"
 

Delete a Candidate

Delete a candidate by id | key: deleteCandidate

InputDefaultNotes
Candidate ID
string
/ Required
candidate_id
ID of the candidate to delete.
Connection
connection
/ Required
connection
 
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": {
"message": "Person 29622362 has been deleted."
}
}

Delete Application

Delete an application by id | key: deleteApplication

InputDefaultNotes
Application ID
string
application_id
ID of the application
Connection
connection
/ Required
connection
 
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": {
"message": "Application 29622362 has been deleted."
}
}

Disable a User

Disable an existing user | key: disableUser

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Email
string
/ Required
email
The user's email address. Must be a valid email address.
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
Api Version
string
/ Required
version
v2
The version of the API to use. Defaults to "v1"

Edit a Candidate

Edit an existing candidate. | key: editCandidate

InputDefaultNotesExample
Addresses
code
addresses
Array of addresses. Passing an empty array will clear all.
Candidate ID
string
/ Required
candidate_id
The Id of the candidate
 
Company
string
company
The candidate's company
 
Connection
connection
/ Required
connection
 
 
 
Coordinator
code
coordinator
An object representing the candidate's new coordinator
Custom Fields
code
custom_fields
Array of hashes containing new custom field values. Passing an empty array does nothing.
Email Addresses
code
email_addresses
Array of email addresses. Passing an empty array will clear all.
First Name
string
first_name
The candidate's first name
 
Is Private
boolean
is_private
Whether the candidate is private or not. One of: [“true”, “false”]
 
Last Name
string
last_name
The candidate's last name
 
Phone Numbers
code
phone_numbers
Array of phone numbers. Passing an empty array will clear all.
Recruiter
code
recruiter
An object representing the candidate's new recruiter
Social Media Addresses
code
social_media_addresses
Array of social media addresses. Passing an empty array will clear all.
Tags
string
Value List
tags
000xxx
Array of tags as strings. Passing an empty array will clear all.
 
Title
string
title
The candidate's title
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"
 
Website Addresses
code
website_addresses
Array of website addresses. Passing an empty array will clear all.

{
"data": {
"first_name": "John",
"last_name": "Locke",
"company": "The Tustin Box Company",
"title": "Man of Mystery",
"is_private": false,
"phone_numbers": [
{
"value": "555-1212",
"type": "mobile"
}
],
"addresses": [
{
"value": "123 Fake St.",
"type": "home"
}
],
"email_addresses": [
{
"value": "john.locke+work@example.com",
"type": "work"
},
{
"value": "john.locke@example.com",
"type": "personal"
}
],
"website_addresses": [
{
"value": "johnlocke.example.com",
"type": "personal"
}
],
"social_media_addresses": [
{
"value": "linkedin.example.com/john.locke"
},
{
"value": "@johnlocke"
}
],
"educations": [
{
"school_id": 459,
"discipline_id": 940,
"degree_id": 1230,
"start_date": "2001-09-15T00:00:00.000Z",
"end_date": "2004-05-15T00:00:00.000Z"
}
],
"employments": [
{
"company_name": "Greenhouse",
"title": "Engineer",
"start_date": "2012-08-15T00:00:00.000Z",
"end_date": "2016-05-15T00:00:00.000Z"
}
],
"tags": [
"Walkabout",
"Orientation"
],
"applications": [
{
"job_id": 215725
},
{
"job_id": 185289
}
]
}
}

Edit a Job

Edit a job by id | key: editJob

InputDefaultNotesExample
Anywhere
boolean
anywhere
false
Boolean value indicating where the job can be done anywhere
 
Connection
connection
/ Required
connection
 
 
 
Custom Fields
code
custom_fields
Array of hashes containing new custom field values. Passing an empty array does nothing.
Department ID
string
department_id
If included, will return only the jobs in this specific department.
 
External Department ID
string
external_department_id
This may be used instead of department_id and represents the ID of the department in an external system.
 
External Office Ids
string
Value List
external_office_ids
000xxx
This may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_id must be blank and vice versa.
 
How to Sell This Job
string
how_to_sell_this_job
A description for the recruiter of the desirable aspects of the job
 
Job ID
string
/ Required
job_id
If supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
 
Job Name
string
name
The job's name
 
Notes
string
notes
Notes on the hiring plan
 
Office Ids
string
Value List
office_ids
000xxx
Replace the current offices for this job with new offices. If your organization requires at least one office, trying to set this to blank will return an error.
 
Requisition ID
string
requisition_id
If included, will return only the jobs that match the given requisition_id
 
Team and Responsibilities
string
team_and_responsibilities
A description of the team the candidate would join and their responsibilities
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"
 

{
"data": {
"id": 6404,
"name": "New job name",
"requisition_id": "1",
"notes": "Here are some notes",
"confidential": false,
"status": "closed",
"created_at": "2013-12-10T14:42:58Z",
"opened_at": "2013-12-11T14:42:58Z",
"closed_at": "2013-12-12T14:42:58Z",
"updated_at": "2013-12-12T14:42:58Z",
"is_template": false,
"copied_from_id": 2345,
"departments": [
{
"id": 74,
"name": "Second-Level department",
"parent_id": 25908,
"child_ids": [
14510
],
"external_id": "dept-1"
}
],
"offices": [
{
"id": 1556,
"name": "San Francisco",
"location": {
"name": "San Francisco, United States"
},
"primary_contact_user_id": 150893,
"parent_id": 50849,
"child_ids": [
50852,
50891
],
"external_id": "office-1"
}
],
"custom_fields": {
"employment_type": "Full-Time",
"maximum_budget": "$81.5k",
"salary_range": {
"min_value": 70000,
"max_value": 90000,
"unit": "USD"
}
},
"keyed_custom_fields": {
"employment_type": {
"name": "Time type",
"type": "single_select",
"value": "Full-Time"
},
"budget": {
"name": "Maximum Budget",
"type": "short_text",
"value": "Full-Time"
},
"salary_range": {
"name": "Salary Range",
"type": "currency_range",
"value": {
"min_value": 70000,
"max_value": 90000,
"unit": "USD"
}
}
},
"hiring_team": {
"hiring_managers": [
{
"id": 84275,
"first_name": "Kaylee",
"last_name": "Prime",
"name": "Kaylee Prime",
"employee_id": "13636"
},
{
"id": 169779,
"first_name": "Hank",
"last_name": "Hollandaise",
"name": "Hank Hollandaise",
"employee_id": "34537"
}
],
"recruiters": [
{
"id": 81111,
"first_name": "Samuel",
"last_name": "Skateboard",
"name": "Samuel Skateboard",
"employee_id": "34531",
"responsible": false
},
{
"id": 153448,
"first_name": "Stegosaurus",
"last_name": "Heels",
"name": "Stegosaurus Heels",
"employee_id": "45748",
"responsible": true
}
],
"coordinators": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327",
"responsible": true
},
{
"id": 177046,
"first_name": "Mirandella",
"last_name": "Lager",
"name": "Mirandella Lager",
"employee_id": "43626",
"responsible": false
}
],
"sourcers": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327"
}
]
},
"openings": [
{
"id": 123,
"opening_id": "3-1",
"status": "open",
"opened_at": "2015-11-20T23:14:14.736Z",
"closed_at": "2017-11-20T23:14:14.736Z",
"application_id": 45678,
"close_reason": {
"id": 678,
"name": "Hired - Backfill"
},
"custom_fields": {
"employment_type": "Full-Time",
"maximum_budget": "$81.5k"
},
"keyed_custom_fields": {
"employment_type": {
"name": "Time type",
"type": "single_select",
"value": "Full-Time"
},
"budget": {
"name": "Maximum Budget",
"type": "short_text",
"value": "$81.5k"
}
}
},
{
"id": 124,
"opening_id": "3-2",
"status": "open",
"opened_at": "2015-11-20T23:14:14.739Z",
"closed_at": null,
"application_id": null,
"close_reason": null,
"custom_fields": {
"employment_type": "Full-Time",
"maximum_budget": "$81.5k"
},
"keyed_custom_fields": {
"employment_type": {
"name": "Time type",
"type": "single_select",
"value": "Full-Time"
},
"budget": {
"name": "Maximum Budget",
"type": "short_text",
"value": "$81.5k"
}
}
},
{
"id": 125,
"opening_id": null,
"status": "open",
"opened_at": "2016-02-03T20:00:00.000Z",
"closed_at": null,
"application_id": null,
"custom_fields": {
"employment_type": "Full-Time",
"maximum_budget": "$81.5k"
},
"keyed_custom_fields": {
"employment_type": {
"name": "Time type",
"type": "single_select",
"value": "Full-Time"
},
"budget": {
"name": "Maximum Budget",
"type": "short_text",
"value": "$81.5k"
}
}
},
{
"id": 126,
"opening_id": "2-4",
"status": "closed",
"opened_at": "2016-02-03T16:38:46.985Z",
"closed_at": "2016-02-03T16:39:09.811Z",
"application_id": 1232,
"close_reason": {
"id": 689,
"name": "Hired"
},
"custom_fields": {
"employment_type": "Full-Time",
"maximum_budget": "$81.5k"
},
"keyed_custom_fields": {
"employment_type": {
"name": "Time type",
"type": "single_select",
"value": "Full-Time"
},
"budget": {
"name": "Maximum Budget",
"type": "short_text",
"value": "$81.5k"
}
}
}
]
}
}

Edit a User

Edit an existing user | key: editUser

InputDefaultNotesExample
Connection
connection
/ Required
connection
 
 
 
Custom Fields
code
custom_fields
Array of hashes containing new custom field values. Passing an empty array does nothing.
Department Ids
string
Value List
department_ids
000xxx
Replace the current departments for this user with new departments. An empty array will remove all departments on this user.
 
Email
string
email
The user element must contain one of ‘employee_id’, 'email’, or 'user_id’, but not more than one. If included, this cannot be blank, nor can it match any other email for a user in this organization.
 
Employee Id
string
employee_id
The user’s external employee id. If included, this cannot be blank, nor can it match any other employee-id for a user in this organization.
 
External Department Ids
string
Value List
external_department_ids
000xxx
This may be used instead of department_ids and represents the ID of the department in an external system. If used, department_ids must be blank and vice versa.
 
External Office Ids
string
Value List
external_office_ids
000xxx
This may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_ids must be blank and vice versa.
 
First Name
string
first_name
The user’s new first name. If included, this cannot be blank.
 
Last Name
string
last_name
The user’s new last name. If included, this cannot be blank.
 
Office Ids
string
Value List
office_ids
000xxx
Replace the current offices for this user with new offices. An empty array will remove all offices on this user.
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
 
Api Version
string
/ Required
version
v2
The version of the API to use. Defaults to "v1"
 

Edit Application

Edit an Application by id | key: editApplication

InputDefaultNotesExample
Application ID
string
application_id
ID of the application
 
Connection
connection
/ Required
connection
 
 
 
Custom Fields
code
custom_fields
Array of hashes containing new custom field values. Passing an empty array does nothing.
Prospect Pool ID
string
prospect_pool_id
The ID of the prospect pool for the application
 
Prospect Stage ID
string
prospect_stage_id
The ID of the prospect pool stage for the application
 
Referrer
code
/ Required
referrer
An object representing the referrer
Source ID
string
source_id
The ID of the application's source
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"
 

{
"data": {
"id": 69306314,
"candidate_id": 57683957,
"prospect": false,
"applied_at": "2017-09-29T12:56:05.244Z",
"rejected_at": null,
"last_activity_at": "2017-09-29T13:00:28.038Z",
"location": {
"address": "New York, New York, USA"
},
"source": {
"id": 2,
"public_name": "Jobs page on your website"
},
"credited_to": {
"id": 4080,
"first_name": "Kate",
"last_name": "Austen",
"name": "Kate Austen",
"employee_id": "12345"
},
"rejection_reason": null,
"rejection_details": null,
"jobs": [
{
"id": 107761,
"name": "UX Designer - Boston"
}
],
"job_post_id": 123,
"status": "active",
"current_stage": {
"id": 767358,
"name": "Application Review"
},
"answers": [
{
"question": "How did you hear about this job?",
"answer": "Online Research"
},
{
"question": "Website",
"answer": "mytestwebsite.com"
}
],
"prospective_office": null,
"prospective_department": null,
"prospect_detail": {
"prospect_pool": null,
"prospect_stage": null,
"prospect_owner": null
},
"custom_fields": {
"application_custom_test": "Option 1"
},
"keyed_custom_fields": {
"application_custom_test": {
"name": "Application Custom Test",
"type": "single_select",
"value": "Option 1"
}
},
"attachments": [
{
"filename": "John_Locke_Offer_Packet_09_27_2017.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
]
}
}

Enable a User

Enable an existing user | key: enableUser

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Email
string
/ Required
email
The user's email address. Must be a valid email address.
On Behalf Of User ID
string
/ Required
user_id
ID of the user issuing this request. Required for auditing purposes.
Api Version
string
/ Required
version
v2
The version of the API to use. Defaults to "v1"

{
"data": {
"id": 253528,
"name": "Bob Smith",
"first_name": "Bob",
"last_name": "Smith",
"primary_email_address": "bob@email.org",
"updated_at": "2017-03-23T18:58:27.796Z",
"created_at": "2016-04-28T15:28:16.440Z",
"disabled": false,
"site_admin": false,
"emails": [
"bob@email.org"
],
"employee_id": "221",
"linked_candidate_ids": [
123,
654
],
"offices": [
{
"id": 47013,
"name": "San Francisco",
"location": {
"name": "San Francisco, California"
},
"primary_contact_user_id": 150894,
"parent_id": 50850,
"parent_office_external_id": "14680",
"child_ids": [
50852,
50891
],
"child_office_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
],
"departments": [
{
"id": 25907,
"name": "Marketing",
"parent_id": 25908,
"parent_department_external_id": "13473",
"child_ids": [
50852,
50891
],
"child_department_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
],
"custom_fields": {
"equipment": "Laptop",
"shirt_size": "M",
"hiring_specialties": [
"Engineers",
"Executives"
],
"trained_for_interviews": true,
"recruiting_partner": {
"name": "Johnny Recruiter",
"email": "johnny@example.com",
"user_id": 4000000000
}
},
"keyed_custom_fields": {
"equipment": {
"name": "Equipment",
"type": "short_text",
"value": "Laptop"
},
"shirt_size": {
"name": "Shirt Size",
"type": "single_select",
"value": "M"
},
"hiring_specialties": {
"name": "Hiring Specialties",
"type": "multi_select",
"value": [
"Engineers",
"Executives"
]
},
"trained_for_interviews": {
"name": "Trained for interviews",
"type": "boolean",
"value": true
},
"recruiting_partner": {
"name": "Recruiting Partner",
"type": "user",
"value": {
"name": "Johnny Recruiter",
"email": "johnny@example.com",
"user_id": 4000000000
}
}
}
}
}

Get a Candidate

Get a candidate by id | key: getCandidate

InputDefaultNotes
Candidate ID
string
/ Required
candidate_id
The Id of the candidate
Connection
connection
/ Required
connection
 
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": {
"id": 53883394,
"first_name": "John",
"last_name": "Locke",
"company": "The Tustin Box Company",
"title": "Man of Mystery",
"created_at": "2017-08-15T03:31:46.591Z",
"updated_at": "2017-09-28T12:29:30.497Z",
"last_activity": "2017-09-28T12:29:30.481Z",
"is_private": false,
"photo_url": null,
"attachments": [
{
"filename": "John_Locke_Offer_Packet_09_27_2017.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
],
"application_ids": [
69102626,
65153308
],
"phone_numbers": [
{
"value": "555-555-5555",
"type": "mobile"
}
],
"addresses": [
{
"value": "123 City Street\nNew York, Ny 10001",
"type": "home"
}
],
"email_addresses": [
{
"value": "test@work.com",
"type": "work"
},
{
"value": "test@example.com",
"type": "personal"
}
],
"website_addresses": [
{
"value": "mysite.com",
"type": "personal"
}
],
"social_media_addresses": [
{
"value": "twitter.com/test"
}
],
"recruiter": {
"id": 92120,
"first_name": "Greenhouse",
"last_name": "Admin",
"name": "Greenhouse Admin",
"employee_id": "67890"
},
"coordinator": {
"id": 453636,
"first_name": "Jane",
"last_name": "Smith",
"name": "Jane Smith",
"employee_id": "12345"
},
"can_email": true,
"tags": [
"Python",
"Ruby"
],
"applications": [
{
"id": 69102626,
"candidate_id": 53883394,
"prospect": false,
"applied_at": "2017-09-27T12:03:02.728Z",
"rejected_at": "2017-09-27T12:11:40.877Z",
"last_activity_at": "2017-09-28T12:29:30.481Z",
"location": {
"address": "New York, New York, USA"
},
"source": {
"id": 16,
"public_name": "LinkedIn (Prospecting)"
},
"credited_to": {
"id": 165372,
"first_name": "Joel",
"last_name": "Job Admin",
"name": "Joel Job Admin",
"employee_id": null
},
"rejection_reason": {
"id": 9504,
"name": "Hired another candidate",
"type": {
"id": 1,
"name": "We rejected them"
}
},
"rejection_details": {
"custom_fields": {
"custom_rejection_question_field": null
},
"keyed_custom_fields": {
"custom_rejection_question_field": {
"name": "Custom Rejection Question Field",
"type": "short_text",
"value": null
}
}
},
"jobs": [
{
"id": 149995,
"name": "DevOps Engineer"
}
],
"job_post_id": 123,
"status": "rejected",
"current_stage": {
"id": 1073533,
"name": "Take Home Test"
},
"answers": [
{
"question": "How did you hear about this job?",
"answer": "A friend"
},
{
"question": "Website",
"answer": "https://example.com"
},
{
"question": "LinkedIn Profile",
"answer": "https://linkedin.com/example"
}
],
"prospective_office": null,
"prospective_department": null,
"prospect_detail": {
"prospect_pool": null,
"prospect_stage": null,
"prospect_owner": null
},
"attachments": [
{
"filename": "John_Locke_Offer_Packet_09_27_2017.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
]
},
{
"id": 65153308,
"candidate_id": 53883394,
"prospect": false,
"applied_at": "2017-08-15T03:31:46.637Z",
"rejected_at": null,
"last_activity_at": "2017-09-28T12:29:30.481Z",
"location": {
"address": "New York, New York, United States"
},
"source": {
"id": 12,
"public_name": "Meetups"
},
"credited_to": {
"id": 566819,
"first_name": "Bob",
"last_name": "Smith",
"name": "Bob Smith",
"employee_id": null
},
"rejection_reason": null,
"rejection_details": null,
"jobs": [
{
"id": 299100,
"name": "Data Scientist - BK"
}
],
"job_post_id": 456,
"status": "active",
"current_stage": {
"id": 2966800,
"name": "Face to Face"
},
"answers": [],
"prospective_office": null,
"prospective_department": null,
"prospect_detail": {
"prospect_pool": null,
"prospect_stage": null,
"prospect_owner": null
},
"attachments": []
}
],
"educations": [
{
"id": 561227,
"school_name": "University of Michigan - Ann Arbor",
"degree": "Bachelor's Degree",
"discipline": "Computer Science",
"start_date": "2012-08-15T00:00:00.000Z",
"end_date": "2016-05-15T00:00:00.000Z"
}
],
"employments": [
{
"id": 8485064,
"company_name": "Greenhouse",
"title": "Engineer",
"start_date": "2012-08-15T00:00:00.000Z",
"end_date": "2016-05-15T00:00:00.000Z"
}
],
"linked_user_ids": [
989604
],
"custom_fields": {
"desired_salary": "1000000000",
"work_remotely": true,
"graduation_year": "2018"
},
"keyed_custom_fields": {
"desired_salary": {
"name": "Desired Salary",
"type": "short_text",
"value": "1000000000"
},
"work_remotely": {
"name": "Work Remotely",
"type": "boolean",
"value": true
},
"graduation_year_1": {
"name": "Graduation Year",
"type": "single_select",
"value": "2018"
}
}
}
}

Get a Job

Get a Job by id | key: getJob

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Job ID
string
/ Required
job_id
If supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": {
"id": 6404,
"name": "Archaeologist",
"requisition_id": "abc123",
"notes": "<p>Resistance to electro-magnetic radiation a plus!</p>",
"confidential": false,
"status": "closed",
"created_at": "2013-12-10T14:42:58Z",
"opened_at": "2013-12-11T14:42:58Z",
"closed_at": "2013-12-12T14:42:58Z",
"updated_at": "2013-12-12T14:42:58Z",
"is_template": false,
"copied_from_id": 2345,
"departments": [
{
"id": 25907,
"name": "Second-Level department",
"parent_id": 25908,
"child_ids": [
14510
],
"external_id": "12345"
}
],
"offices": [
{
"id": 47012,
"name": "New York",
"location": {
"name": "New York, United States"
},
"primary_contact_user_id": 150893,
"parent_id": 50849,
"child_ids": [
50852,
50891
],
"external_id": "15679"
}
],
"custom_fields": {
"employment_type": "Full-Time",
"maximum_budget": "$81.5k",
"salary_range": {
"min_value": 70000,
"max_value": 90000,
"unit": "USD"
}
},
"keyed_custom_fields": {
"employment_type": {
"name": "Time type",
"type": "single_select",
"value": "Full-Time"
},
"budget": {
"name": "Maximum Budget",
"type": "short_text",
"value": "Full-Time"
},
"salary_range": {
"name": "Salary Range",
"type": "currency_range",
"value": {
"min_value": 70000,
"max_value": 90000,
"unit": "USD"
}
}
},
"hiring_team": {
"hiring_managers": [
{
"id": 84275,
"first_name": "Kaylee",
"last_name": "Prime",
"name": "Kaylee Prime",
"employee_id": "13636"
},
{
"id": 169779,
"first_name": "Hank",
"last_name": "Hollandaise",
"name": "Hank Hollandaise",
"employee_id": "34537"
}
],
"recruiters": [
{
"id": 81111,
"first_name": "Samuel",
"last_name": "Skateboard",
"name": "Samuel Skateboard",
"employee_id": "34531",
"responsible": false
},
{
"id": 153448,
"first_name": "Stegosaurus",
"last_name": "Heels",
"name": "Stegosaurus Heels",
"employee_id": "45748",
"responsible": true
}
],
"coordinators": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327",
"responsible": true
},
{
"id": 177046,
"first_name": "Mirandella",
"last_name": "Lager",
"name": "Mirandella Lager",
"employee_id": "43626",
"responsible": false
}
],
"sourcers": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327"
}
]
},
"openings": [
{
"id": 123,
"opening_id": "3-1",
"status": "open",
"opened_at": "2015-11-20T23:14:14.736Z",
"closed_at": "2017-11-20T23:14:14.736Z",
"application_id": 45678,
"close_reason": {
"id": 678,
"name": "Hired - Backfill"
}
},
{
"id": 124,
"opening_id": "3-2",
"status": "open",
"opened_at": "2015-11-20T23:14:14.739Z",
"closed_at": null,
"application_id": null,
"close_reason": null
},
{
"id": 125,
"opening_id": null,
"status": "open",
"opened_at": "2016-02-03T20:00:00.000Z",
"closed_at": null,
"application_id": null
},
{
"id": 126,
"opening_id": "2-4",
"status": "closed",
"opened_at": "2016-02-03T16:38:46.985Z",
"closed_at": "2016-02-03T16:39:09.811Z",
"application_id": 1232,
"close_reason": {
"id": 689,
"name": "Hired"
}
}
]
}
}

Get Application

Get an Application by id | key: getApplication

InputDefaultNotes
Application ID
string
/ Required
application_id
ID of the application
Connection
connection
/ Required
connection
 
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": {
"id": 69306314,
"candidate_id": 57683957,
"prospect": false,
"applied_at": "2017-09-29T12:56:05.244Z",
"rejected_at": null,
"last_activity_at": "2017-09-29T13:00:28.038Z",
"location": {
"address": "New York, New York, USA"
},
"source": {
"id": 2,
"public_name": "Jobs page on your website"
},
"credited_to": {
"id": 4080,
"first_name": "Kate",
"last_name": "Austen",
"name": "Kate Austen",
"employee_id": "12345"
},
"rejection_reason": null,
"rejection_details": null,
"jobs": [
{
"id": 107761,
"name": "UX Designer - Boston"
}
],
"job_post_id": 123,
"status": "active",
"current_stage": {
"id": 767358,
"name": "Application Review"
},
"answers": [
{
"question": "How did you hear about this job?",
"answer": "Online Research"
},
{
"question": "Website",
"answer": "mytestwebsite.com"
}
],
"prospective_office": null,
"prospective_department": null,
"prospect_detail": {
"prospect_pool": null,
"prospect_stage": null,
"prospect_owner": null
},
"custom_fields": {
"application_custom_test": "Option 1"
},
"keyed_custom_fields": {
"application_custom_test": {
"name": "Application Custom Test",
"type": "single_select",
"value": "Option 1"
}
},
"attachments": [
{
"filename": "John_Locke_Offer_Packet_09_27_2017.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
]
}
}

Get User

Get a user by id | key: getUser

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
On Behalf Of User ID
string
/ Required
user_id
ID of the user to get.
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": {
"id": 112,
"name": "Juliet Burke",
"first_name": "Juliet",
"last_name": "Burke",
"primary_email_address": "juliet.burke@example.com",
"updated_at": "2016-11-17T16:13:48.888Z",
"created_at": "2015-11-18T22:26:32.243Z",
"disabled": false,
"site_admin": true,
"emails": [
"juliet.burke@example.com",
"other.woman@example.com"
],
"employee_id": "221",
"linked_candidate_ids": [
123,
654
],
"offices": [
{
"id": 47012,
"name": "New York",
"location": {
"name": "New York, United States"
},
"primary_contact_user_id": 150893,
"parent_id": 50849,
"parent_office_external_id": "14679",
"child_ids": [
50852,
50891
],
"child_office_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
],
"departments": [
{
"id": 25907,
"name": "Research & Development",
"parent_id": 25908,
"parent_department_external_id": "13473",
"child_ids": [
50852,
50891
],
"child_department_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
]
}
}

List Applications

Get a list of applications | key: listApplications

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Created After
string
created_after
Return only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
Created Before
string
created_before
Return only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
Job ID
string
job_id
If supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
Last Activity After
string
last_activity_after
Return only applications where ‘last_activity_at' is at or after this timestamp. Timestamp must be in in ISO-8601 format.
Page
string
page
1
A cursor for use in pagination. Returns the n-th chunk of per_page objects.
Per Page
string
per_page
100
Return up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.
Status
string
status
If supplied, only return applications that match this status. Accepted values are active, converted, hired, and rejected. If anything else is used, an empty response will be returned rather than an error.
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": [
{
"id": 69306314,
"candidate_id": 57683957,
"prospect": false,
"applied_at": "2017-09-29T12:56:05.244Z",
"rejected_at": null,
"last_activity_at": "2017-09-29T13:00:28.038Z",
"location": {
"address": "New York, New York, USA"
},
"source": {
"id": 2,
"public_name": "Jobs page on your website"
},
"credited_to": {
"id": 4080,
"first_name": "Kate",
"last_name": "Austen",
"name": "Kate Austen",
"employee_id": "12345"
},
"rejection_reason": null,
"rejection_details": null,
"jobs": [
{
"id": 107761,
"name": "UX Designer - Boston"
}
],
"job_post_id": 123,
"status": "active",
"current_stage": {
"id": 767358,
"name": "Application Review"
},
"answers": [
{
"question": "How did you hear about this job?",
"answer": "Online Research"
},
{
"question": "Website",
"answer": "mytestwebsite.com"
}
],
"prospective_office": null,
"prospective_department": null,
"prospect_detail": {
"prospect_pool": null,
"prospect_stage": null,
"prospect_owner": null
},
"custom_fields": {
"application_custom_test": "Option 1"
},
"keyed_custom_fields": {
"application_custom_test": {
"name": "Application Custom Test",
"type": "single_select",
"value": "Option 1"
}
},
"attachments": [
{
"filename": "John_Locke_Offer_Packet_09_27_2017.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
]
},
{
"id": 69306509,
"candidate_id": 57683957,
"prospect": true,
"applied_at": "2017-09-29T13:00:04.058Z",
"rejected_at": null,
"last_activity_at": "2017-09-29T13:08:19.111Z",
"location": null,
"source": {
"id": 100674,
"public_name": "Campus Job Fair"
},
"credited_to": {
"id": 566819,
"first_name": "Bob",
"last_name": "Smith",
"name": "Bob Smith",
"employee_id": "ABC12345"
},
"rejection_reason": null,
"rejection_details": null,
"jobs": [
{
"id": 224587,
"name": "Product Manager "
},
{
"id": 109322,
"name": "Web Developer "
}
],
"job_post_id": null,
"status": "hired",
"current_stage": null,
"answers": [
{
"question": "How did you hear about this job?",
"answer": "Online Research"
},
{
"question": "Website",
"answer": "mytestwebsite.com"
}
],
"prospective_office": {
"primary_contact_user_id": null,
"parent_id": null,
"name": "New York",
"location": {
"name": "New York, NY"
},
"id": 59213,
"external_id": null,
"child_ids": []
},
"prospective_department": {
"parent_id": null,
"name": "Marketing",
"id": 9024,
"external_id": null,
"child_ids": []
},
"prospect_detail": {
"prospect_pool": {
"id": 227,
"name": "Opted In: In-Person Event"
},
"prospect_stage": {
"id": 826,
"name": "In Discussion"
},
"prospect_owner": {
"id": 92120,
"name": "Greenhouse Admin"
}
},
"custom_fields": {
"application_custom_test": "Option 1"
},
"keyed_custom_fields": {
"application_custom_test": {
"name": "Application Custom Test",
"type": "single_select",
"value": "Option 1"
}
},
"attachments": [
{
"filename": "Jack_Smith_Offer_Packet_09_27_2020.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
]
}
]
}

List Candidates

Get a list of Candidates | key: listCandidates

InputDefaultNotesExample
Candidate Ids
string
candidate_ids
If supplied, return only the candidates with the given ids. These are supplied as a comma separated string. e.g.: “candidate_ids=123,456,789”. When combined with job_id, only return candidates with an application on the job. A maximum of 50 candidates can be returned this way.
123,456,789
Connection
connection
/ Required
connection
 
 
 
Created After
string
created_after
Return only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
 
Created Before
string
created_before
Return only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
 
Email
string
email
If supplied, only return candidates who have a matching e-mail address. If supplied with job_id, only return a candidate with a matching e-mail with an application on the job. If email and candidate_ids are included, candidate_ids will be ignored.
 
Job ID
string
job_id
If supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
 
Page
string
page
1
A cursor for use in pagination. Returns the n-th chunk of per_page objects.
 
Per Page
string
per_page
100
Return up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.
 
Updated After
string
updated_after
Return only candidates that were updated at or after this timestamp. Timestamp must be in in ISO-8601 format.
 
Updated Before
string
updated_before
Return only candidates that were updated before this timestamp. Timestamp must be in in ISO-8601 format.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"
 

{
"data": [
{
"id": 53883394,
"first_name": "John",
"last_name": "Locke",
"company": "The Tustin Box Company",
"title": "Man of Mystery",
"created_at": "2017-08-15T03:31:46.591Z",
"updated_at": "2017-09-28T12:29:30.497Z",
"last_activity": "2017-09-28T12:29:30.481Z",
"is_private": false,
"photo_url": null,
"attachments": [
{
"filename": "John_Locke_Offer_Packet_09_27_2017.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
],
"application_ids": [
69103370,
65153308
],
"phone_numbers": [
{
"value": "555-555-5555",
"type": "mobile"
}
],
"addresses": [
{
"value": "123 City Street\nNew York, Ny 10001",
"type": "home"
}
],
"email_addresses": [
{
"value": "test@work.com",
"type": "work"
}
],
"website_addresses": [
{
"value": "mysite.com",
"type": "personal"
}
],
"social_media_addresses": [],
"recruiter": {
"id": 92120,
"first_name": "Greenhouse",
"last_name": "Admin",
"name": "Greenhouse Admin",
"employee_id": null
},
"coordinator": null,
"can_email": true,
"tags": [
"Python",
"Ruby"
],
"applications": [
{
"id": 69103370,
"candidate_id": 53883394,
"prospect": true,
"applied_at": "2017-09-27T12:21:37.234Z",
"rejected_at": null,
"last_activity_at": "2017-09-28T12:29:30.481Z",
"location": {
"address": "New York, New York, USA"
},
"source": {
"id": 16,
"public_name": "LinkedIn (Prospecting)"
},
"credited_to": {
"id": 92120,
"first_name": "Greenhouse",
"last_name": "Admin",
"name": "Greenhouse Admin",
"employee_id": null
},
"rejection_reason": null,
"rejection_details": null,
"jobs": [
{
"id": 87752,
"name": "Full Stack Engineer"
}
],
"job_post_id": 123,
"status": "active",
"current_stage": null,
"answers": [],
"prospective_office": null,
"prospective_department": null,
"prospect_detail": {
"prospect_pool": {
"id": 224,
"name": "Cold Outreach: Sourced"
},
"prospect_stage": {
"id": 817,
"name": "Contacted"
},
"prospect_owner": {
"id": 92120,
"name": "Greenhouse Admin"
}
},
"attachments": [
{
"filename": "John_Locke_Offer_Packet_09_27_2017.pdf",
"url": "https://prod-heroku.s3.amazonaws.com/...",
"type": "offer_packet",
"created_at": "2020-09-27T18:45:27.137Z"
}
]
},
{
"id": 65153308,
"candidate_id": 53883394,
"prospect": false,
"applied_at": "2017-08-15T03:31:46.637Z",
"rejected_at": null,
"last_activity_at": "2017-09-28T12:29:30.481Z",
"location": null,
"source": {
"id": 12,
"public_name": "Meetups"
},
"credited_to": {
"id": 566819,
"first_name": "Bob",
"last_name": "Smith",
"name": "Bob Smith",
"employee_id": null
},
"rejection_reason": null,
"rejection_details": null,
"jobs": [
{
"id": 299100,
"name": "Data Scientist - BK"
}
],
"status": "active",
"current_stage": {
"id": 2966800,
"name": "Face to Face"
},
"answers": [],
"prospective_office": null,
"prospective_department": null,
"prospect_detail": {
"prospect_pool": null,
"prospect_stage": null,
"prospect_owner": null
},
"attachments": []
}
],
"educations": [
{
"id": 561227,
"school_name": "University of Michigan - Ann Arbor",
"degree": "Bachelor's Degree",
"discipline": "Computer Science",
"start_date": "2012-08-15T00:00:00.000Z",
"end_date": "2016-05-15T00:00:00.000Z"
}
],
"employments": [
{
"id": 8485064,
"company_name": "Greenhouse",
"title": "Engineer",
"start_date": "2012-08-15T00:00:00.000Z",
"end_date": "2016-05-15T00:00:00.000Z"
}
],
"linked_user_ids": [
989604
],
"custom_fields": {
"desired_salary": "1000000000",
"work_remotely": true,
"graduation_year": "2018"
},
"keyed_custom_fields": {
"desired_salary": {
"name": "Desired Salary",
"type": "short_text",
"value": "1000000000"
},
"work_remotely": {
"name": "Work Remotely",
"type": "boolean",
"value": true
},
"graduation_year_1": {
"name": "Graduation Year",
"type": "single_select",
"value": "2018"
}
}
}
]
}

List Jobs

Get a list of jobs | key: listJobs

InputDefaultNotesExample
Connection
connection
/ Required
connection
 
 
 
Created After
string
created_after
Return only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
 
Created Before
string
created_before
Return only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
 
Custom Fields
code
custom_fields
Array of hashes containing new custom field values. Passing an empty array does nothing.
Department ID
string
department_id
If included, will return only the jobs in this specific department.
 
External Department ID
string
external_department_id
This may be used instead of department_id and represents the ID of the department in an external system.
 
External Office ID
string
external_office_id
This may be used instead of office_id and represents the ID of the office in an external system.
 
Office ID
string
office_id
If included, will return only the jobs in this specific office.
 
Opening ID
string
opening_id
If included, will return only the jobs that contain at least one opening with the given opening_id.
 
Page
string
page
1
A cursor for use in pagination. Returns the n-th chunk of per_page objects.
 
Per Page
string
per_page
100
Return up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.
 
Requisition ID
string
requisition_id
If included, will return only the jobs that match the given requisition_id
 
Status
string
status
One of 'open', 'closed', or 'draft'. If included, will only return jobs with that status.
 
Updated After
string
updated_after
Return only candidates that were updated at or after this timestamp. Timestamp must be in in ISO-8601 format.
 
Updated Before
string
updated_before
Return only candidates that were updated before this timestamp. Timestamp must be in in ISO-8601 format.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"
 

{
"data": [
{
"id": 6404,
"name": "Archaeologist",
"requisition_id": "abc123",
"notes": "<p>Resistance to electro-magnetic radiation a plus!</p>",
"confidential": false,
"status": "closed",
"created_at": "2013-12-10T14:42:58Z",
"opened_at": "2013-12-11T14:42:58Z",
"closed_at": "2013-12-12T14:42:58Z",
"updated_at": "2013-12-12T14:42:58Z",
"is_template": false,
"copied_from_id": 2345,
"departments": [
{
"id": 25907,
"name": "Second-Level department",
"parent_id": 25908,
"child_ids": [
14510
],
"external_id": "12345"
}
],
"offices": [
{
"id": 47012,
"name": "New York",
"location": {
"name": "New York, United States"
},
"primary_contact_user_id": 150893,
"parent_id": 50849,
"child_ids": [
50852,
50891
],
"external_id": "15679"
}
],
"custom_fields": {
"employment_type": "Full-Time",
"maximum_budget": "$81.5k",
"salary_range": {
"min_value": 70000,
"max_value": 90000,
"unit": "USD"
}
},
"keyed_custom_fields": {
"employment_type": {
"name": "Time type",
"type": "single_select",
"value": "Full-Time"
},
"budget": {
"name": "Maximum Budget",
"type": "short_text",
"value": "Full-Time"
},
"salary_range": {
"name": "Salary Range",
"type": "currency_range",
"value": {
"min_value": 70000,
"max_value": 90000,
"unit": "USD"
}
}
},
"hiring_team": {
"hiring_managers": [
{
"id": 84275,
"first_name": "Kaylee",
"last_name": "Prime",
"name": "Kaylee Prime",
"employee_id": "13636"
},
{
"id": 169779,
"first_name": "Hank",
"last_name": "Hollandaise",
"name": "Hank Hollandaise",
"employee_id": "34537"
}
],
"recruiters": [
{
"id": 81111,
"first_name": "Samuel",
"last_name": "Skateboard",
"name": "Samuel Skateboard",
"employee_id": "34531",
"responsible": false
},
{
"id": 153448,
"first_name": "Stegosaurus",
"last_name": "Heels",
"name": "Stegosaurus Heels",
"employee_id": "45748",
"responsible": true
}
],
"coordinators": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327",
"responsible": true
},
{
"id": 177046,
"first_name": "Mirandella",
"last_name": "Lager",
"name": "Mirandella Lager",
"employee_id": "43626",
"responsible": false
}
],
"sourcers": [
{
"id": 122635,
"first_name": "Teddy",
"last_name": "Pizzazz",
"name": "Teddy Pizzazz",
"employee_id": "47327"
}
]
},
"openings": [
{
"id": 123,
"opening_id": "3-1",
"status": "open",
"opened_at": "2015-11-20T23:14:14.736Z",
"closed_at": "2017-11-20T23:14:14.736Z",
"application_id": 45678,
"close_reason": {
"id": 678,
"name": "Hired - Backfill"
}
},
{
"id": 124,
"opening_id": "3-2",
"status": "open",
"opened_at": "2015-11-20T23:14:14.739Z",
"closed_at": null,
"application_id": null,
"close_reason": null
},
{
"id": 125,
"opening_id": null,
"status": "open",
"opened_at": "2016-02-03T20:00:00.000Z",
"closed_at": null,
"application_id": null
},
{
"id": 126,
"opening_id": "2-4",
"status": "closed",
"opened_at": "2016-02-03T16:38:46.985Z",
"closed_at": "2016-02-03T16:39:09.811Z",
"application_id": 1232,
"close_reason": {
"id": 689,
"name": "Hired"
}
}
]
}
]
}

List Users

Get a list of Users | key: listUsers

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Created After
string
created_after
Return only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
Created Before
string
created_before
Return only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
Email
string
email
The user's email address. Must be a valid email address.
Employee Id
string
employee_id
The user's external employee id.
Page
string
page
1
A cursor for use in pagination. Returns the n-th chunk of per_page objects.
Per Page
string
per_page
100
Return up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.
Updated After
string
updated_after
Return only candidates that were updated at or after this timestamp. Timestamp must be in in ISO-8601 format.
Updated Before
string
updated_before
Return only candidates that were updated before this timestamp. Timestamp must be in in ISO-8601 format.
Candidate Ids
boolean
user_attributes
When true, include user attributes. Otherwise excludes user attributes.
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"

{
"data": [
{
"id": 112,
"name": "Juliet Burke",
"first_name": "Juliet",
"last_name": "Burke",
"primary_email_address": "juliet.burke@example.com",
"updated_at": "2016-11-17T16:13:48.888Z",
"created_at": "2015-11-18T22:26:32.243Z",
"disabled": false,
"site_admin": true,
"emails": [
"juliet.burke@example.com",
"other.woman@example.com"
],
"employee_id": "221",
"linked_candidate_ids": [
123,
654
],
"offices": [
{
"id": 47012,
"name": "New York",
"location": {
"name": "New York, United States"
},
"primary_contact_user_id": 150893,
"parent_id": 50849,
"parent_office_external_id": "14679",
"child_ids": [
50852,
50891
],
"child_office_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
],
"departments": [
{
"id": 25907,
"name": "Research & Development",
"parent_id": 25908,
"parent_department_external_id": "13473",
"child_ids": [
50852,
50891
],
"child_department_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
]
},
{
"id": 712,
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"primary_email_address": "john.doe@example.com",
"updated_at": "2016-11-03T18:05:47.361Z",
"created_at": "2015-11-18T22:27:11.111Z",
"disabled": false,
"site_admin": true,
"emails": [
"john.doe@example.com"
],
"employee_id": "700",
"linked_candidate_ids": [
789,
1022
],
"offices": [
{
"id": 47013,
"name": "San Francisco",
"location": {
"name": "San Francisco, California"
},
"primary_contact_user_id": 150894,
"parent_id": 50850,
"parent_office_external_id": "14680",
"child_ids": [
50852,
50891
],
"child_office_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
],
"departments": [
{
"id": 25907,
"name": "Marketing",
"parent_id": 25908,
"parent_department_external_id": "13473",
"child_ids": [
50852,
50891
],
"child_department_external_ids": [
"13473",
"123473"
],
"external_id": "15679"
}
]
}
]
}

Raw Request

Send raw HTTP request to Greenhouse | key: rawRequest

InputDefaultNotesExample
Connection
connection
/ Required
connection
 
 
 
Data
string
data
The HTTP body payload to send to the URL.
{"exampleKey": "Example Data"}
Debug Request
boolean
debugRequest
false
Enabling this flag will log out the current request.
 
File Data
string
Key Value List
fileData
File Data to be sent as a multipart form upload.
[{key: "example.txt", value: "My File Contents"}]
File Data File Names
string
Key Value List
fileDataFileNames
File names to apply to the file data inputs. Keys must match the file data keys above.
 
Form Data
string
Key Value List
formData
The Form Data to be sent as a multipart form upload.
[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header
string
Key Value List
headers
A list of headers to send with the request.
User-Agent: curl/7.64.1
Max Retry Count
string
maxRetries
0
The maximum number of retries to attempt.
 
Method
string
/ Required
method
The HTTP method to use.
 
Query Parameter
string
Key Value List
queryParams
A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
 
Response Type
string
/ Required
responseType
json
The type of data you expect in the response. You can request json, text, or binary data.
 
Retry On All Errors
boolean
retryAllErrors
false
If true, retries on all erroneous responses regardless of type.
 
Retry Delay (ms)
string
retryDelayMS
0
The delay in milliseconds between retries.
 
Timeout
string
timeout
The maximum time that a client will await a response to its request
2000
URL
string
/ Required
url
Input the path only (/jobs), The base URL is already included (https://harvest.greenhouse.io/{version}). For example, to connect to https://harvest.greenhouse.io/v1/jobs, only /jobs is entered in this field.
/jobs
Use Exponential Backoff
boolean
useExponentialBackoff
false
Specifies whether to use a pre-defined exponential backoff strategy for retries.
 
Api Version
string
/ Required
version
v1
The version of the API to use. Defaults to "v1"