> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mavera.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Greenhouse

> Integrate Mavera with Greenhouse — candidate pipeline personas, job posting optimization, interview feedback analysis, and rejection reason brand perception

## Overview

Pull data from **Greenhouse Harvest API** (Candidates, Applications, Job Posts, Scorecards, Rejections) → analyze with **Mavera** (Personas, Focus Groups, Mave Agent, Generate) → get persona-validated talent brand insights for recruiting, employer branding, and people-ops teams.

<Info>
  **Greenhouse Harvest API** — Base URL: `https://harvest.greenhouse.io/v1`. Auth: HTTP Basic (API key as username, blank password) for v1/v2, or OAuth 2.0 for v3. Rate limits: **50 requests / 10 seconds**. Pagination via `per_page` + `page` query params or `Link` header.
</Info>

***

## Prerequisites

<Steps>
  <Step title="Greenhouse API key">Create a Harvest API key in Greenhouse → Configure → Dev Center → API Credential Management. Grant **Candidates**, **Applications**, **Jobs**, **Scorecards**, and **Rejection Reasons** permissions.</Step>
  <Step title="Mavera API key">Get your key from [Mavera dashboard](https://app.mavera.io/settings/api-keys).</Step>

  <Step title="Environment variables">
    ```bash theme={"dark"}
    export GREENHOUSE_API_KEY="your_greenhouse_harvest_key"
    export MAVERA_API_KEY="mvra_live_xxxxx"
    ```
  </Step>
</Steps>

***

## Jobs

| # | Job                                                                                               | Greenhouse Data                      | Mavera Surface                     | Output                              |
| - | ------------------------------------------------------------------------------------------------- | ------------------------------------ | ---------------------------------- | ----------------------------------- |
| 1 | [Candidate Pipeline → Employer Brand Personas](/integrations/greenhouse/candidate-brand-personas) | Candidates by source/stage/rejection | Custom Personas + Focus Groups     | Employer messaging validation       |
| 2 | [Job Posting Optimization](/integrations/greenhouse/job-posting-optimization)                     | Job postings                         | Focus Groups (Likert + open-ended) | Clarity/appeal/authenticity ratings |
| 3 | [Interview Feedback → Hiring Persona](/integrations/greenhouse/interview-hiring-persona)          | Scorecards                           | Mave Agent                         | Success-predicting trait analysis   |
| 4 | [Rejection Reason Analysis](/integrations/greenhouse/rejection-analysis)                          | Rejection data                       | Focus Groups                       | Brand perception impact report      |

***

## Rate Limits & Production Notes

| Greenhouse Endpoint          | Limit             | Strategy                                                   |
| ---------------------------- | ----------------- | ---------------------------------------------------------- |
| All Harvest endpoints        | 50 req / 10 sec   | 200ms delay between calls; retry on 429 with `Retry-After` |
| Pagination                   | 500 per\_page max | Use `per_page=100` + `page` param; follow `Link` header    |
| Scorecards (per application) | 1 call each       | Batch application IDs; cache scorecard results             |

<Warning>
  Greenhouse counts every request against the **50/10s** window regardless of endpoint. Scorecard-heavy jobs (Job 3) can hit this quickly when iterating over hundreds of applications. Add a 250ms delay between scorecard fetches or use webhooks for real-time scorecard data.
</Warning>

**Checklist:**

* Store `GREENHOUSE_API_KEY` in a secrets manager — never commit
* Use HTTP Basic auth: API key as username, empty password (`key:` → base64)
* Paginate with `per_page` + `page` or follow the `Link` response header
* Retry on 429 using the `Retry-After` header value
* Monitor Mavera credits at [Dashboard](https://app.mavera.io/settings/usage)
* For v3 (OAuth 2.0): use the token exchange flow for user-context access

***

<CardGroup cols={3}>
  <Card title="All Integrations" icon="plug" href="/integrations" />

  <Card title="Greenhouse API" icon="seedling" href="https://developers.greenhouse.io/harvest.html" />

  <Card title="Personas" icon="user" href="/features/personas" />

  <Card title="Focus Groups" icon="users" href="/features/focus-groups" />

  <Card title="Mave Agent" icon="brain" href="/features/mave-agent" />

  <Card title="Generate" icon="wand-magic-sparkles" href="/features/generate" />
</CardGroup>
