Greenhouse · Capability

Greenhouse Harvest API — Jobs and Openings

Greenhouse Harvest API — Jobs, Openings, Job Posts, Job Stages, and Hiring Teams.

Greenhouse Harvest API — Jobs and Openings is a Naftiko capability published by Greenhouse, one of 11 capabilities the APIs.io network indexes for this provider. It bundles 7 operations.

The capability includes 5 read-only operations and 2 state-changing operations. Lead operation: List Jobs. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Greenhouse, Harvest, Jobs, and ATS.

Run with Naftiko GreenhouseHarvestJobsATS

MCP Tools

greenhouse-list-jobs

List Jobs

read-only idempotent
greenhouse-get-job

Retrieve Job

read-only idempotent
greenhouse-create-job

Create Job

greenhouse-update-job

Update Job

idempotent
greenhouse-list-openings

List Openings

read-only idempotent
greenhouse-list-job-posts

List Job Posts

read-only idempotent
greenhouse-list-job-stages

List Job Stages

read-only idempotent

Capability Spec

harvest-jobs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Greenhouse Harvest API — Jobs and Openings
  description: 'Greenhouse Harvest API — Jobs, Openings, Job Posts, Job Stages, and Hiring Teams.'
  tags:
  - Greenhouse
  - Harvest
  - Jobs
  - ATS
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    GREENHOUSE_HARVEST_API_KEY: GREENHOUSE_HARVEST_API_KEY
capability:
  consumes:
  - type: http
    namespace: harvest-jobs
    baseUri: https://harvest.greenhouse.io/v1
    description: Greenhouse Harvest jobs surface.
    resources:
    - name: jobs
      path: /jobs
      operations:
      - name: listjobs
        method: GET
        description: List Jobs
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
      - name: createjob
        method: POST
        description: Create Job
        inputParameters: [ { name: body, in: body, type: object, required: true } ]
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
    - name: jobs-id
      path: /jobs/{id}
      operations:
      - name: getjob
        method: GET
        description: Retrieve Job
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
      - name: updatejob
        method: PATCH
        description: Update Job
        inputParameters: [ { name: body, in: body, type: object, required: true } ]
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
    - name: openings
      path: /openings
      operations:
      - name: listopenings
        method: GET
        description: List Openings
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
      - name: createopening
        method: POST
        description: Create Opening
        inputParameters: [ { name: body, in: body, type: object, required: true } ]
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
    - name: job-posts
      path: /job_posts
      operations:
      - name: listjobposts
        method: GET
        description: List Job Posts
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
    - name: job-stages
      path: /job_stages
      operations:
      - name: listjobstages
        method: GET
        description: List Job Stages
        outputRawFormat: json
        outputParameters: [ { name: result, type: object, value: $. } ]
    authentication:
      type: basic
      username: '{{env.GREENHOUSE_HARVEST_API_KEY}}'
      password: ''
  exposes:
  - type: mcp
    namespace: harvest-jobs-mcp
    port: 9090
    transport: http
    tools:
    - name: greenhouse-list-jobs
      description: List Jobs
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: harvest-jobs.listjobs
      outputParameters: [ { type: object, mapping: $. } ]
    - name: greenhouse-get-job
      description: Retrieve Job
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: harvest-jobs.getjob
      outputParameters: [ { type: object, mapping: $. } ]
    - name: greenhouse-create-job
      description: Create Job
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: harvest-jobs.createjob
      with: { body: tools.body }
      outputParameters: [ { type: object, mapping: $. } ]
    - name: greenhouse-update-job
      description: Update Job
      hints: { readOnly: false, destructive: false, idempotent: true }
      call: harvest-jobs.updatejob
      with: { body: tools.body }
      outputParameters: [ { type: object, mapping: $. } ]
    - name: greenhouse-list-openings
      description: List Openings
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: harvest-jobs.listopenings
      outputParameters: [ { type: object, mapping: $. } ]
    - name: greenhouse-list-job-posts
      description: List Job Posts
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: harvest-jobs.listjobposts
      outputParameters: [ { type: object, mapping: $. } ]
    - name: greenhouse-list-job-stages
      description: List Job Stages
      hints: { readOnly: true, destructive: false, idempotent: true }
      call: harvest-jobs.listjobstages
      outputParameters: [ { type: object, mapping: $. } ]