naftiko: 1.0.0-alpha2 info: label: Greenhouse Harvest API — Scheduled Interviews and Scorecards description: 'Greenhouse Harvest API — Scheduled Interviews and Scorecards. Read, create, update, and delete scheduled interviews, retrieve scorecards submitted by interviewers.' tags: - Greenhouse - Harvest - Interviews - Scorecards - 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-interviews baseUri: https://harvest.greenhouse.io/v1 description: Interview scheduling and scorecards. resources: - name: scheduled-interviews path: /scheduled_interviews operations: - name: listinterviews method: GET description: List Scheduled Interviews outputRawFormat: json outputParameters: [ { name: result, type: object, value: $. } ] - name: createinterview method: POST description: Create Scheduled Interview inputParameters: [ { name: body, in: body, type: object, required: true } ] outputRawFormat: json outputParameters: [ { name: result, type: object, value: $. } ] - name: scheduled-interviews-id path: /scheduled_interviews/{id} operations: - name: getinterview method: GET description: Retrieve Scheduled Interview outputRawFormat: json outputParameters: [ { name: result, type: object, value: $. } ] - name: updateinterview method: PATCH description: Update Scheduled Interview inputParameters: [ { name: body, in: body, type: object, required: true } ] outputRawFormat: json outputParameters: [ { name: result, type: object, value: $. } ] - name: deleteinterview method: DELETE description: Delete Scheduled Interview outputRawFormat: json outputParameters: [ { name: result, type: object, value: $. } ] - name: scorecards path: /scorecards operations: - name: listscorecards method: GET description: List Scorecards outputRawFormat: json outputParameters: [ { name: result, type: object, value: $. } ] - name: scorecards-id path: /scorecards/{id} operations: - name: getscorecard method: GET description: Retrieve Scorecard outputRawFormat: json outputParameters: [ { name: result, type: object, value: $. } ] authentication: type: basic username: '{{env.GREENHOUSE_HARVEST_API_KEY}}' password: '' exposes: - type: mcp namespace: harvest-interviews-mcp port: 9090 transport: http tools: - name: greenhouse-list-scheduled-interviews description: List Scheduled Interviews hints: { readOnly: true, destructive: false, idempotent: true } call: harvest-interviews.listinterviews outputParameters: [ { type: object, mapping: $. } ] - name: greenhouse-create-scheduled-interview description: Create Scheduled Interview hints: { readOnly: false, destructive: false, idempotent: false } call: harvest-interviews.createinterview with: { body: tools.body } outputParameters: [ { type: object, mapping: $. } ] - name: greenhouse-update-scheduled-interview description: Update Scheduled Interview hints: { readOnly: false, destructive: false, idempotent: true } call: harvest-interviews.updateinterview with: { body: tools.body } outputParameters: [ { type: object, mapping: $. } ] - name: greenhouse-delete-scheduled-interview description: Delete Scheduled Interview hints: { readOnly: false, destructive: true, idempotent: true } call: harvest-interviews.deleteinterview outputParameters: [ { type: object, mapping: $. } ] - name: greenhouse-list-scorecards description: List Scorecards hints: { readOnly: true, destructive: false, idempotent: true } call: harvest-interviews.listscorecards outputParameters: [ { type: object, mapping: $. } ] - name: greenhouse-get-scorecard description: Retrieve Scorecard hints: { readOnly: true, destructive: false, idempotent: true } call: harvest-interviews.getscorecard outputParameters: [ { type: object, mapping: $. } ]