---
title: "Update interview template."
method: PUT
path: "/templates/{id}"
tags: ["interview-templates"]
---

# Update interview template.

`PUT /templates/{id}`

Update interview template.

## Path parameters

- `id` string, uuid, required

## Request body

- InterviewTemplateUpdateRequest
  - `templateName` string, required — Template name
  - `templateType` 'INDIVIDUAL' | 'GROUP', required — Template type
  - `hiringStage` string — Preferred hiring stage to which the template applies
  - `hiringStep` string — Preferred hiring step to which the template applies
  - `customHiringStep` boolean — Indicates that this is a custom hiring step and can be applied to any step
  - `privateInterview` boolean, required — Flag indicating whether the interview invitation is private
  - `hiringTeamRoleToInterviewerCount` object, required — Required number of interviewers for given hiring team roles
  - `invitations` InvitationUpdateExternal[], required — List of interview invitations
    - `email` EmailInvitationInputExternal, required — Email invitation update
      - `subject` string, required — Email subject
      - `content` string, required — Email content
      - `bccEmployeeIds` string[] — List of employees who will receive a copy of this invitation
    - `sms` SmsInvitationInputExternal — Sms invitation update
      - `content` string, required — Invitation content
      - `confirmationMessage` string, required — Confirmation message
    - `whatsApp` WhatsAppInvitationInputExternal — WhatsApp invitation update
      - `enabled` boolean, required — WhatsApp invitation enabled?
    - `language` string — Invitation language
    - `repeat` RepeatInputExternalDto — Repeat invitation configuration update
      - `intervalInMinutes` integer — Time between invitations resends in minutes. Maximum value is 4320 minutes (3 days).
      - `count` integer — Number of times that invitation will be sent again. Maximum value is 5.
  - `reminders` ReminderRequestExternal[] — List containing interview reminders configuration
    - `channel` 'SMS' | 'WHATS_APP' | 'EMAIL', required — Communication method for the reminder to be sent.
    - `advanceTimes` integer[] — List of delivery times indicating how many times and how many minutes before the interview the reminder should be sent.
    - `language` string — Language in which the reminder message has been written.
    - `message` ReminderMessageInputExternal — Content of the reminder message. Applies only to Sms and Email reminders. WhatsApp reminders uses predefined templates which cannot be customised.
      - `content` string, required — Content of the reminder.
  - `slotSetup` SlotSetupRequestExternal, required — Slot setup view
    - `ignoreInterviewersAvailability` boolean — Indicates whether to ignore interviewers' availability when scheduling slots.
    - `varied` object — A map of days of the week to lists of varied slot items.
    - `uniform` SlotItemUniformSetupRequestExternal — Uniform slot setup input, if applicable.
      - `durationInMinutes` integer, required — Indicates whether to ignore interviewers' availability when scheduling this slot.
      - `format` 'ONSITE_JOB' | 'ONSITE' | 'PHONE' | 'VIDEO' | 'VIDEO_CALENDAR' | 'VIDEO_MEETING_ZOOM' | 'OTHER', required — The maximum number of slots that can be created for this setup.
      - `location` string — Location details for the slot, if applicable.
      - `zoomHostId` string — Zoom host ID for the slot, if applicable.
      - `organizerId` string, required — Organizer ID for the slot, if applicable.

## Response `200`

Successfully updated interview template.

- InterviewTemplateDetails
  - `templateId` string, uuid — Template id
  - `templateName` string — Template name
  - `templateType` 'INDIVIDUAL' | 'GROUP' — Template type
  - `hiringStage` string — Preferred hiring stage to which the template applies
  - `hiringStep` string — Preferred hiring step to which the template applies
  - `customHiringStep` boolean — Custom Hiring step
  - `privateInterview` boolean — Flag indicating whether the interview invitation is private
  - `hiringTeamRoleToInterviewerCount` object — Required number of interviewers for given hiring team roles
  - `invitations` InvitationExternal[] — List containing interview invitations
    - `email` EmailInvitationExternal — Email invitation
      - `subject` string — Email subject
      - `content` string — Email content
      - `bccEmployeeIds` string[] — List of employees who will receive a copy of this invitation
    - `sms` SmsInvitationExternal — Sms invitation
      - `content` string — Invitation content
      - `confirmationMessage` string — Confirmation message
    - `whatsApp` WhatsAppInvitationExternal — WhatsApp invitation
      - `enabled` boolean — WhatsApp invitation enabled?
    - `language` string — The language the invitation will be translated into
    - `repeat` RepeatExternalDto — Repeat invitation configuration
      - `intervalInMinutes` integer — Time between invitations resends in minutes. Maximum value is 4320 minutes (3 days).
      - `count` integer — Number of times that invitation will be sent again. Maximum value is 5.
  - `reminders` ReminderExternal[] — List containing interview reminders
    - `reminderChannel` 'SMS' | 'WHATS_APP' | 'EMAIL' — Communication method for the reminder to be sent.
    - `advanceTimes` integer[] — List of delivery times indicating how many times and how many minutes before the interview the reminder should be sent.
    - `message` ReminderMessageExternal — Content of the reminder message. Applies only to Sms and Email reminders. WhatsApp reminders uses predefined templates which are resolved just before sending them to candidates.
      - `subject` string — Subject of the reminder. Applies only to email reminders.
      - `content` string — Content of the reminder.
      - `bccEmployeeIds` string[] — List of employees who will receive a copy of this reminder
    - `language` string — Language in which the reminder message has been written.
  - `slotSetup` SlotSetupExternal — Slot setup view
    - `ignoreInterviewersAvailability` boolean, required — Ignore Interviewers Availability
    - `varied` object — Varied time slots setup
    - `uniform` SlotItemUniformSetupExternal — Uniform slot setup
      - `durationInMinutes` integer — Duration of the interview
      - `format` 'ONSITE_JOB' | 'ONSITE' | 'PHONE' | 'VIDEO' | 'VIDEO_CALENDAR' | 'VIDEO_MEETING_ZOOM' | 'OTHER' — Format of the interview
      - `location` string — Location of the interview
      - `zoomHostId` string — Identifier of the user being the zoom interview host
      - `organizerId` string — Identifier of the user being the zoom interview organizer
  - `isDefault` boolean — Flag indicating whether the template is one of the predefined ones

## Other responses

- `400` — Invalid input.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Group Interview not found.

---

[API](https://skmtc.net/smartrecruiters/apis/apply-api.md) · [All operations](https://skmtc.net/smartrecruiters/apis/apply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smartrecruiters/apply-api/revisions/449bdc2516c9/schema)
