Update an interview template
BetaUpdate an existing interview template. Send at least one field. `basePrompt` is visible in responses but is not accepted as input. Sending `description` regenerates `basePrompt`, template sections, and whiteboard tasks synchronously through the internal generation flow. LLM calls time out after 15 seconds, and a request that has already spent 20 seconds before persistence returns a retryable `503` without starting the template update. `whiteboardEnabled` is accepted only together with `description`; when omitted, regeneration keeps the template's persisted whiteboard setting. Discovery templates reject `whiteboardEnabled: true`. Concurrent template edits are serialized; callers may receive a retryable `409` while another template mutation holds the lifecycle fence.
List interview templates GET
Return the interview templates available to your organization. List items are metadata-only: `id`, `name`, `createdAt`, `updatedAt`, and `isActive`. Both active and inactive templates are returned; legacy templates without a persisted status are returned with `isActive: false`.
Create a candidate interview invitation POST
Create or renew an invitation for an active template. Idempotent for the same organization, candidate email, and template.