openapi: 3.1.0 info: version: 1.0.0 title: Ashby API Key Interview Event API description: The public API for accessing resources in your Ashby instance. contact: name: Ashby Support url: https://app.ashbyhq.com/support email: support@ashbyhq.com servers: - url: https://api.ashbyhq.com security: - BasicAuth: [] tags: - name: Interview Event paths: /interviewEvent.list: post: summary: interviewEvent.list operationId: interviewEventList description: 'Lists interview events associated with an interview schedule See the [Pagination and Incremental Synchronization](/docs/pagination-and-incremental-sync) guide for detailed usage examples. **Requires the [`interviewsRead`](authentication#permissions-intervieweventlist) permission.** ' tags: - Interview Event requestBody: content: application/json: schema: allOf: - $ref: '#/paths/~1opening.list/post/requestBody/content/application~1json/schema' - type: object additionalProperties: false properties: interviewScheduleId: allOf: - description: The unique ID of the interview schedule, for which to list interview events - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' expand: type: array description: "Choose to expand the result and include additional data for related objects. \n" items: type: string enum: - interview required: - interviewScheduleId responses: '200': description: Responses from the interviewEvent.list endpoint content: application/json: schema: oneOf: - title: Success response allOf: - $ref: '#/paths/~1job.list/post/responses/200/content/application~1json/schema/oneOf/0/allOf/0' - type: object properties: results: type: array items: type: object properties: id: allOf: - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - description: The interview event's id - example: 3ae2b801-19f6-41ef-ad28-214bd731948f interviewId: allOf: - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - description: The interview's id - example: ff6c7d9d-71e3-4c9c-88b1-28824980c276 interviewScheduleId: allOf: - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - description: The interview schedule's id - example: 9d34f544-c150-4d70-91c4-e8b0b4a72846 interviewerUserIds: type: array deprecated: true description: An array of the ids of all interviewers. Use the `interviewers` field instead for more detailed information. items: allOf: - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - description: An array of the ids of all interviewers - example: caea4d97-331d-46b1-a8e3-6b821c2214ef interviewers: type: array description: An array of user objects representing the interviewers on this event, including their training role and pool information. items: allOf: - $ref: '#/paths/~1user.info/post/responses/200/content/application~1json/schema/oneOf/0/allOf/1/properties/results' - type: object description: Represents an interviewer assigned to an InterviewEvent with their training role and pool information. properties: trainingRole: type: - string - 'null' description: "The training-related role of the interviewer for this specific event. \nReturns null when the interviewer is qualified for interviewing (or Interviewer Training is not enabled). \nSee [Ashby Knowledge Base](https://docs.ashbyhq.com/interviewer-training) for more information.\n" enum: - Shadow - Reverse-Shadow example: Shadow interviewerPool: anyOf: - $ref: '#/paths/~1interviewerPool.list/post/responses/200/content/application~1json/schema/oneOf/0/allOf/1/properties/results/items' - type: 'null' description: The interviewer pool this interviewer belongs to, if applicable. isFeedbackRequired: type: boolean description: Whether feedback is required from this interviewer for this specific event. required: - trainingRole - interviewerPool - isFeedbackRequired createdAt: allOf: - description: The time the interview event was created - $ref: '#/paths/~1candidate.addEmailMessage/post/requestBody/content/application~1json/schema/properties/sentAt/allOf/0' type: string updatedAt: allOf: - description: The time the interview event was last updated - $ref: '#/paths/~1candidate.addEmailMessage/post/requestBody/content/application~1json/schema/properties/sentAt/allOf/0' type: string startTime: allOf: - description: The time the interview event is scheduled to start - $ref: '#/paths/~1candidate.addEmailMessage/post/requestBody/content/application~1json/schema/properties/sentAt/allOf/0' type: string endTime: allOf: - description: The time the interview event is scheduled to end - $ref: '#/paths/~1candidate.addEmailMessage/post/requestBody/content/application~1json/schema/properties/sentAt/allOf/0' type: string feedbackLink: type: string format: uri example: https://app.ashbyhq.com/interview-briefings/4736b6d2-5c97-43a6-a7c6-0228bf079411/feedback description: The link to submit feedback for the interview event location: type: - string - 'null' description: The location of the interview example: Google Meet meetingLink: type: - string - 'null' format: uri description: A link to the virtual meeting (if the interview is being hosted virtually) interviewerCalendarEventId: type: - string - 'null' description: The external calendar event id for the interviewer's calendar event hasSubmittedFeedback: type: boolean description: Whether or not this interview has any feedback submitted interview: description: The interview associated with this event (only included if the expand parameter includes "interview") $ref: '#/paths/~1interview.info/post/responses/200/content/application~1json/schema/oneOf/0/allOf/1/properties/results' notetakerTranscriptId: allOf: - $ref: '#/paths/~1interviewerPool.addUser/post/requestBody/content/application~1json/schema/properties/userId' - description: The id of the AI notetaker transcript recording for this interview event, if one exists. Use with the notetakerTranscript.info endpoint to fetch transcript metadata and a download URL. This feature is in Beta. Contact us to enable transcript API access for your organization. type: - string - 'null' extraData: $ref: '#/paths/~1location.create/post/requestBody/content/application~1json/schema/properties/extraData' required: - id - interviewId - interviewScheduleId - interviewers - createdAt - updatedAt - startTime - endTime - feedbackLink - hasSubmittedFeedback required: - results - title: Error response $ref: '#/paths/~1report.generate/post/responses/429/content/application~1json/schema' components: securitySchemes: BasicAuth: type: http scheme: basic description: "Use HTTP Basic Auth to authenticate with our API. You must send your API key with every request. \nPut your API key as the basic auth username and leave the password blank.\n" WebhookSignature: type: apiKey in: header name: Ashby-Signature description: '[Optional] If you provide a secret token when configuring your webhook, this will be used to create a digest of the JSON payload sent with each webhook request. The digest will be included in the request under the `Ashby-Signature` http header. It will look like this: `Ashby-Signature: sha256=f3124911d2956f10aa3a49c43a88bdf13bba846e94f0ae2bd7c034f90239bd04` The part before the = indicates the algorithm that was used to compute the hash digest. '