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.
- 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.
- That user can then go Configure >> Dev Center >> API Credential Management.
- From there, you can create a Harvest API key and choose which endpoints it may access a. API Type - Harvest b. Partner - Custom
- Select “Manage Permissions” to Continue
- Enter Your API key into a Prismatic integration and/or another secure location.
- Select “I have stored the API key” to continue”
- 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.
Input | Notes |
---|---|
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
Input | Notes |
---|---|
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
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Api Version string / Required version | v1 | The version of the API to use. Defaults to "v1" |
Example Payload for Fetch Candidates Names
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Fetch Custom Fields
{
"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
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Api Version string / Required version | v1 | The version of the API to use. Defaults to "v1" |
Example Payload for Fetch Departments
{
"result": [
{
"label": "Technology",
"key": "650"
},
{
"label": "Administration",
"key": "47012"
}
]
}
Fetch Jobs
Fetch an array of jobs' names | key: jobs | type: picklist
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Api Version string / Required version | v1 | The version of the API to use. Defaults to "v1" |
Example Payload for Fetch Jobs
{
"result": [
{
"label": "Archaeologist",
"key": "650"
},
{
"label": "Example",
"key": "47012"
}
]
}
Fetch Offices
Fetch an array of offices' names | key: offices | type: picklist
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Api Version string / Required version | v1 | The version of the API to use. Defaults to "v1" |
Example Payload for Fetch Offices
{
"result": [
{
"label": "Utica",
"key": "50891"
},
{
"label": "New York",
"key": "47012"
}
]
}
Fetch Users Names
Fetch an array of users' names | key: users | type: picklist
Input | Default | Notes |
---|---|---|
Connection connection / Required connection | ||
Api Version string / Required version | v1 | The version of the API to use. Defaults to "v1" |
Example Payload for Fetch Users Names
{
"result": [
{
"label": "Juliet Burke",
"key": "112"
},
{
"label": "John Doe",
"key": "712"
}
]
}
Actions
Create a Candidate
Create a new candidate. | key: createCandidate
Input | Default | Notes | Example |
---|---|---|---|
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. |
Example Payload for Create a Candidate
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Create a Job
{
"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
Input | Default | Notes | Example |
---|---|---|---|
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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Delete a Candidate
{
"data": {
"message": "Person 29622362 has been deleted."
}
}
Delete Application
Delete an application by id | key: deleteApplication
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Delete Application
{
"data": {
"message": "Application 29622362 has been deleted."
}
}
Disable a User
Disable an existing user | key: disableUser
Input | Default | Notes |
---|---|---|
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
Input | Default | Notes | Example |
---|---|---|---|
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. |
Example Payload for Edit a Candidate
{
"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
Input | Default | Notes | Example |
---|---|---|---|
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" |
Example Payload for Edit a Job
{
"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
Input | Default | Notes | Example |
---|---|---|---|
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
Input | Default | Notes | Example |
---|---|---|---|
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" |
Example Payload for Edit Application
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Enable a User
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Get a Candidate
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Get a Job
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Get Application
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for Get User
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for List Applications
{
"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
Input | Default | Notes | Example |
---|---|---|---|
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" |
Example Payload for List Candidates
{
"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
Input | Default | Notes | Example |
---|---|---|---|
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" |
Example Payload for List Jobs
{
"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
Input | Default | Notes |
---|---|---|
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" |
Example Payload for List Users
{
"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
Input | Default | Notes | Example |
---|---|---|---|
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" |