Greenhouse JobStages API

The interview/pipeline stages a job uses.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

greenhouse-io-jobstages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Greenhouse Assessment Partner ActivityFeed JobStages API
  description: 'The Assessment Partner API defines the contract that assessment vendors implement so

    Greenhouse can list available tests, send a test to a candidate, and retrieve the

    candidate''s results. Endpoints are hosted by the partner (not Greenhouse) and are

    secured with HTTP Basic over HTTPS. Greenhouse may also receive PATCH callbacks from

    the partner with completed test status; otherwise it polls `test_status` hourly for

    up to 8 weeks. API keys must be fewer than 171 characters.

    '
  version: 1.0.0
  contact:
    name: Greenhouse Software
    url: https://www.greenhouse.com
    email: developers@greenhouse.io
servers:
- url: https://{partner_host}/{base_path}
  description: Partner-hosted endpoint
  variables:
    partner_host:
      default: partner.example.com
    base_path:
      default: greenhouse-assessment
security:
- BasicAuth: []
tags:
- name: JobStages
  description: The interview/pipeline stages a job uses.
paths:
  /job_stages:
    get:
      tags:
      - JobStages
      summary: List Job Stages
      operationId: listJobStages
      responses:
        '200':
          description: Job stages.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobStage'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
  /job_stages/{id}:
    get:
      tags:
      - JobStages
      summary: Retrieve Job Stage
      operationId: getJobStage
      parameters:
      - $ref: '#/components/parameters/Id'
      responses:
        '200':
          description: Job stage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobStage'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
  /jobs/{job_id}/stages:
    get:
      tags:
      - JobStages
      summary: List Job Stages For Job
      operationId: listJobStagesForJob
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Stages.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobStage'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
components:
  responses:
    ErrorResponse:
      description: Error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    Id:
      name: id
      in: path
      required: true
      schema:
        type: integer
  schemas:
    JobStage:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        priority:
          type: integer
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        interviews:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
              name:
                type: string
    Error:
      type: object
      properties:
        message:
          type: string
        errors:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic; the API key is Base64-encoded and used as the username (key must be <171 chars).