---
title: "PUT /configuration-templates"
method: PUT
path: "/configuration-templates"
tags: ["configuration-templates"]
---

# PUT /configuration-templates

`PUT /configuration-templates`

Update a configuration template.

## Request body

- UpdateConfigurationTemplateInfo — # UpdateConfigurationTemplateInfo Object ### Description The `ConfigurationTemplate` object is used to represent an update to a configuration template. ### Usage Example Use in the `PUT Configuration Templates` endpoint.
  - `configuration_template_id` string, uuid, required — The ID of the configuration template.
  - `name` string — The name of the configuration template.
  - `admin_owner_id` string, uuid — The ID of the owner of the configuration template.
  - `visibility` VisibilityInfo — Visibility infomation of an entity.
    - `visibility` 'GLOBAL' | 'LIMITED', required — The visibility level of the entity.
    - `visibility_group_ids` string[]
  - `linked_audit_message_channel_ids` string[] — The IDs of the audit message channels linked to the configuration template.
  - `request_configurations` RequestConfiguration[] — The request configuration list linked to the configuration template.
    - `condition` Condition — # Condition Object ### Description The `Condition` object is used to represent a condition. ### Usage Example Used to match request configurations to users in `RequestConfiguration`
      - `group_ids` string[] — The list of group IDs to match.
      - `role_remote_ids` string[] — The list of role remote IDs to match.
    - `allow_requests` boolean, required — A bool representing whether or not to allow requests for this resource.
    - `auto_approval` boolean, required — A bool representing whether or not to automatically approve requests for this resource.
    - `require_mfa_to_request` boolean, required — A bool representing whether or not to require MFA for requesting access to this resource.
    - `max_duration_minutes` integer — The maximum duration for which the resource can be requested (in minutes).
    - `recommended_duration_minutes` integer — The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration.
    - `require_support_ticket` boolean, required — A bool representing whether or not access requests to the resource require an access ticket.
    - `extensions_duration_in_minutes` integer — The duration for which access can be extended (in minutes). Set to 0 to disable extensions. When > 0, extensions are enabled for the specified duration.
    - `request_template_id` string, uuid — The ID of the associated request template.
    - `reviewer_stages` ReviewerStage[] — The list of reviewer stages for the request configuration.
      - `require_manager_approval` boolean, required — Whether this reviewer stage should require manager approval.
      - `require_admin_approval` boolean — Whether this reviewer stage should require admin approval.
      - `operator` 'AND' | 'OR', required — The operator of the reviewer stage. Admin and manager approval are also treated as reviewers.
      - `owner_ids` string[], required — The IDs of owners assigned as reviewers for this stage.
      - `service_user_ids` string[] — The IDs of service users assigned as reviewers for this stage.
    - `priority` integer, required — The priority of the request configuration.
  - `request_configuration_list` CreateRequestConfigurationInfoList — # CreateRequestConfigurationInfoList Object ### Description The `CreateRequestConfigurationInfoList` object is used as an input to the CreateRequestConfigurations API. ### Formatting Requirements The `CreateRequestConfigurationInfoList` object must contain a list of `RequestConfiguration` objects. Exactly one default `RequestConfiguration` must be provided. A default `RequestConfiguration` is one with a `condition` of `null` and a `priority` of `0`. The default `RequestConfiguration` will be used when no other `RequestConfiguration` matches the request. Only one `RequestConfiguration` may be provided for each priority, and the priorities must be contiguous. For example, if there are two `RequestConfigurations` with priorities 0 and 2, there must be a `RequestConfiguration` with priority 1. To use the `condition` field, the `condition` must be a valid JSON object. The `condition` must be a JSON object with the key `group_ids` (more options may be added in the future), whose value is a list of group IDs. The `condition` will match if the user requesting access is a member of any of the groups in the list. Currently, we only support using a single group as a condition.
    - `request_configurations` RequestConfiguration[], required — A list of request configurations to create.
      - `condition` Condition — # Condition Object ### Description The `Condition` object is used to represent a condition. ### Usage Example Used to match request configurations to users in `RequestConfiguration`
        - `group_ids` string[] — The list of group IDs to match.
        - `role_remote_ids` string[] — The list of role remote IDs to match.
      - `allow_requests` boolean, required — A bool representing whether or not to allow requests for this resource.
      - `auto_approval` boolean, required — A bool representing whether or not to automatically approve requests for this resource.
      - `require_mfa_to_request` boolean, required — A bool representing whether or not to require MFA for requesting access to this resource.
      - `max_duration_minutes` integer — The maximum duration for which the resource can be requested (in minutes).
      - `recommended_duration_minutes` integer — The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration.
      - `require_support_ticket` boolean, required — A bool representing whether or not access requests to the resource require an access ticket.
      - `extensions_duration_in_minutes` integer — The duration for which access can be extended (in minutes). Set to 0 to disable extensions. When > 0, extensions are enabled for the specified duration.
      - `request_template_id` string, uuid — The ID of the associated request template.
      - `reviewer_stages` ReviewerStage[] — The list of reviewer stages for the request configuration.
        - `require_manager_approval` boolean, required — Whether this reviewer stage should require manager approval.
        - `require_admin_approval` boolean — Whether this reviewer stage should require admin approval.
        - `operator` 'AND' | 'OR', required — The operator of the reviewer stage. Admin and manager approval are also treated as reviewers.
        - `owner_ids` string[], required — The IDs of owners assigned as reviewers for this stage.
        - `service_user_ids` string[] — The IDs of service users assigned as reviewers for this stage.
      - `priority` integer, required — The priority of the request configuration.
  - `member_oncall_schedule_ids` string[] — The IDs of the on-call schedules linked to the configuration template.
  - `break_glass_user_ids` string[] — The IDs of the break glass users linked to the configuration template.
  - `require_mfa_to_approve` boolean — A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template.
  - `require_mfa_to_connect` boolean — A bool representing whether or not to require MFA to connect to resources associated with this configuration template.
  - `ticket_propagation` TicketPropagationConfiguration — Configuration for ticket propagation, when enabled, a ticket will be created for access changes related to the users in this resource.
    - `enabled_on_grant` boolean, required
    - `enabled_on_revocation` boolean, required
    - `ticket_provider` 'JIRA' | 'LINEAR' | 'SERVICE_NOW' — The third party ticketing platform provider.
    - `ticket_project_id` string
  - `custom_request_notification` string, nullable — Custom request notification sent upon request approval for this configuration template.

## Response `200`

The configuration template just updated.

- ConfigurationTemplate — # Configuration Template Object ### Description The `ConfigurationTemplate` object is used to represent a configuration template. ### Usage Example Returned from the `GET Configuration Templates` endpoint.
  - `configuration_template_id` string, uuid — The ID of the configuration template.
  - `name` string — The name of the configuration template.
  - `admin_owner_id` string, uuid — The ID of the owner of the configuration template.
  - `visibility` VisibilityInfo — Visibility infomation of an entity.
    - `visibility` 'GLOBAL' | 'LIMITED', required — The visibility level of the entity.
    - `visibility_group_ids` string[]
  - `linked_audit_message_channel_ids` string[] — The IDs of the audit message channels linked to the configuration template.
  - `request_configuration_id` string, uuid — The ID of the request configuration linked to the configuration template.
  - `member_oncall_schedule_ids` string[] — The IDs of the on-call schedules linked to the configuration template.
  - `break_glass_user_ids` string[] — The IDs of the break glass users linked to the configuration template.
  - `require_mfa_to_approve` boolean — A bool representing whether or not to require MFA for reviewers to approve requests for this configuration template.
  - `require_mfa_to_connect` boolean — A bool representing whether or not to require MFA to connect to resources associated with this configuration template.
  - `ticket_propagation` TicketPropagationConfiguration — Configuration for ticket propagation, when enabled, a ticket will be created for access changes related to the users in this resource.
    - `enabled_on_grant` boolean, required
    - `enabled_on_revocation` boolean, required
    - `ticket_provider` 'JIRA' | 'LINEAR' | 'SERVICE_NOW' — The third party ticketing platform provider.
    - `ticket_project_id` string
  - `custom_request_notification` string, nullable — Custom request notification sent upon request approval for this configuration template.

---

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