Code Monkey home page Code Monkey logo

greenhouse-api-docs's People

Contributors

adabrooker avatar akrulwich avatar amandasegal avatar anirudhmungre avatar bootstraponline avatar capablemonkey avatar chrissrogers avatar cvkef avatar davidhan527 avatar drewmbrien avatar evan-duncan avatar ewawrzas avatar javi-dominguez avatar jaydeesimon avatar jcmuller avatar jdnguyen avatar jlou-gh avatar joshnassar94 avatar jsurrett avatar liamkillion avatar lord avatar marcguyer avatar mmurph24 avatar noralin avatar omodaraadonai avatar rachelleffel avatar realityking avatar ryanartha avatar skuo-gh avatar tdphillipsjr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

greenhouse-api-docs's Issues

Authorization

How to authorize greenhouse harvest API's.
In the document, it is shown that to use Basic Auth with username and password. Are username and password are login credentials of https://app2.greenhouse.io/users/sign_in

[Harvest API] Is OAuth2 on the roadmap?

Hi, it's awesome y'all are active on here! ๐Ÿ‘

I'm just curious if OAuth2 support is on the roadmap for the Harvest API. My Greenhouse integration would be much easier to use if the end users could OAuth with their Greenhouse account... vs. having to dig through Dev Center settings to create and copy an API Key.

I know this kind of stuff can be difficult to migrate to, but I was just curious!

Assessment API - PATCH request error 403

I am vendor providing assessments to greenhouse.
Everything works fine with the polling method. Recent fix from greenhouse asserts using the PATCH request to notify greenhouse when assessment is complete to initiate polling.

I am trying to send a request with the provided url during the 'send test' process with the authentication also used by greenhouse.
headers: Authorization: Basic base-64-encoded-api-key

I am receiving an error 403
what am I doing wrong?

Webhook signature issue

Hi, guys.

I am developing endpoint for webhooks from your API. I encountered with incorrect signature header from you.
Ping request from you is generating correctly but job_post_created webhook contains incorrectly processed signature header.

Ping webhook
body:
{"action":"ping","payload":{"web_hook_id":4001693002,"endpoint_url":"https://67e09e60.ngrok.io/webhooks","created_at":"2018-12-20T15:43:12Z","updated_at":"2018-12-27T09:40:14Z","name":"Job Post Create","event":"Job Post Created","active":true,"content-type":"application/json"}}
secret:
1uSUju2H6AohOE7OQVaxeLT3O8Uxxuas
correctly processed signature on your and my side:
395b1309fd37f0732d1ed11c15e03edd61b818918df6bf93be7c71bafb09c877

But

job_post_created webhook
body:
{"action":"job_post_updated","payload":{"id":4150486002,"title":"Manager","location":"Kharkov","content":"<p>test description 1111222</p>","internal_content":null,"updated_at":"2018-12-27T15:11:42.169Z","job_id":4144893002,"external":true,"internal":false,"live":true,"questions":[{"required":false,"private":false,"label":"LinkedIn Profile","type":"input_text","values":[]},{"required":false,"private":false,"label":"Website","type":"input_text","values":[]},{"required":false,"private":false,"label":"How did you hear about this job?","type":"input_text","values":[]},{"required":false,"private":false,"label":"Custom question #1","type":"textarea","values":[]},{"required":false,"private":false,"label":"Custom question #2","type":"textarea","values":[]}]}}

secret the same:
1uSUju2H6AohOE7OQVaxeLT3O8Uxxuas

incorrect signature header from you is: a4872b8a7ac7f187e5a9df4626145db590d80fc5c34fa837548e1d16f5b3ce93

signature on my side is processing in the same way like for ping webhook: a78444fa49e22f36f903ab7f1eea4de06675d3679037d67b115b2bf7f44b0a25

According to your documentation signature should be computed as HMAC with secret. Different online tools show me that your computing is incorrect:
http://joxi.ru/DrlQ91WCV30p4m
You can check it by yourself here

Looking forward to receiving a help from you.

POST: Add Prospect returns 404

I am getting the following:

$ curl https://harvest.greenhouse.io/v1/prospects/ -u $API_KEY -X POST
{"message":"Resource not found"}

Is the documentation out of date? I expect an error, but not a 404.

I have checked my API key permissions and all are selected.

Filtering API endpoints

Hi, there a couple of features we'd like to see in the API like filtering/sorting of endpoints and the inclusion of the candidate availability.
Are there any plans to add these, is there a roadmap you could share?

Getting Question ID for Application Post

How do I get the question id for application post?

For greenhouse generated fields, I'm able to use the standard parameters like so first_name, last_name, etc.

But how do i get a specific question id?

I'm using the API method

For example in the docs

<label>LinkedIn Profile <input type="text" name="question_5555" /></label>

I'm assuming I shouldnt be using question_5555?

Invalid Json Payload

{"message":"Invalid JSON Payload"}
400

Sometimes, when I try to make a call to Harvest API, I get a status code of 400 and the above error message. Does anyone know why?

<Job Board API> No clear relationship between `location` and `offices`

In the example response provided at https://developers.greenhouse.io/job-board.html#list-jobs there's no clear relationship between the location specified for the job and the offices specified for job. And it doesn't appear that offices is simply a list of all offices associated with the employer, because I've found at least one example where the response to GET /v1/boards/<token>/offices contains more offices than those listed in the response to GET /v1/boards/<token>/jobs.

The documentation needs to be clarified. Specifically:

  • How exactly should job['offices'] be interpreted?
  • Is there any enforced relationship at all between job['location'] and job['offices'] or are both sets of data totally free-form and at the whim of whoever posted the job?

[Harvest API] How can I get the subdomain and/or candidate web URL?

Hi! I'm building a Greenhouse integration and want to allow Greenhouses users to navigate to a candidate page by clicking a link.

I'm using GET https://harvest.greenhouse.io/v1/candidates and can get candidate.id, but I can't figure out a way to construct the URL for the candidate page in the Greenhouse web UI. There's no candidate.url like I'd expect.

Our Greenhouse instance uses the subdomain app2, so candidate web URLs are
https://app2.greenhouse.io/people/123?application_id=456#jobs.

  • Is there a way to get (or construct) the candidate's web URL from the Harvest API?
  • Is there a way to get the subdomain from the Harvest API?
  • Is there a "global" subdomain that redirects correctly based on a candidate ID?

Thanks for providing great docs on all the other fronts!

Adding new university to global list

Slack uses Greenhouse platform and I want to apply Slack for intern.
The problem is my school is not registered to Greenhouse platform.
Can you add "TOBB University of Economics and Technology (etu.edu.tr)" to the global list.

Thanks.

Way to find a school by name?

What is the intended way for a client to get the ID of a school? I have tried the following curl request::

curl \
  -u '$X' \
  -H 'On-Behalf-Of: $ID' \
  -v \
  https://harvest.greenhouse.io/v1/schools?name=harvard

But that filter had no effect.

Right now it seems like I either need to 1) page through the results until I find a match, or 2) download these into a database and write some simple search engine around it, but both of these seem impractical.

Add "location" property to "POST: Create candidate" endpoint

Right now the "location" property for candidates is only accessible from the web interface.

image

It would be nice to have it in the API endpoint so we can improve our time spent in just accessing the web interface and modifying this field.

Thanks in advance.

Interview scheduled webhook

Hi,

Is there a webhook that can be used to get a notification about an interview that was just scheduled?

Tags do not strip trailing spaces, but the greenhouse UI shows tags without trailing spaces

Screen Shot 2020-02-20 at 4 15 21 PM

Seen in this screenshot, 3 tags "js3" "js3 " (one trailing space) and "js3 " (many trailing spaces). These tags are viewed as distinct tags by harvest api data, but the greenhouse ui strips trailing spaces and displays them as identical.

It seems like either the UI or the api is wrong here, but I am not sure which. Is there a justification for allowing "tag1" and "tag1 " to exist independently? If not ideally harvest api would view these as identical?

If this behavior is intended, is it possible to display trailing spaces in the ui? As of now it is impossible to tell exactly what string a tag actually is, and filters only work with exact strings.

Thanks!

Why does application api object not have a hired_at parameter?

I know this isn't the correct forum to ask this question, my apologies. I'm not sure where else to ask it.

I noticed that there's a rejected_at field which I assume is the time when the reject button/api is used. There's no hired_at timestamp field though. Is it possible for this field to be added?

Search job board

Looking through the greenhouse.io developer documentation, I don't see any parameters for a search query on the job board.

Are there any solutions for searching jobs with the current API?

Scorecard for scheduled_interview

Hello,

I am working on some report based on the harvest api. One of the requirements is to do with interview outcome.

The question is - how can I determine the outcome of a specific interview?

I am asking because, looking into the scorecard object, I see that it contains candidate and application IDs as well as interview *name. I do not see interview id included in the result.

From what I see/understand working with the API:

  • A name for an interview can be repeated across different jobs
  • An application can have more than one job (or so it seems from the data structure in application object)
  • The same interview (type --> name) can actually be scheduled more than once

Given that, I am not sure I can correlate the scoreboard object to specific scheduled interview.

Is there a way to do this correlation?

Weird redirect when user denies while in oAuth flow

Hello,

I am implementing an integration with the ingestion API for Consider Inc (https://developers.greenhouse.io/candidate-ingestion.html#authentication). Everything seems to be working OK, expect the oAuth deny code.

I expected my provided redirect_uri to be hit with error code access_denied. This is part of oAuth 2 spec you link from your documentation.

Instead, I am being redirected to /auth/harvest/callback?oauth_problem=user_refused which seems a custom implementation by you.

Is this expected behavior? I didn't find any mention on your documentation as how to customize the return route.

[Harvest API] Scorecards - questions and interviews mapping

I am working on consolidating scorecards to a single score based on interviewers' responses to attributes and questions. There are a few areas that are unclear to me:

  1. Some questions have been marked as mandatory on the portal by a recruiter but this mandatory nature of the questions is not reflected in the scorecards or job_stages or other related objects. How do I find out whether a question is mandatory or not?

  2. Each question from a scorecard and interview has been assigned an ID. Where is more information about the question stored? Which data object does the ID map to?

  3. Similarly, interviews and interview_kits have been assigned IDs but where exactly do I look for them?

I could not find information regarding this in your documentation. It would be great if you could provide any guidance in this matter.

Add job_board to webooks

It would be great to get the job_board included in a web hook so that the job details can then be retrieved.

Unable to query notes from rejection

For applications that I view in the UI I can see the notes field populated under the rejection reason.
However when querying the application using v1/applications/{id} I do not see a notes field just a decline_notes field which is always empty. How can I recover the notes for the application rejection?

Make Notes respect linebreaks

When I export a note both on the UI and API, it inserts a <br> tag in addition to wrapped text in a <p> tag. This causes a newline sent in a note to insert two line breaks instead of one.

For example, the following input generates the following note:

Test

Test

screen shot 2018-07-20 at 17 37 02

This is annoying because it creates a lot of unnecessary whitespace in long notes.

Example request for Job Board API

Would it be possible to have an example curl request for applying to a job via the Job Board API? I keep running into:

{
    "error": "Failed to save person",
    "status": 401
}

How to access the next page GET schools API?

Hi,
Which parameter can be used to fetch the next page? I tried page=2 and offset=2 but these didnt work.

The curl I am using:

curl -X GET
'https://harvest.greenhouse.io/v1/schools?page=2'
-H 'Accept: /'
-H 'Accept-Encoding: gzip, deflate'
-H 'Authorization: $$'
-H 'Cache-Control: no-cache'
-H 'Connection: keep-alive'
-H 'Host: harvest.greenhouse.io'
-H 'User-Agent: PostmanRuntime/7.17.1'
-H 'cache-control: no-cache'

Add Prospect to a job.

When creating a new prospect I was expecting to be able to submit an Application object with a job_id so that the prospect was mapped to specific jobs.

Right now this is not possible - it works when adding a candidate.

Add "Job Post Added" and "Job Post Updated" to webhooks

I did not originally realize there is a difference between a "Job" and a "Job Post", but it would certainly be helpful to trigger a webhook when a Job Post has been added or updated (ex job description changed).

I notice there is already one for Job Post Deleted, so these seem like they would be complimentary to that webhook.

CORS on jobs POST

Both locally and on a development server hosted on Netlify, I get a CORS rejection for a POST request to https://developers.greenhouse.io/job-board.html#submit-an-application. Is there a way to set the accepted URLs?

Way to add candidate headline?

I see I can set this in the UI. Is it possible to set this from the API? I see it as a querystring parameter, but don't see any other mentions of it.

If it's not possible, can it be added?

Harvest API for adding interviewers to an interview

Heya Greenhouse devs,

I'm working on some tooling to automate the interview scheduling process for our recruiter team, and I was specifically looking for an API for creating interviews for an application and adding interviewers to the interviews. Assuming I didn't miss those and they don't exist, are they on the roadmap?

Thanks so much,

Corin @ Braintree

Candidate enter/exit stage info

I'm not seeing a way to determine all the stages a candidate entered and exited, and the date/time for each - but Greenhouse displays this info. Is there an undocumented method for this?

Introduction should explain how to get API key

The introduction should explain how to get an API key (or link to the corresponding documentation). I am quite lost looking at the beginning of the introduction.

Also, because i was logged into greenhouse while reading the doc, i first expected to be able to copy-paste the example curl https://harvest.greenhouse.io/v1/candidates/ -u a7183e1b7e9ab09b8a5cfa87d1934c3c: but now found that this is just a hardcoded example. There should be some comment in the example that i need to replace this with my API key. Or do curl https://harvest.greenhouse.io/v1/candidates/ -u [your api key]: to make it more clear...

Way to add candidate photo?

I see a field "photo_url": null in the candidate response. Is there a way to set this? If not, can it be added?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.