Greenhouse full reference
This is the full reference documentation for the Greenhouse agent connector.
Supported entities and actions
The Greenhouse connector supports the following entities and actions.
| Entity |
Actions |
| Candidates |
List, Get, Search |
| Applications |
List, Get, Search |
| Jobs |
List, Get, Search |
| Offers |
List, Get, Search |
| Users |
List, Get, Search |
| Departments |
List, Get, Search |
| Offices |
List, Get, Search |
| Job Posts |
List, Get, Search |
| Sources |
List, Search |
| Scheduled Interviews |
List, Get |
| Application Attachment |
Download |
| Candidate Attachment |
Download |
Candidates
Candidates List
Returns a paginated list of all candidates in the organization
Python SDK
await greenhouse.candidates.list()
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "candidates",
"action": "list"
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
per_page |
integer |
No |
Number of items to return per page (max 500) |
page |
integer |
No |
Page number for pagination |
Records
| Field Name |
Type |
Description |
id |
integer |
|
first_name |
string |
|
last_name |
string |
|
company |
string | null |
|
title |
string | null |
|
created_at |
string |
|
updated_at |
string |
|
last_activity |
string |
|
is_private |
boolean |
|
photo_url |
string | null |
|
attachments |
array<object> |
|
attachments[].filename |
string |
|
attachments[].url |
string |
|
attachments[].type |
"resume" | "cover_letter" | "admin_only" | "take_home_test" | "offer_packet" | "offer_letter" | "signed_offer_letter" | "other" |
|
attachments[].created_at |
string |
|
application_ids |
array<integer> |
|
phone_numbers |
array<object> |
|
addresses |
array<object> |
|
email_addresses |
array<object> |
|
website_addresses |
array<object> |
|
social_media_addresses |
array<object> |
|
recruiter |
object | null |
|
coordinator |
object | null |
|
can_email |
boolean |
|
tags |
array<string> |
|
custom_fields |
object |
|
Candidates Get
Get a single candidate by ID
Python SDK
await greenhouse.candidates.get(
id=0
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "candidates",
"action": "get",
"params": {
"id": 0
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
id |
integer |
Yes |
Candidate ID |
Records
| Field Name |
Type |
Description |
id |
integer |
|
first_name |
string |
|
last_name |
string |
|
company |
string | null |
|
title |
string | null |
|
created_at |
string |
|
updated_at |
string |
|
last_activity |
string |
|
is_private |
boolean |
|
photo_url |
string | null |
|
attachments |
array<object> |
|
attachments[].filename |
string |
|
attachments[].url |
string |
|
attachments[].type |
"resume" | "cover_letter" | "admin_only" | "take_home_test" | "offer_packet" | "offer_letter" | "signed_offer_letter" | "other" |
|
attachments[].created_at |
string |
|
application_ids |
array<integer> |
|
phone_numbers |
array<object> |
|
addresses |
array<object> |
|
email_addresses |
array<object> |
|
website_addresses |
array<object> |
|
social_media_addresses |
array<object> |
|
recruiter |
object | null |
|
coordinator |
object | null |
|
can_email |
boolean |
|
tags |
array<string> |
|
custom_fields |
object |
|
Candidates Search
Search and filter candidates records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
Python SDK
await greenhouse.candidates.search(
query={"filter": {"eq": {"addresses": []}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "candidates",
"action": "search",
"params": {
"query": {"filter": {"eq": {"addresses": []}}}
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
query |
object |
Yes |
Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter |
object |
No |
Filter conditions |
query.sort |
array |
No |
Sort conditions |
limit |
integer |
No |
Maximum results to return (default 1000) |
cursor |
string |
No |
Pagination cursor from previous response's next_cursor |
fields |
array |
No |
Field paths to include in results |
Searchable Fields
| Field Name |
Type |
Description |
addresses |
array |
Candidate's addresses |
application_ids |
array |
List of application IDs |
applications |
array |
An array of all applications made by candidates. |
attachments |
array |
Attachments related to the candidate |
can_email |
boolean |
Indicates if candidate can be emailed |
company |
string |
Company where the candidate is associated |
coordinator |
string |
Coordinator assigned to the candidate |
created_at |
string |
Date and time of creation |
custom_fields |
object |
Custom fields associated with the candidate |
educations |
array |
List of candidate's educations |
email_addresses |
array |
Candidate's email addresses |
employments |
array |
List of candidate's employments |
first_name |
string |
Candidate's first name |
id |
integer |
Candidate's ID |
is_private |
boolean |
Indicates if the candidate's data is private |
keyed_custom_fields |
object |
Keyed custom fields associated with the candidate |
last_activity |
string |
Details of the last activity related to the candidate |
last_name |
string |
Candidate's last name |
phone_numbers |
array |
Candidate's phone numbers |
photo_url |
string |
URL of the candidate's profile photo |
recruiter |
string |
Recruiter assigned to the candidate |
social_media_addresses |
array |
Candidate's social media addresses |
tags |
array |
Tags associated with the candidate |
title |
string |
Candidate's title (e.g., Mr., Mrs., Dr.) |
updated_at |
string |
Date and time of last update |
website_addresses |
array |
List of candidate's website addresses |
| Field Name |
Type |
Description |
hits |
array |
List of matching records |
hits[].id |
string |
Record identifier |
hits[].score |
number |
Relevance score |
hits[].data |
object |
Record data containing the searchable fields listed above |
hits[].data.addresses |
array |
Candidate's addresses |
hits[].data.application_ids |
array |
List of application IDs |
hits[].data.applications |
array |
An array of all applications made by candidates. |
hits[].data.attachments |
array |
Attachments related to the candidate |
hits[].data.can_email |
boolean |
Indicates if candidate can be emailed |
hits[].data.company |
string |
Company where the candidate is associated |
hits[].data.coordinator |
string |
Coordinator assigned to the candidate |
hits[].data.created_at |
string |
Date and time of creation |
hits[].data.custom_fields |
object |
Custom fields associated with the candidate |
hits[].data.educations |
array |
List of candidate's educations |
hits[].data.email_addresses |
array |
Candidate's email addresses |
hits[].data.employments |
array |
List of candidate's employments |
hits[].data.first_name |
string |
Candidate's first name |
hits[].data.id |
integer |
Candidate's ID |
hits[].data.is_private |
boolean |
Indicates if the candidate's data is private |
hits[].data.keyed_custom_fields |
object |
Keyed custom fields associated with the candidate |
hits[].data.last_activity |
string |
Details of the last activity related to the candidate |
hits[].data.last_name |
string |
Candidate's last name |
hits[].data.phone_numbers |
array |
Candidate's phone numbers |
hits[].data.photo_url |
string |
URL of the candidate's profile photo |
hits[].data.recruiter |
string |
Recruiter assigned to the candidate |
hits[].data.social_media_addresses |
array |
Candidate's social media addresses |
hits[].data.tags |
array |
Tags associated with the candidate |
hits[].data.title |
string |
Candidate's title (e.g., Mr., Mrs., Dr.) |
hits[].data.updated_at |
string |
Date and time of last update |
hits[].data.website_addresses |
array |
List of candidate's website addresses |
next_cursor |
string | null |
Cursor for next page of results |
took_ms |
number |
Query execution time in milliseconds |
Applications
Applications List
Returns a paginated list of all applications
Python SDK
await greenhouse.applications.list()
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "applications",
"action": "list"
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
per_page |
integer |
No |
Number of items to return per page (max 500) |
page |
integer |
No |
Page number for pagination |
created_before |
string |
No |
Filter by applications created before this timestamp |
created_after |
string |
No |
Filter by applications created after this timestamp |
last_activity_after |
string |
No |
Filter by applications with activity after this timestamp |
job_id |
integer |
No |
Filter by job ID |
status |
"active" | "rejected" | "hired" |
No |
Filter by application status |
Records
| Field Name |
Type |
Description |
id |
integer |
|
candidate_id |
integer |
|
prospect |
boolean |
|
applied_at |
string |
|
rejected_at |
string | null |
|
last_activity_at |
string |
|
location |
object | null |
|
source |
object |
|
credited_to |
object |
|
rejection_reason |
object | null |
|
rejection_details |
object | null |
|
jobs |
array<object> |
|
job_post_id |
integer | null |
|
status |
string |
|
current_stage |
object | null |
|
answers |
array<object> |
|
prospective_office |
object | null |
|
prospective_department |
object | null |
|
prospect_detail |
object |
|
attachments |
array<object> |
|
attachments[].filename |
string |
|
attachments[].url |
string |
|
attachments[].type |
"resume" | "cover_letter" | "admin_only" | "take_home_test" | "offer_packet" | "offer_letter" | "signed_offer_letter" | "other" |
|
attachments[].created_at |
string |
|
custom_fields |
object |
|
Applications Get
Get a single application by ID
Python SDK
await greenhouse.applications.get(
id=0
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "applications",
"action": "get",
"params": {
"id": 0
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
id |
integer |
Yes |
Application ID |
Records
| Field Name |
Type |
Description |
id |
integer |
|
candidate_id |
integer |
|
prospect |
boolean |
|
applied_at |
string |
|
rejected_at |
string | null |
|
last_activity_at |
string |
|
location |
object | null |
|
source |
object |
|
credited_to |
object |
|
rejection_reason |
object | null |
|
rejection_details |
object | null |
|
jobs |
array<object> |
|
job_post_id |
integer | null |
|
status |
string |
|
current_stage |
object | null |
|
answers |
array<object> |
|
prospective_office |
object | null |
|
prospective_department |
object | null |
|
prospect_detail |
object |
|
attachments |
array<object> |
|
attachments[].filename |
string |
|
attachments[].url |
string |
|
attachments[].type |
"resume" | "cover_letter" | "admin_only" | "take_home_test" | "offer_packet" | "offer_letter" | "signed_offer_letter" | "other" |
|
attachments[].created_at |
string |
|
custom_fields |
object |
|
Applications Search
Search and filter applications records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
Python SDK
await greenhouse.applications.search(
query={"filter": {"eq": {"answers": []}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "applications",
"action": "search",
"params": {
"query": {"filter": {"eq": {"answers": []}}}
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
query |
object |
Yes |
Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter |
object |
No |
Filter conditions |
query.sort |
array |
No |
Sort conditions |
limit |
integer |
No |
Maximum results to return (default 1000) |
cursor |
string |
No |
Pagination cursor from previous response's next_cursor |
fields |
array |
No |
Field paths to include in results |
Searchable Fields
| Field Name |
Type |
Description |
answers |
array |
Answers provided in the application. |
applied_at |
string |
Timestamp when the candidate applied. |
attachments |
array |
Attachments uploaded with the application. |
candidate_id |
integer |
Unique identifier for the candidate. |
credited_to |
object |
Information about the employee who credited the application. |
current_stage |
object |
Current stage of the application process. |
id |
integer |
Unique identifier for the application. |
job_post_id |
integer |
|
jobs |
array |
Jobs applied for by the candidate. |
last_activity_at |
string |
Timestamp of the last activity on the application. |
location |
string |
Location related to the application. |
prospect |
boolean |
Status of the application prospect. |
prospect_detail |
object |
Details related to the application prospect. |
prospective_department |
string |
Prospective department for the candidate. |
prospective_office |
string |
Prospective office for the candidate. |
rejected_at |
string |
Timestamp when the application was rejected. |
rejection_details |
object |
Details related to the application rejection. |
rejection_reason |
object |
Reason for the application rejection. |
source |
object |
Source of the application. |
status |
string |
Status of the application. |
| Field Name |
Type |
Description |
hits |
array |
List of matching records |
hits[].id |
string |
Record identifier |
hits[].score |
number |
Relevance score |
hits[].data |
object |
Record data containing the searchable fields listed above |
hits[].data.answers |
array |
Answers provided in the application. |
hits[].data.applied_at |
string |
Timestamp when the candidate applied. |
hits[].data.attachments |
array |
Attachments uploaded with the application. |
hits[].data.candidate_id |
integer |
Unique identifier for the candidate. |
hits[].data.credited_to |
object |
Information about the employee who credited the application. |
hits[].data.current_stage |
object |
Current stage of the application process. |
hits[].data.id |
integer |
Unique identifier for the application. |
hits[].data.job_post_id |
integer |
|
hits[].data.jobs |
array |
Jobs applied for by the candidate. |
hits[].data.last_activity_at |
string |
Timestamp of the last activity on the application. |
hits[].data.location |
string |
Location related to the application. |
hits[].data.prospect |
boolean |
Status of the application prospect. |
hits[].data.prospect_detail |
object |
Details related to the application prospect. |
hits[].data.prospective_department |
string |
Prospective department for the candidate. |
hits[].data.prospective_office |
string |
Prospective office for the candidate. |
hits[].data.rejected_at |
string |
Timestamp when the application was rejected. |
hits[].data.rejection_details |
object |
Details related to the application rejection. |
hits[].data.rejection_reason |
object |
Reason for the application rejection. |
hits[].data.source |
object |
Source of the application. |
hits[].data.status |
string |
Status of the application. |
next_cursor |
string | null |
Cursor for next page of results |
took_ms |
number |
Query execution time in milliseconds |
Jobs
Jobs List
Returns a paginated list of all jobs in the organization
Python SDK
await greenhouse.jobs.list()
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "jobs",
"action": "list"
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
per_page |
integer |
No |
Number of items to return per page (max 500) |
page |
integer |
No |
Page number for pagination |
Records
| Field Name |
Type |
Description |
id |
integer |
|
name |
string |
|
requisition_id |
string | null |
|
notes |
string | null |
|
confidential |
boolean |
|
status |
string |
|
created_at |
string |
|
opened_at |
string |
|
closed_at |
string | null |
|
updated_at |
string |
|
departments |
array<object | null> |
|
offices |
array<object> |
|
custom_fields |
object |
|
hiring_team |
object |
|
openings |
array<object> |
|
Jobs Get
Get a single job by ID
Python SDK
await greenhouse.jobs.get(
id=0
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "jobs",
"action": "get",
"params": {
"id": 0
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
id |
integer |
Yes |
Job ID |
Records
| Field Name |
Type |
Description |
id |
integer |
|
name |
string |
|
requisition_id |
string | null |
|
notes |
string | null |
|
confidential |
boolean |
|
status |
string |
|
created_at |
string |
|
opened_at |
string |
|
closed_at |
string | null |
|
updated_at |
string |
|
departments |
array<object | null> |
|
offices |
array<object> |
|
custom_fields |
object |
|
hiring_team |
object |
|
openings |
array<object> |
|
Jobs Search
Search and filter jobs records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
Python SDK
await greenhouse.jobs.search(
query={"filter": {"eq": {"closed_at": "<str>"}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "jobs",
"action": "search",
"params": {
"query": {"filter": {"eq": {"closed_at": "<str>"}}}
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
query |
object |
Yes |
Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter |
object |
No |
Filter conditions |
query.sort |
array |
No |
Sort conditions |
limit |
integer |
No |
Maximum results to return (default 1000) |
cursor |
string |
No |
Pagination cursor from previous response's next_cursor |
fields |
array |
No |
Field paths to include in results |
Searchable Fields
| Field Name |
Type |
Description |
closed_at |
string |
The date and time the job was closed |
confidential |
boolean |
Indicates if the job details are confidential |
copied_from_id |
integer |
The ID of the job from which this job was copied |
created_at |
string |
The date and time the job was created |
custom_fields |
object |
Custom fields related to the job |
departments |
array |
Departments associated with the job |
hiring_team |
object |
Members of the hiring team for the job |
id |
integer |
Unique ID of the job |
is_template |
boolean |
Indicates if the job is a template |
keyed_custom_fields |
object |
Keyed custom fields related to the job |
name |
string |
Name of the job |
notes |
string |
Additional notes or comments about the job |
offices |
array |
Offices associated with the job |
opened_at |
string |
The date and time the job was opened |
openings |
array |
Openings associated with the job |
requisition_id |
string |
ID associated with the job requisition |
status |
string |
Current status of the job |
updated_at |
string |
The date and time the job was last updated |
| Field Name |
Type |
Description |
hits |
array |
List of matching records |
hits[].id |
string |
Record identifier |
hits[].score |
number |
Relevance score |
hits[].data |
object |
Record data containing the searchable fields listed above |
hits[].data.closed_at |
string |
The date and time the job was closed |
hits[].data.confidential |
boolean |
Indicates if the job details are confidential |
hits[].data.copied_from_id |
integer |
The ID of the job from which this job was copied |
hits[].data.created_at |
string |
The date and time the job was created |
hits[].data.custom_fields |
object |
Custom fields related to the job |
hits[].data.departments |
array |
Departments associated with the job |
hits[].data.hiring_team |
object |
Members of the hiring team for the job |
hits[].data.id |
integer |
Unique ID of the job |
hits[].data.is_template |
boolean |
Indicates if the job is a template |
hits[].data.keyed_custom_fields |
object |
Keyed custom fields related to the job |
hits[].data.name |
string |
Name of the job |
hits[].data.notes |
string |
Additional notes or comments about the job |
hits[].data.offices |
array |
Offices associated with the job |
hits[].data.opened_at |
string |
The date and time the job was opened |
hits[].data.openings |
array |
Openings associated with the job |
hits[].data.requisition_id |
string |
ID associated with the job requisition |
hits[].data.status |
string |
Current status of the job |
hits[].data.updated_at |
string |
The date and time the job was last updated |
next_cursor |
string | null |
Cursor for next page of results |
took_ms |
number |
Query execution time in milliseconds |
Offers
Offers List
Returns a paginated list of all offers
Python SDK
await greenhouse.offers.list()
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "offers",
"action": "list"
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
per_page |
integer |
No |
Number of items to return per page (max 500) |
page |
integer |
No |
Page number for pagination |
created_before |
string |
No |
Filter by offers created before this timestamp |
created_after |
string |
No |
Filter by offers created after this timestamp |
resolved_after |
string |
No |
Filter by offers resolved after this timestamp |
Records
| Field Name |
Type |
Description |
id |
integer |
|
version |
integer |
|
application_id |
integer |
|
job_id |
integer |
|
candidate_id |
integer |
|
opening |
object | null |
|
created_at |
string |
|
updated_at |
string |
|
sent_at |
string | null |
|
resolved_at |
string | null |
|
starts_at |
string | null |
|
status |
string |
|
custom_fields |
object |
|
Offers Get
Get a single offer by ID
Python SDK
await greenhouse.offers.get(
id=0
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "offers",
"action": "get",
"params": {
"id": 0
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
id |
integer |
Yes |
Offer ID |
Records
| Field Name |
Type |
Description |
id |
integer |
|
version |
integer |
|
application_id |
integer |
|
job_id |
integer |
|
candidate_id |
integer |
|
opening |
object | null |
|
created_at |
string |
|
updated_at |
string |
|
sent_at |
string | null |
|
resolved_at |
string | null |
|
starts_at |
string | null |
|
status |
string |
|
custom_fields |
object |
|
Offers Search
Search and filter offers records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
Python SDK
await greenhouse.offers.search(
query={"filter": {"eq": {"application_id": 0}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "offers",
"action": "search",
"params": {
"query": {"filter": {"eq": {"application_id": 0}}}
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
query |
object |
Yes |
Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter |
object |
No |
Filter conditions |
query.sort |
array |
No |
Sort conditions |
limit |
integer |
No |
Maximum results to return (default 1000) |
cursor |
string |
No |
Pagination cursor from previous response's next_cursor |
fields |
array |
No |
Field paths to include in results |
Searchable Fields
| Field Name |
Type |
Description |
application_id |
integer |
Unique identifier for the application associated with the offer |
candidate_id |
integer |
Unique identifier for the candidate associated with the offer |
created_at |
string |
Timestamp indicating when the offer was created |
custom_fields |
object |
Additional custom fields related to the offer |
id |
integer |
Unique identifier for the offer |
job_id |
integer |
Unique identifier for the job associated with the offer |
keyed_custom_fields |
object |
Keyed custom fields associated with the offer |
opening |
object |
Details about the job opening |
resolved_at |
string |
Timestamp indicating when the offer was resolved |
sent_at |
string |
Timestamp indicating when the offer was sent |
starts_at |
string |
Timestamp indicating when the offer starts |
status |
string |
Status of the offer |
updated_at |
string |
Timestamp indicating when the offer was last updated |
version |
integer |
Version of the offer data |
| Field Name |
Type |
Description |
hits |
array |
List of matching records |
hits[].id |
string |
Record identifier |
hits[].score |
number |
Relevance score |
hits[].data |
object |
Record data containing the searchable fields listed above |
hits[].data.application_id |
integer |
Unique identifier for the application associated with the offer |
hits[].data.candidate_id |
integer |
Unique identifier for the candidate associated with the offer |
hits[].data.created_at |
string |
Timestamp indicating when the offer was created |
hits[].data.custom_fields |
object |
Additional custom fields related to the offer |
hits[].data.id |
integer |
Unique identifier for the offer |
hits[].data.job_id |
integer |
Unique identifier for the job associated with the offer |
hits[].data.keyed_custom_fields |
object |
Keyed custom fields associated with the offer |
hits[].data.opening |
object |
Details about the job opening |
hits[].data.resolved_at |
string |
Timestamp indicating when the offer was resolved |
hits[].data.sent_at |
string |
Timestamp indicating when the offer was sent |
hits[].data.starts_at |
string |
Timestamp indicating when the offer starts |
hits[].data.status |
string |
Status of the offer |
hits[].data.updated_at |
string |
Timestamp indicating when the offer was last updated |
hits[].data.version |
integer |
Version of the offer data |
next_cursor |
string | null |
Cursor for next page of results |
took_ms |
number |
Query execution time in milliseconds |
Users
Users List
Returns a paginated list of all users
Python SDK
await greenhouse.users.list()
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "list"
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
per_page |
integer |
No |
Number of items to return per page (max 500) |
page |
integer |
No |
Page number for pagination |
created_before |
string |
No |
Filter by users created before this timestamp |
created_after |
string |
No |
Filter by users created after this timestamp |
updated_before |
string |
No |
Filter by users updated before this timestamp |
updated_after |
string |
No |
Filter by users updated after this timestamp |
Records
| Field Name |
Type |
Description |
id |
integer |
|
name |
string |
|
first_name |
string |
|
last_name |
string |
|
primary_email_address |
string |
|
updated_at |
string |
|
created_at |
string |
|
disabled |
boolean |
|
site_admin |
boolean |
|
emails |
array<string> |
|
employee_id |
string | null |
|
linked_candidate_ids |
array<integer> |
|
offices |
array<object> |
|
departments |
array<object> |
|
Users Get
Get a single user by ID
Python SDK
await greenhouse.users.get(
id=0
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "get",
"params": {
"id": 0
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
id |
integer |
Yes |
User ID |
Records
| Field Name |
Type |
Description |
id |
integer |
|
name |
string |
|
first_name |
string |
|
last_name |
string |
|
primary_email_address |
string |
|
updated_at |
string |
|
created_at |
string |
|
disabled |
boolean |
|
site_admin |
boolean |
|
emails |
array<string> |
|
employee_id |
string | null |
|
linked_candidate_ids |
array<integer> |
|
offices |
array<object> |
|
departments |
array<object> |
|
Users Search
Search and filter users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
Python SDK
await greenhouse.users.search(
query={"filter": {"eq": {"created_at": "<str>"}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"created_at": "<str>"}}}
}
}'
Parameters
| Parameter Name |
Type |
Required |
Description |
query |
object |
Yes |
Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or |
query.filter |
object |
No |
Filter conditions |
query.sort |
array |
No |
Sort conditions |
limit |
integer |
No |
Maximum results to return (default 1000) |
cursor |
string |
No |
Pagination cursor from previous response's next_cursor |
fields |
array |
No |
Field paths to include in results |
Searchable Fields
| Field Name |
Type |
Description |
created_at |
string |
The date and time when the user account was created. |
departments |
array |
List of departments associated with users |
disabled |
boolean |
Indicates whether the user account is disabled. |
emails |
array |
Email addresses of the users |
employee_id |
string |
Employee identifier for the user. |
first_name |
string |
The first name of the user. |
id |
integer |
Unique identifier for the user. |
last_name |
string |
The last name of the user. |
linked_candidate_ids |
array |
IDs of candidates linked to the user. |
name |
string |
The full name of the user. |
offices |
array |
List of office locations where users are based |
primary_email_address |
string |
The primary email address of the user. |
site_admin |
boolean |
Indicates whether the user is a site administrator. |
updated_at |
string |
The date and time when the user account was last updated. |
| Field Name |
Type |
Description |
hits |
array |
List of matching records |
hits[].id |
string |
Record identifier |
hits[].score |
number |
Relevance score |
hits[].data |
object |
Record data containing the searchable fields listed above |
hits[].data.created_at |
string |
The date and time when the user account was created. |
hits[].data.departments |
array |
List of departments associated with users |
hits[].data.disabled |
boolean |
Indicates whether the user account is disabled. |
hits[].data.emails |
array |
Email addresses of the users |
hits[].data.employee_id |
string |
Employee identifier for the user. |
hits[].data.first_name |
string |
The first name of the user. |
hits[].data.id |
integer |
Unique identifier for the user. |
hits[].data.last_name |
string |
The last name of the user. |
| `hits[].dat |
|
|
…(truncated)