openapi: 3.1.0 info: title: Greenhouse Assessment Partner ActivityFeed Departments 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: Departments description: Organizational departments. paths: /departments: get: tags: - Departments summary: List Departments operationId: listDepartments responses: '200': description: Departments. content: application/json: schema: type: array items: $ref: '#/components/schemas/Department' 4XX: $ref: '#/components/responses/ErrorResponse' post: tags: - Departments summary: Create Department operationId: createDepartment parameters: - $ref: '#/components/parameters/OnBehalfOf' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Department' responses: '201': description: Created. 4XX: $ref: '#/components/responses/ErrorResponse' /departments/{id}: parameters: - $ref: '#/components/parameters/Id' get: tags: - Departments summary: Retrieve Department operationId: getDepartment responses: '200': description: Department. content: application/json: schema: $ref: '#/components/schemas/Department' 4XX: $ref: '#/components/responses/ErrorResponse' patch: tags: - Departments summary: Update Department operationId: updateDepartment parameters: - $ref: '#/components/parameters/OnBehalfOf' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Department' responses: '200': description: Updated. 4XX: $ref: '#/components/responses/ErrorResponse' components: parameters: Id: name: id in: path required: true schema: type: integer OnBehalfOf: name: On-Behalf-Of in: header required: false description: The ID of the Greenhouse user the request is being made on behalf of. schema: type: integer responses: ErrorResponse: description: Error response. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Department: type: object properties: id: type: integer name: type: string parent_id: type: integer nullable: true parent_department_external_id: type: string nullable: true child_ids: type: array items: type: integer external_id: type: string nullable: true 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).