openapi: 3.1.0 info: version: 1.0.0 title: Ashby API Key Hiring Team API description: Complete public API for accessing resources in your Ashby instance. Includes applications, candidates, jobs, interviews, offers, surveys, custom fields, organization metadata, files, reports, approvals, and webhooks. contact: name: Ashby Support url: https://app.ashbyhq.com/support email: support@ashbyhq.com servers: - url: https://api.ashbyhq.com security: - BasicAuth: [] tags: - name: Hiring Team paths: /hiringTeam.addMember: post: summary: hiringTeam.addMember description: "Adds an Ashby user to the hiring team at the application or job-level. \n\n**Requires the [`organizationWrite`](authentication#permissions-hiringteamaddmember) permission.**\n\nHiring team members can be added to a hiring team at the application, job, or opening level. \n" operationId: hiringteamaddmember tags: - Hiring Team requestBody: content: application/json: schema: oneOf: - type: object title: Application-level required: - applicationId - teamMemberId - roleId properties: applicationId: allOf: - description: The application to assign the user a role on. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' teamMemberId: allOf: - description: The id of the user to assign the role to. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' roleId: allOf: - description: The id of the hiring team role to assign. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - type: object title: Job-level required: - jobId - teamMemberId - roleId properties: jobId: allOf: - description: The job to assign the user a role on. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' teamMemberId: allOf: - description: The id of the user to assign the role to. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' roleId: allOf: - description: The id of the hiring team role to assign. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - type: object title: Opening-level required: - openingId - teamMemberId - roleId properties: openingId: allOf: - description: The opening to assign the user a role on. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' teamMemberId: allOf: - description: The id of the user to assign the role to. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' roleId: allOf: - description: The id of the hiring team role to assign. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' responses: '200': description: Responses for the hiringTeam.addMember endpoint content: application/json: schema: oneOf: - title: Success response allOf: - $ref: '#/paths/~1job.info/post/responses/200/content/application~1json/schema/oneOf/0/allOf/0' - type: object properties: results: type: object properties: email: $ref: '#/paths/~1candidate.create/post/requestBody/content/application~1json/schema/properties/email/allOf/0' firstName: type: string example: Joey lastName: type: string example: Joe role: type: string example: Hiring Manager userId: $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' required: - userId - firstName - lastName - email - role required: - results - title: Error response $ref: '#/paths/~1report.generate/post/responses/429/content/application~1json/schema' /hiringTeam.removeMember: post: summary: hiringTeam.removeMember description: "Removes an Ashby user from the hiring team at the application or job-level. \n\n**Requires the [`organizationWrite`](authentication#permissions-hiringteamremovemember) permission.**\n\nHiring team members can be removed from a hiring team at the application, job, or opening level. \n" operationId: hiringteamremovemember tags: - Hiring Team requestBody: content: application/json: schema: oneOf: - type: object title: Application-level required: - applicationId - teamMemberId - roleId properties: applicationId: allOf: - description: The application to unassign the user a role from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' teamMemberId: allOf: - description: The id of the user to unassign the role from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' roleId: allOf: - description: The id of the hiring team role to unassign from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - type: object title: Job-level required: - jobId - teamMemberId - roleId properties: jobId: allOf: - description: The job to unassign the user a role from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' teamMemberId: allOf: - description: The id of the user to unassign the role from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' roleId: allOf: - description: The id of the hiring team role to unassign from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - type: object title: Opening-level required: - openingId - teamMemberId - roleId properties: openingId: allOf: - description: The opening to unassign the user a role from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' teamMemberId: allOf: - description: The id of the user to unassign the role from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' roleId: allOf: - description: The id of the hiring team role to unassign from. - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' responses: '200': description: Responses for the hiringTeam.removeMember endpoint content: application/json: schema: oneOf: - title: Success response allOf: - $ref: '#/paths/~1job.info/post/responses/200/content/application~1json/schema/oneOf/0/allOf/0' - type: object properties: results: $ref: '#/paths/~1hiringTeam.addMember/post/responses/200/content/application~1json/schema/oneOf/0/allOf/1/properties/results' required: - results - title: Error response $ref: '#/paths/~1report.generate/post/responses/429/content/application~1json/schema' components: securitySchemes: BasicAuth: type: http scheme: basic description: HTTP Basic Auth. Send your Ashby API key as the username and leave the password blank. WebhookSignature: type: apiKey in: header name: Ashby-Signature description: HMAC-SHA256 signature of the webhook payload, used to verify webhook authenticity.