---
title: "PUT /resources"
method: PUT
path: "/resources"
tags: ["resources"]
---

# PUT /resources

`PUT /resources`

Bulk updates a list of resources.

## Request body

- UpdateResourceInfoList
  - `resources` UpdateResourceInfo[], required — A list of resources with information to update.
    - `resource_id` string, uuid, required — The ID of the resource.
    - `name` string — The name of the resource.
    - `description` string — A description of the resource.
    - `admin_owner_id` string, uuid — The ID of the owner of the resource.
    - `max_duration` integer — The maximum duration for which the resource can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`.
    - `recommended_duration` integer — The recommended duration for which the resource should be requested (in minutes). Will be the default value in a request. Use -1 to set to indefinite and 0 to unset. Deprecated in favor of `request_configurations`.
    - `require_manager_approval` boolean — A bool representing whether or not access requests to the resource require manager approval.
    - `require_support_ticket` boolean — A bool representing whether or not access requests to the resource require an access ticket. Deprecated in favor of `request_configurations`.
    - `folder_id` string, uuid — The ID of the folder that the resource is located in.
    - `require_mfa_to_approve` boolean — A bool representing whether or not to require MFA for reviewers to approve requests for this resource.
    - `require_mfa_to_request` boolean — A bool representing whether or not to require MFA for requesting access to this resource. Deprecated in favor of `request_configurations`.
    - `require_mfa_to_connect` boolean — A bool representing whether or not to require MFA to connect to this resource.
    - `auto_approval` boolean — A bool representing whether or not to automatically approve requests to this resource. Deprecated in favor of `request_configurations`.
    - `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.
    - `risk_sensitivity_override` 'UNKNOWN' | 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE' — Indicates the level of potential impact misuse or unauthorized access may incur.
    - `match_remote_name` boolean — A bool representing whether or not the resource's name should be synced from the end system. When true, the name is overwritten with the remote name on each sync, so a `name` provided together with this field set to true will be replaced at the next sync. If not provided, the current value is left unchanged.
    - `match_remote_description` boolean — A bool representing whether or not the resource's description should be synced from the end system. When true, the description is overwritten with the remote description on each sync, so a `description` provided together with this field set to true will be replaced at the next sync. If not provided, the current value is left unchanged.
    - `configuration_template_id` string, uuid — The ID of the associated configuration template.
    - `request_template_id` string, uuid — The ID of the associated request template. Deprecated in favor of `request_configurations`.
    - `is_requestable` boolean — A bool representing whether or not to allow access requests to this resource. Deprecated in favor of `request_configurations`.
    - `extensions_duration_in_minutes` integer — The duration for which access can be extended (in minutes). Deprecated, set the extension duration in the request_configuration you want it to apply to.
    - `parent_resource_id` string, uuid, nullable — The ID of the parent resource.
    - `request_configurations` RequestConfiguration[] — A list of configurations for requests to this resource. If not provided, the default request configuration will be used.
      - `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.

## Response `200`

The resulting updated resource infos.

- UpdateResourceInfoList
  - `resources` UpdateResourceInfo[], required — A list of resources with information to update.
    - `resource_id` string, uuid, required — The ID of the resource.
    - `name` string — The name of the resource.
    - `description` string — A description of the resource.
    - `admin_owner_id` string, uuid — The ID of the owner of the resource.
    - `max_duration` integer — The maximum duration for which the resource can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`.
    - `recommended_duration` integer — The recommended duration for which the resource should be requested (in minutes). Will be the default value in a request. Use -1 to set to indefinite and 0 to unset. Deprecated in favor of `request_configurations`.
    - `require_manager_approval` boolean — A bool representing whether or not access requests to the resource require manager approval.
    - `require_support_ticket` boolean — A bool representing whether or not access requests to the resource require an access ticket. Deprecated in favor of `request_configurations`.
    - `folder_id` string, uuid — The ID of the folder that the resource is located in.
    - `require_mfa_to_approve` boolean — A bool representing whether or not to require MFA for reviewers to approve requests for this resource.
    - `require_mfa_to_request` boolean — A bool representing whether or not to require MFA for requesting access to this resource. Deprecated in favor of `request_configurations`.
    - `require_mfa_to_connect` boolean — A bool representing whether or not to require MFA to connect to this resource.
    - `auto_approval` boolean — A bool representing whether or not to automatically approve requests to this resource. Deprecated in favor of `request_configurations`.
    - `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.
    - `risk_sensitivity_override` 'UNKNOWN' | 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'NONE' — Indicates the level of potential impact misuse or unauthorized access may incur.
    - `match_remote_name` boolean — A bool representing whether or not the resource's name should be synced from the end system. When true, the name is overwritten with the remote name on each sync, so a `name` provided together with this field set to true will be replaced at the next sync. If not provided, the current value is left unchanged.
    - `match_remote_description` boolean — A bool representing whether or not the resource's description should be synced from the end system. When true, the description is overwritten with the remote description on each sync, so a `description` provided together with this field set to true will be replaced at the next sync. If not provided, the current value is left unchanged.
    - `configuration_template_id` string, uuid — The ID of the associated configuration template.
    - `request_template_id` string, uuid — The ID of the associated request template. Deprecated in favor of `request_configurations`.
    - `is_requestable` boolean — A bool representing whether or not to allow access requests to this resource. Deprecated in favor of `request_configurations`.
    - `extensions_duration_in_minutes` integer — The duration for which access can be extended (in minutes). Deprecated, set the extension duration in the request_configuration you want it to apply to.
    - `parent_resource_id` string, uuid, nullable — The ID of the parent resource.
    - `request_configurations` RequestConfiguration[] — A list of configurations for requests to this resource. If not provided, the default request configuration will be used.
      - `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.

---

[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)
