### Signature Header Format Source: https://docs.greenhouse.io/onboarding_webhooks.html Example of the Signature header format containing the algorithm and the signature. ```text Signature: sha256 37d2725109df92747ffcee59833a1d1262d74b9703fa1234c789407218b4a4ef ``` -------------------------------- ### List Jobs Response Source: https://docs.greenhouse.io/job-board.html Example JSON response returned when listing all job posts. ```json { "jobs": [ { "id":127817, "internal_job_id":144381, "title":"Vault Designer", "updated_at":"2016-01-14T10:55:28-05:00", "requisition_id": "50", "location":{ "name":"NYC" }, "absolute_url":"https://boards.greenhouse.io/vaulttec/jobs/127817", "language":"en", "metadata":null } ], "meta": { "total": 1 } } ``` -------------------------------- ### Retrieve Candidates Request Source: https://docs.greenhouse.io/candidate-ingestion.html Example of a cURL request to retrieve candidate information. ```bash curl 'https://api.greenhouse.io/v1/partner/candidates' -H "Authorization: Basic MGQwMzFkODIyN2VhZmE2MWRjMzc1YTZjMmUwNjdlMjQ6" ``` -------------------------------- ### Query employees by start date range Source: https://docs.greenhouse.io/gho.html Request employees with a start date between two specific dates. The dates are exclusive. ```graphql # Request only those employees that have a startDate between 2017-03-25 and 2018-03-25. # These dates are exclusive (e.g. someone who started on 2017-03-25 or 2018-03-25 would not be included. { employees(first: 25, startDateFilter: { dateFilter: { after: "2017-03-25", before: "2018-03-25" } }) { pageInfo { hasNextPage endCursor } edges { node { id email startDate } } } } ``` -------------------------------- ### List Disciplines JSON Response Source: https://docs.greenhouse.io/job-board.html Example JSON response containing a list of available disciplines and metadata. ```json { "items": [ { "id": 5494865, "text": "Accounting" }, { "id": 5494892, "text": "African Studies" }, { "id": 5494917, "text": "Agriculture" }, { "id": 5494940, "text": "Anthropology" }, { "id": 5494964, "text": "Applied Health Services" }, { "id": 5495009, "text": "Architecture" }, { "id": 5495033, "text": "Art" }, { "id": 5495051, "text": "Asian Studies" }, { "id": 5495074, "text": "Biology" }, { "id": 5495101, "text": "Business" } ], "meta": { "total_count": 71, "per_page": 100 } } ``` -------------------------------- ### GET /v1/boards/{board_token}/education/disciplines Source: https://docs.greenhouse.io/job-board.html Returns a list of all of your organization's disciplines. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/education/disciplines ### Description Returns a list of all of your organization's disciplines. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/education/disciplines ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token #### Query Parameters - **term** (string) - Optional - Returns any disciplines containing this string in their name. - **page** (string) - Optional - A cursor for use in pagination. Returns the n-th chunk of objects (100 per page). ``` -------------------------------- ### List Schools JSON Response Source: https://docs.greenhouse.io/job-board.html Example JSON response containing a list of available schools and metadata. ```json { "items": [ { "id": 5417077, "text": "Abraham Baldwin Agricultural College" }, { "id": 5417117, "text": "Academy of Art University" }, { "id": 5417156, "text": "Acadia University" }, { "id": 5417194, "text": "Adams State University" }, { "id": 5417217, "text": "Adelphi University" }, { "id": 5417245, "text": "Adrian College" }, { "id": 5417295, "text": "Adventist University of Health Sciences" }, { "id": 5417331, "text": "Agnes Scott College" }, { "id": 5417366, "text": "AIB College of Business" }, { "id": 5417384, "text": "Alaska Pacific University" } ], "meta": { "total_count": 2464, "per_page": 100 } } ``` -------------------------------- ### Query locations with pagination Source: https://docs.greenhouse.io/gho.html Examples of querying locations using different pagination arguments like first, last, after, and before. ```graphql # Request for first 10 locations after cursor "NQ==" { locations(first: 10, after: "NQ==") { pageInfo { hasNextPage endCursor } edges { node { id name address externalId } cursor } } } ``` ```graphql # Request for first 10 locations before cursor "NQ==" { locations(first: 10, before: "NQ==") { pageInfo { hasNextPage endCursor } edges { node { id name address externalId } cursor } } } ``` ```graphql # Request for first 10 locations in the list { locations(first: 10) { pageInfo { hasNextPage endCursor } edges { node { id name address externalId } cursor } } } ``` ```graphql # Request for last 10 locations in the list { locations(last: 10) { pageInfo { hasNextPage endCursor } edges { node { id name address externalId } cursor } } } ``` -------------------------------- ### Retrieve audit log events via cURL Source: https://docs.greenhouse.io/audit-log.html This example demonstrates how to perform a GET request to the audit log endpoint to retrieve events, including the expected JSON response structure. ```shell curl -X GET 'https://auditlog.us.greenhouse.io/events' -H "Content-Type: application/json" -H "Authorization: Bearer MeyJhbGci.eyJhdWQiO" { "paging": { "pit_id": "cmFuZG9tX3ZhbHVl", "search_after": null, "size": "100", "next_search_after": "1685989175" }, "hits": 2, "results": [ { "request": { "id": "1234zID", "type": "email_settings#create_organization_email" }, "performer": { "meta": { "name": "Allison Jamie", "username": "allison.j@omniva-corp.com" }, "id": 12345, "ip_address": "192.168.0.1", "type": "user" }, "organization_id": 123, "event": { "meta": null, "target_type": "Global Email Added", "type": "action" }, "event_time": "2023-06-02T16:06:19.217Z" }, { "request": { "id": "1234zID", "type": "email_settings#create_organization_email" }, "performer": { "meta": { "name": "Allison Jamie", "username": "allison.j@omniva-corp.com" }, "id": 12345, "ip_address": "192.168.0.1", "type": "user" }, "organization_id": 123, "event": { "meta": { "id": [ null, 1234 ], "value": [ null, "johnny.c@omniva-corp.com" ] }, "target_type": "OrganizationEmail", "target_id": 1234, "type": "data_change_create" }, "event_time": "2023-06-02T16:06:19.137Z" } ] } ``` -------------------------------- ### List Degrees JSON Response Source: https://docs.greenhouse.io/job-board.html Example JSON response containing a list of available degrees and metadata. ```json { "items": [ { "id": 5494452, "text": "High School" }, { "id": 5494478, "text": "Associate's Degree" }, { "id": 5494516, "text": "Bachelor's Degree" }, { "id": 5494551, "text": "Master's Degree" }, { "id": 5494580, "text": "Master of Business Administration (M.B.A.)" }, { "id": 5494607, "text": "Juris Doctor (J.D.)" }, { "id": 5494638, "text": "Doctor of Medicine (M.D.)" }, { "id": 5494662, "text": "Doctor of Philosophy (Ph.D.)" }, { "id": 5494689, "text": "Engineer's Degree" }, { "id": 5494710, "text": "Other" } ], "meta": { "total_count": 10, "per_page": 100 } } ``` -------------------------------- ### List Jobs Response with Content Source: https://docs.greenhouse.io/job-board.html Example JSON response when the content parameter is set to true, including full post description, department, and office details. ```json { "jobs": [ { "id":127817, "internal_job_id":144381, "title":"Vault Designer", "updated_at":"2016-01-14T10:55:28-05:00", "requisition_id": "50", "location":{ "name":"NYC" }, "absolute_url":"https://boards.greenhouse.io/vaulttec/jobs/127817", "language":"en", "metadata":null, "content":"This is the job description. <p>Any HTML included through the hosted job application editor will be automatically converted into corresponding HTML entities.</p>", "departments":[ { "id":13583, "name":"Department of Departments", "parent_id":null, "child_ids":[ 13585 ] } ], "offices":[ { "id":8304, "name":"East Coast", "location":"United States", "parent_id":null, "child_ids":[ 8787 ] }, { "id":8787, "name":"New York City", "location":"New York, NY, United States", "parent_id":8304, "child_ids":[ ] } ] } ], "meta": { "total": 1 } } ``` -------------------------------- ### GET https://boards-api.greenhouse.io/v1/boards/{board_token}/departments/{department_id} Source: https://docs.greenhouse.io/job-board.html Returns a list of jobs for a given department_id. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/departments/{department_id} ### Description Returns a list of jobs for a given department_id. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/departments/{department_id} ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token - **department_id** (integer) - Required - ID of the department to retrieve #### Query Parameters - **render_as** (string) - Optional - This parameter defines how to represent the list of departments. The default value is 'list'. Allowed values: 'list' (default), 'tree'. ``` -------------------------------- ### GET /v1/boards/{board_token}/education/schools Source: https://docs.greenhouse.io/job-board.html Returns a list of all of your organization's schools. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/education/schools ### Description Returns a list of all of your organization's schools. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/education/schools ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token #### Query Parameters - **term** (string) - Optional - Returns any schools containing this string in their name. - **page** (string) - Optional - A cursor for use in pagination. Returns the n-th chunk of objects (100 per page). ``` -------------------------------- ### cURL Request and Response Source: https://docs.greenhouse.io/gho.html Example of a POST request to the Greenhouse GraphQL endpoint and the corresponding JSON response. ```bash # Here's what the final cURL request would look like curl 'https://onboarding-api.greenhouse.io/graphql' \ -X POST \ -u your_access_key:your_secret_key \ -d '{"query":"{\n employee(id: 25) {\n email\n }\n}"}' \ -H 'content-type: application/json' # and here's what the response would look like {"data":{"employee":{"email":"employee_25_email@example.com"}}} ``` -------------------------------- ### Candidate ID Response Source: https://docs.greenhouse.io/candidate-ingestion.html Example response containing a candidate ID. ```json { "candidate_ids": 17681532 } ``` -------------------------------- ### Request employees after cursor Source: https://docs.greenhouse.io/gho.html Fetches a page of employees starting after the specified cursor. ```graphql # Request employees after the cursor "NQ==" { employees(first: 25, after: "NQ==") { pageInfo { hasNextPage endCursor } edges { node { id email } cursor } } } ``` -------------------------------- ### GET https://boards-api.greenhouse.io/v1/boards/{board_token}/sections/{section_id} Source: https://docs.greenhouse.io/job-board.html Returns a list of prospect posts for a given section_id. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/sections/{section_id} ### Description Returns a list of prospect posts for a given section_id. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/sections/{section_id} ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token - **section_id** (integer) - Required - ID of the section to retrieve ### Response #### Success Response (200) - **id** (integer) - Section ID - **name** (string) - Section name - **jobs** (array) - List of jobs in the section ``` -------------------------------- ### GET https://boards-api.greenhouse.io/v1/boards/{board_token}/sections Source: https://docs.greenhouse.io/job-board.html Returns a list of your organization’s sections and prospect posts. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/sections ### Description Returns a list of your organization’s sections and prospect posts. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/sections ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token ### Response #### Success Response (200) - **sections** (array) - List of sections containing jobs ``` -------------------------------- ### Retrieve a job with demographic questions Source: https://docs.greenhouse.io/job-board.html Example JSON response when demographic questions are enabled for a job post. ```json { "id": 44444, "title": "Product Engineer", ... "demographic_questions": { "header": "Diversity and Inclusion at Acme Corp.", "description": "

Acme Corp. is dedicated to...

", "questions": [ { "id": 1, "label": "Favorite Color", "required": false, "type":"multi_value_multi_select", "answer_options": [ { "id": 100, "label": "Red", "free_form": false }, { "id": 101, "label": "Green", "free_form": false }, { "id": 102, "label": "Blue", "free_form": false }, { "id": 102, "label": "Prefer to Type My Own", "free_form": true } ] } ] } } ``` -------------------------------- ### Basic GraphQL Query Structure Source: https://docs.greenhouse.io/gho.html Example of a GraphQL query to retrieve an employee's email address by ID. ```graphql # If we wanted to retrieve the email address of the employee # with ID 25, the GraphQL query would look like this: { employee(id: 25) { email } } ``` -------------------------------- ### GET https://boards-api.greenhouse.io/v1/boards/{board_token}/departments Source: https://docs.greenhouse.io/job-board.html Returns a list of your organization's departments and jobs. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/departments ### Description Returns a list of your organization's departments and jobs. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/departments ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token #### Query Parameters - **render_as** (string) - Optional - This parameter defines how to represent the list of departments. The default value is 'list'. Allowed values: 'list' (default), 'tree'. ``` -------------------------------- ### Retrieve complexityInfo with employee query Source: https://docs.greenhouse.io/gho.html Example of retrieving complexity information paired with an employee query. ```graphql # Example of retriving complexity information from the employee query { employee(id: 20) { email lastName } complexityInfo { score maximum } } ``` -------------------------------- ### Retrieve a job JSON response Source: https://docs.greenhouse.io/job-board.html Example JSON response for a job post, including application questions, metadata, data compliance, and pay ranges. ```json { "id":44444, "title":"Product Engineer", "company_name":"Greenhouse", "first_published":"2013-08-01T20:00:00Z", "updated_at":"2013-07-02T19:39:23Z", "application_deadline":"2026-08-01T20:00:00Z", "requisition_id": "50", "location":{ "name":"San Francisco, CA" }, "content":"This is the job description. <p>Any HTML included through the hosted job application editor will be automatically converted into corresponding HTML entities.</p>", "absolute_url":"http://your.co/careers?gh_jid=444444", "language":"en", "internal_job_id":55555, "include_ai_disclaimer": true, "ai_disclaimer":"

We use Greenhouse’s AI-powered Talent Matching tool to compare your application against our job requirements.

", "ai_opt_out_request_url":"https://app.greenhouse.io/job_post/55555/ai_opt_out", "location_questions": [ { "label": "Location", "fields": [ { "name": "location", "type": "input_text", "values": [] } ], "required": true }, { "label": "Latitude", "fields": [ { "name": "latitude", "type": "input_hidden", "values": [] } ], "required": true }, { "label": "Longitude", "fields": [ { "name": "longitude", "type": "input_hidden", "values": [] } ], "required": true } ], "questions":[ { "required":true, "label":"First Name", "fields":[ { "name":"first_name", "type":"input_text" } ] }, { "required":true, "label":"Resume", "fields":[ { "name":"resume", "type":"input_file" }, { "name":"resume_text", "type":"textarea" } ] }, { "required":false, "label":"Do you like apples?", "fields":[ { "name":"question_2222", "type":"multi_value_single_select", "values":[ { "value":0, "label":"No" }, { "value":1, "label":"Yes" } ] } ] } ], "metadata":[ { "id":12345, "name":"Field Name", "value_type":"text", "value":"Some value" } ], "data_compliance": [ { "type": "gdpr", "requires_consent": true, // To be deprecated. Use if your organization doesn't have single-purpose consent configured, otherwise use separate values for processing and retention "requires_processing_consent": true, "requires_retention_consent": true, "retention_period": 12345 } ], "pay_input_ranges": [ { "min_cents":5000000, "max_cents":7500000, "currency_type":"USD", "title":"NYC Salary Range", "blurb":"In order to provide transparency..." } ] } ``` -------------------------------- ### GET https://boards-api.greenhouse.io/v1/boards/{board_token}/offices Source: https://docs.greenhouse.io/job-board.html Retrieves a list of all organization departments and jobs, grouped by office. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/offices ### Description Returns a list of all of your organization's departments and jobs, grouped by office. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/offices ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token #### Query Parameters - **render_as** (string) - Optional - This parameter defines how to represent the list of offices. The default value is 'list'. Allowed values: 'list' (default, includes parent_id and child_ids) or 'tree' (returns a list of trees with children). ``` -------------------------------- ### Paginated Employees Query and Response Source: https://docs.greenhouse.io/gho.html Example of fetching a page of employees and the resulting data structure containing pageInfo and edges. ```graphql { employees(first: 2, after: "NQ==") { # Please fetch the next 2 records, starting after the "NQ==" cursor pageInfo { endCursor hasNextPage } edges { node { email } } } } # Returns: { "data": { "employees": { "pageInfo": { "endCursor": "MTA=", "hasNextPage": true }, "edges": [ { "node": { "email": "kima@example.com" } }, { "node": { "email": "omar@example.com" } } ] } } } ``` -------------------------------- ### List Tests GET Request Source: https://docs.greenhouse.io/assessment.html Use this cURL command to retrieve the list of available tests from the Assessment Partner. ```bash curl 'https://www.testing-partner.com/api/list_tests' -H "Authorization: Basic MGQwMzFkODIyN2VhZmE2MWRjMzc1YTZjMmUwNjdlMjQ6" ``` -------------------------------- ### Submit application multipart form-data Source: https://docs.greenhouse.io/job-board.html An example HTML form for submitting job applications. Requests must be proxied by your own servers to protect the HTTP Basic Auth API token. ```html









``` -------------------------------- ### GET https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs Source: https://docs.greenhouse.io/job-board.html Retrieves a list of all job posts for a specific board. Use the content parameter to include full descriptions and organizational details. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs ### Description Returns the list of all job posts. The id field contains the unique identifier for the job post. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token #### Query Parameters - **content** (boolean) - Optional - If set to true, include the full post description, department, and office of each job post. ### Response #### Success Response (200) - **jobs** (array) - List of job objects - **meta** (object) - Metadata including total count ``` -------------------------------- ### POST Authenticate audit log request and response Source: https://docs.greenhouse.io/audit-log.html Example of the cURL request to generate an access token and the resulting JSON response containing the token and expiration time. ```bash curl -X POST 'https://harvest.greenhouse.io/auth/jwt_access_token' -H "Content-Type: application/json" -H "On-Behalf-Of: {greenhouse user ID}" -H "Authorization: Basic MGQwMzFmE2MWwNjdlMjQ6" { "access_token": "MeyJhbGci.eyJhdWQiO", "expires": 2024-02-03T16:38:46.985Z } ``` -------------------------------- ### GET https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs/{job_id} Source: https://docs.greenhouse.io/job-board.html Retrieves a specific job post. Setting the questions query parameter to 'true' includes the list of job application fields for dynamic form construction. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs/{job_id} ### Description Retrieves a job post. Setting the questions querystring parameter to "true" will include the list of job application fields; these fields can be used to dynamically construct your own job application form. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs/{job_id} ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token - **job_id** (integer) - Required - ID of the job to retrieve #### Query Parameters - **questions** (boolean) - Optional - If set to true, includes the list of job application fields. ``` -------------------------------- ### POST https://onboarding-api.greenhouse.io/graphql Source: https://docs.greenhouse.io/gho.html Executes a GraphQL query against the Greenhouse Onboarding API. ```APIDOC ## POST https://onboarding-api.greenhouse.io/graphql ### Description Executes a GraphQL query to retrieve data such as employee information. The request must be a POST request with a JSON body containing the query string. ### Method POST ### Endpoint https://onboarding-api.greenhouse.io/graphql ### Request Body - **query** (string) - Required - The GraphQL query string. ### Request Example { "query": "{ employee(id: 25) { email } }" } ### Response #### Success Response (200) - **data** (object) - The result of the GraphQL query. #### Response Example { "data": { "employee": { "email": "employee_25_email@example.com" } } } ``` -------------------------------- ### Retrieve office with render_as=list Source: https://docs.greenhouse.io/job-board.html The default response format when render_as is set to list. ```json { "id":11111, "name":"San Francisco", "departments":[ { "id":33333, "name":"Engineering", "jobs":[ { "id":44444, "title":"Product Engineer", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=444444", "language":"en" }, { "id":55555, "title":"Mobile Engineer - iOS", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=55555", "language":"en" } ] }, { "id":22222, "name":"Account Management", "jobs":[] } ], "parent_id":10201, "child_ids":[ ] } ``` -------------------------------- ### List offices with render_as=list Source: https://docs.greenhouse.io/job-board.html The default response format where offices are returned as a flat list of objects including parent_id and child_ids. ```json { "offices":[ { "id":10201, "name":"West Coast", "departments":[ ], "child_ids":[ 11111 ] }, { "id":11111, "name":"San Francisco", "departments":[ { "id":33333, "name":"Engineering", "jobs":[ { "id":44444, "title":"Product Engineer", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=444444", "language":"en" }, { "id":55555, "title":"Mobile Engineer - iOS", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=55555", "language":"en" } ], "parent_id":null, "child_ids":[ ] }, { "id":22222, "name":"Account Management", "jobs":[ ], "parent_id":null, "child_ids":[ ] } ], "parent_id":10201, "child_ids":[ ] } ] } ``` -------------------------------- ### GET Test Status Request Source: https://docs.greenhouse.io/assessment.html Greenhouse sends this GET request to the partner's test_status endpoint to retrieve the current status of a take home test. ```bash curl 'https://www.testing-partner.com/api/test_status?partner_interview_id=12345' -H "Authorization: Basic MGQwMzFkODIyN2VhZmE2MWRjMzc1YTZjMmUwNjdlMjQ6" ``` -------------------------------- ### List offices with render_as=tree Source: https://docs.greenhouse.io/job-board.html An alternative response format where offices are returned as a list of trees using the children property. ```json { "offices":[ { "id":10201, "name":"West Coast", "departments":[ ], "children":[ { "id":11111, "name":"San Francisco", "departments":[ { "id":33333, "name":"Engineering", "jobs":[ { "id":44444, "title":"Product Engineer", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=444444", "language":"en" }, { "id":55555, "title":"Mobile Engineer - iOS", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=55555", "language":"en" } ], "children":[ ] }, { "id":22222, "name":"Account Management", "jobs":[ ], "children":[ ] } ], "children":[ ] } ] } ] } ``` -------------------------------- ### StartDateFilter Source: https://docs.greenhouse.io/gho.html Filter employees based on their start date. ```APIDOC ## StartDateFilter ### Description Filter employees based on their start date. ### Parameters - **anyValue** (Boolean) - Optional - **dateFilter** (DateFilter) - Optional - **noValue** (Boolean) - Optional ``` -------------------------------- ### GET https://api.greenhouse.io/v1/partner/current_user Source: https://docs.greenhouse.io/candidate-ingestion.html Retrieve details about the current user. ```APIDOC ## GET https://api.greenhouse.io/v1/partner/current_user ### Description Retrieve details about the current user. ### Method GET ### Endpoint https://api.greenhouse.io/v1/partner/current_user ### Response #### Success Response (200) - **full_name** (String) - The current user's full name - **first_name** (String) - The current user's first name - **last_name** (String) - The current user's last name - **email** (String) - The email address associated with the current user - **id** (Integer) - The ID of the current user #### Response Example { "full_name": "Ron Weasley", "first_name": "Ron", "last_name": "Weasley", "email": "rweasley@hogwarts.edu", "id": 1234 } ``` -------------------------------- ### GET https://www.testing-partner.com/api/list_tests Source: https://docs.greenhouse.io/assessment.html Retrieves a list of available tests for the organization. ```APIDOC ## GET https://www.testing-partner.com/api/list_tests ### Description Retrieves a list of available tests from the Assessment Partner. Greenhouse uses this list to allow users to select the appropriate test for a candidate. ### Method GET ### Endpoint https://www.testing-partner.com/api/list_tests ### Response #### Success Response (200) - **partner_test_id** (String) - Identifies a test available to an organization. - **partner_test_name** (String) - A descriptive title for the test. #### Response Example [ { "partner_test_id": "12345", "partner_test_name": "My First Test" }, { "partner_test_id": "54321", "partner_test_name": "My Second Test" } ] ``` -------------------------------- ### GET /api/list_tests Source: https://docs.greenhouse.io/assessment.html Retrieves the list of available tests from the assessment partner. ```APIDOC ## GET /api/list_tests ### Description Retrieves the list of available tests from the assessment partner. ### Method GET ### Endpoint https://www.testing-partner-a.com/api/list_tests ### Request Example GET https://www.testing-partner-a.com/api/list_tests Authorization: Basic ``` -------------------------------- ### POST /graphql Source: https://docs.greenhouse.io/gho.html The primary endpoint for interacting with the Greenhouse Onboarding GraphQL API. It requires HTTP Basic Authentication using an Access Key and Secret Key. ```APIDOC ## POST /graphql ### Description Executes GraphQL queries against the Greenhouse Onboarding API. Authentication is required via HTTP Basic Auth. ### Method POST ### Endpoint https://onboarding-api.greenhouse.io/graphql ### Request Body - **query** (string) - Required - The GraphQL query string. ### Request Example { "query": "{ rateLimit { limit } }" } ### Response #### Success Response (200) - **data** (object) - The result of the GraphQL query. #### Response Example { "data": { "rateLimit": { "limit": 100 } } } ``` -------------------------------- ### GET /v1/boards/{board_token}/education/degrees Source: https://docs.greenhouse.io/job-board.html Returns a list of all of your organization's degrees. ```APIDOC ## GET https://boards-api.greenhouse.io/v1/boards/{board_token}/education/degrees ### Description Returns a list of all of your organization's degrees. ### Method GET ### Endpoint https://boards-api.greenhouse.io/v1/boards/{board_token}/education/degrees ### Parameters #### Path Parameters - **board_token** (string) - Required - Job Board URL token #### Query Parameters - **term** (string) - Optional - Returns any degrees containing this string in their name. - **page** (string) - Optional - A cursor for use in pagination. Returns the n-th chunk of objects (100 per page). ``` -------------------------------- ### Retrieve office with render_as=tree Source: https://docs.greenhouse.io/job-board.html The response format when render_as is set to tree, representing children offices as a tree structure. ```json { "id":11111, "name":"San Francisco", "departments":[ { "id":33333, "name":"Engineering", "jobs":[ { "id":44444, "title":"Product Engineer", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=444444", "language":"en" }, { "id":55555, "title":"Mobile Engineer - iOS", "location":{ "name":"San Francisco, CA" }, "updated_at":"2013-07-02T19:39:23Z", "absolute_url":"http://your.co/careers?gh_jid=55555", "language":"en" } ] }, { "id":22222, "name":"Account Management", "jobs":[] } ], "children":[ ] } ``` -------------------------------- ### HTTP GET request for a job Source: https://docs.greenhouse.io/job-board.html The endpoint used to retrieve a specific job post. ```http GET https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs/{job_id} ``` -------------------------------- ### Submit an application via cURL Source: https://docs.greenhouse.io/job-board.html Use this cURL command to POST a multipart/form-data application to the Greenhouse job board API. Ensure you replace the authorization header and file paths with your specific credentials and local files. ```bash curl -X POST \ -H "Content-Type: multipart/form-data" \ -H "Authorization: Basic MGQwMzFkODIyN2VhZmE2MWRjMzc1YTZjMmUwNjdlMjQ6" \ -F "first_name=Sammy" \ -F "last_name=McSamson" \ -F "email=sammy@example.com" \ -F "phone=3337778888" \ -F "location=110 5th Ave New York, NY, 10011" \ -F "latitude=40.7376671" \ -F "longitude=-73.9929196" \ -F "country_short_name=US" \ -F "resume=@/path/to/resume/ADA084551.pdf" \ -F "cover_letter=@/path/to/coverletter/blah.pdf" \ -F "educations[][school_name_id]=5417077" \ -F "educations[][degree_id]=5494452"\ -F "educations[][discipline_id]=5494865" \ -F "educations[][start_date][month]=8" \ -F "educations[][start_date][year]=2012" \ -F "educations[][end_date][month]=5" \ -F "educations[][end_date][year]=2016" \ -F "employments[][company_name]=Business Co" \ -F "employments[][title]=Sales Manager" \ -F "employments[][start_date][month]=1" \ -F "employments[][start_date][year]=2016" \ -F "employments[][end_date][month]=2" \ -F "employments[][end_date][year]=2018" \ -F "employments[][current]=false" -F "mapped_url_token=token12345" \ -F "question_12349_url=http://dropbox.com/dl/attachment.pdf" \ -F "question_12349_url_filename=attachment.pdf" \ -F "question_12350_content=SGVsbG8sIHdvcmxkIQo=" \ -F "question_12350_content_filename=something_else.txt" \ -F "demographic_answers[][question_id]=87" \ -F "demographic_answers[][answer_options][][answer_option_id]=194" \ -F "demographic_answers[][question_id]=88" \ -F "demographic_answers[][answer_options][][answer_option_id]=212" \ -F "demographic_answers[][answer_options][][text]=Free-form Answer" \ -F "data_compliance[gdpr_consent_given]=true" \ -F "data_compliance[gdpr_processing_consent_given]=true" \ -F "data_compliance[gdpr_retention_consent_given]=true" \ -F "data_compliance[gdpr_demographic_data_consent_given]=true" \ -F "applicant_ip=203.0.113.47" \ "https://boards-api.greenhouse.io/v1/boards/very_awesome_inc/jobs/127817" ```