{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Opal Security Docs","colors":{"primary":"#0C7997","light":"#EDFCFC","dark":"#074055"},"logo":{"light":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd","dark":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=1774b545e4f1c5cad647f5194f7b26d9"},"favicon":{"light":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-black.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=9c8bd1204b6b5b83542c2ab5be549858","dark":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-white.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=73b53b4ceab6ae0b00e30b2042a6020a"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"integrations":{"ga4":{"measurementId":"G-1PPPM1WF6D"}},"errors":{"404":{"redirect":false,"title":"Page can't be found","description":"Sorry! This page might have been moved, or the link might be broken. Go back to our documentation via https://docs.opal.dev/docs/welcome."}},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opalsecurity","hasAudioNarration":false,"actualSubdomain":"opalsecurity","customDomains":["docs.opal.dev"],"gitSource":{"type":"github","owner":"opalsecurity","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae53a3b88b90693e911fadb","collectionId":"58745dd4-af12-4aee-a56b-e01162c67c8c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae53a3b88b90693e911fadb"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae53a3b88b90693e911fadb","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":212},{"language":"default","tag":"Opal API","count":207},{"language":"default","tag":"Documentation","count":99},{"language":"default","tag":"Integrations","count":94},{"language":"default","tag":"Entitlement Management","count":63},{"language":"default","tag":"resources","count":34},{"language":"default","tag":"groups","count":32},{"language":"default","tag":"Getting Started","count":25},{"language":"default","tag":"Access Management","count":22},{"language":"default","tag":"Infrastructure","count":22}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@opal.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/resources/put-resources","slug":"/api-reference/resources/put-resources","pageMetadata":{"title":"Put resources","description":"Bulk updates a list of resources.","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources","href":"/api-reference/resources/put-resources","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Bulk updates a list of resources.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Put resources","description":"Bulk updates a list of resources.","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources","href":"/api-reference/resources/put-resources","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/opalsecurity/d0e14c3cf9bbd682/changelog-scraper.js"],"openApiReferenceData":{"operation":{"description":"Bulk updates a list of resources.","operationId":"updateResources","requestBody":"797417f7-681f-4f99-9d73-a58c4c69543f","responses":{"200":"3a04aca4-2d76-49af-8753-2c089e773ff5"},"security":["7443ed1e-25d3-4fcc-8eb1-41a5698c35bd"],"tags":["resources"],"method":"put","type":"path","servers":["eede27a1-273e-429e-8894-5fea991f83c7"],"path":"/resources","baseUrlOptions":["https://api.opal.dev/v1"],"title":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"description":"Resources to be updated","required":true,"content":{"application/json":{"schema":{"example":{"resources":[{"resource_id":"f454d283-ca87-4a8a-bdbb-df212eca5353","name":"my-mongo-db","description":"This resource represents AWS IAM role \"SupportUser\".","admin_owner_id":"7c86c85d-0651-43e2-a748-d69d658418e8","max_duration":120,"require_manager_approval":false,"require_support_ticket":false},{"resource_id":"99d0b81d-14be-4cf6-bd27-348b4af1d11b","name":"Admin Role","description":"This resource represents GCP project \"app-demo\".","admin_owner_id":"4220bc12-ab8a-4b5d-be7b-f6bbcf9159f3","max_duration":360,"require_manager_approval":false,"require_support_ticket":true}]},"properties":{"resources":{"description":"A list of resources with information to update.","items":{"description":"# UpdateResourceInfo Object\n### Description\nThe `UpdateResourceInfo` object is used as an input to the UpdateResource API.","example":{"resource_id":"f454d283-ca87-4a8a-bdbb-df212eca5353","name":"my-mongo-db","description":"This resource represents AWS IAM role \"SupportUser\".","admin_owner_id":"7c86c85d-0651-43e2-a748-d69d658418e8","max_duration":120,"require_manager_approval":false,"require_support_ticket":false},"properties":{"resource_id":{"description":"The ID of the resource.","example":"f454d283-ca87-4a8a-bdbb-df212eca5353","format":"uuid","type":"string","isRequired":true,"uniqueKey":"resources.items.[INDEX].resource_id","typeLabel":"string\u003cuuid>"},"name":{"description":"The name of the resource.","example":"my-mongo-db","type":"string","uniqueKey":"resources.items.[INDEX].name","typeLabel":"string"},"description":{"description":"A description of the resource.","example":"This resource represents AWS IAM role \"SupportUser\".","type":"string","uniqueKey":"resources.items.[INDEX].description","typeLabel":"string"},"admin_owner_id":{"description":"The ID of the owner of the resource.","example":"7c86c85d-0651-43e2-a748-d69d658418e8","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].admin_owner_id","typeLabel":"string\u003cuuid>"},"max_duration":{"description":"The maximum duration for which the resource can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`.","type":"integer","example":120,"deprecated":true,"uniqueKey":"resources.items.[INDEX].max_duration","typeLabel":"integer"},"recommended_duration":{"description":"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`.","type":"integer","example":120,"deprecated":true,"uniqueKey":"resources.items.[INDEX].recommended_duration","typeLabel":"integer"},"require_manager_approval":{"description":"A bool representing whether or not access requests to the resource require manager approval.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].require_manager_approval","typeLabel":"boolean"},"require_support_ticket":{"description":"A bool representing whether or not access requests to the resource require an access ticket. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].require_support_ticket","typeLabel":"boolean"},"folder_id":{"description":"The ID of the folder that the resource is located in.","example":"e27cb7b0-98e2-4555-9916-9e6d8ca6b079","format":"uuid","type":"string","deprecated":true,"uniqueKey":"resources.items.[INDEX].folder_id","typeLabel":"string\u003cuuid>"},"require_mfa_to_approve":{"description":"A bool representing whether or not to require MFA for reviewers to approve requests for this resource.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].require_mfa_to_approve","typeLabel":"boolean"},"requires_forfeit_reason":{"description":"A bool representing whether or not a reason is required when forfeiting access to this resource.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].requires_forfeit_reason","typeLabel":"boolean"},"require_mfa_to_request":{"description":"A bool representing whether or not to require MFA for requesting access to this resource. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].require_mfa_to_request","typeLabel":"boolean"},"require_mfa_to_connect":{"description":"A bool representing whether or not to require MFA to connect to this resource.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].require_mfa_to_connect","typeLabel":"boolean"},"auto_approval":{"description":"A bool representing whether or not to automatically approve requests to this resource. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].auto_approval","typeLabel":"boolean"},"ticket_propagation":{"description":"Configuration for ticket propagation, when enabled, a ticket will be created for access changes related to the users in this resource.","type":"object","properties":{"enabled_on_grant":{"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].ticket_propagation.enabled_on_grant","typeLabel":"boolean"},"enabled_on_revocation":{"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].ticket_propagation.enabled_on_revocation","typeLabel":"boolean"},"ticket_provider":{"description":"The third party ticketing platform provider.","enum":["JIRA","LINEAR","SERVICE_NOW"],"example":"LINEAR","type":"string","uniqueKey":"resources.items.[INDEX].ticket_propagation.ticket_provider","typeLabel":"enum\u003cstring>"},"ticket_project_id":{"type":"string","uniqueKey":"resources.items.[INDEX].ticket_propagation.ticket_project_id","typeLabel":"string"}},"required":["enabled_on_grant","enabled_on_revocation"],"uniqueKey":"resources.items.[INDEX].ticket_propagation","typeLabel":"object"},"custom_request_notification":{"oneOf":[{"description":"Custom request notification sent upon request approval.","type":"string","maxLength":800,"example":"Check your email to register your account.","uniqueKey":"resources.items.[INDEX].custom_request_notification.oneOf.0","typeLabel":"string"},{"description":"Custom request notification sent upon request approval.","type":"null","maxLength":800,"example":"Check your email to register your account.","uniqueKey":"resources.items.[INDEX].custom_request_notification.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].custom_request_notification","typeLabel":"string | null"},"risk_sensitivity_override":{"type":"string","description":"Indicates the level of potential impact misuse or unauthorized access may incur.","enum":["UNKNOWN","CRITICAL","HIGH","MEDIUM","LOW","NONE"],"uniqueKey":"resources.items.[INDEX].risk_sensitivity_override","typeLabel":"enum\u003cstring>"},"match_remote_name":{"description":"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.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].match_remote_name","typeLabel":"boolean"},"match_remote_description":{"description":"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.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].match_remote_description","typeLabel":"boolean"},"configuration_template_id":{"oneOf":[{"description":"Deprecated. Use `PUT /resources/{resource_id}/configuration-template`\ninstead; that endpoint exposes attach, re-point, and detach as a\nsingle idempotent REST sub-resource and is the Terraform-friendly\nsurface for managing this linkage. This field remains honored on\nthe main PUT for now: set to a UUID to attach or re-point, set to\n`null` to unlink (forks the template into a private configuration\nthat preserves the current settings), omit to leave linkage\nunchanged. Scheduled for removal in a future major version.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","deprecated":true,"x-oapi-codegen-extra-tags":{"json":"configuration_template_id,omitempty"},"uniqueKey":"resources.items.[INDEX].configuration_template_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"Deprecated. Use `PUT /resources/{resource_id}/configuration-template`\ninstead; that endpoint exposes attach, re-point, and detach as a\nsingle idempotent REST sub-resource and is the Terraform-friendly\nsurface for managing this linkage. This field remains honored on\nthe main PUT for now: set to a UUID to attach or re-point, set to\n`null` to unlink (forks the template into a private configuration\nthat preserves the current settings), omit to leave linkage\nunchanged. Scheduled for removal in a future major version.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"null","deprecated":true,"x-oapi-codegen-extra-tags":{"json":"configuration_template_id,omitempty"},"uniqueKey":"resources.items.[INDEX].configuration_template_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].configuration_template_id","typeLabel":"string\u003cuuid> | null"},"request_template_id":{"description":"The ID of the associated request template. Deprecated in favor of `request_configurations`.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","deprecated":true,"uniqueKey":"resources.items.[INDEX].request_template_id","typeLabel":"string\u003cuuid>"},"is_requestable":{"description":"A bool representing whether or not to allow access requests to this resource. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].is_requestable","typeLabel":"boolean"},"extensions_duration_in_minutes":{"description":"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.","type":"integer","example":120,"deprecated":true,"uniqueKey":"resources.items.[INDEX].extensions_duration_in_minutes","typeLabel":"integer"},"parent_resource_id":{"oneOf":[{"description":"The ID of the parent resource.","example":"f454d283-ca67-4a8a-bdbb-df212eca5345","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].parent_resource_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"The ID of the parent resource.","example":"f454d283-ca67-4a8a-bdbb-df212eca5345","format":"uuid","type":"null","uniqueKey":"resources.items.[INDEX].parent_resource_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].parent_resource_id","typeLabel":"string\u003cuuid> | null"},"request_configurations":{"type":"array","items":{"description":"# Request Configuration Object\n### Description\nThe `RequestConfiguration` object is used to represent a request configuration.\n\n### Usage Example\nReturned from the `GET Request Configurations` endpoint.","example":{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e8","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","created_at":"2021-01-06T20:00:00.000Z","updated_at":"2021-01-06T20:00:00.000Z","condition":{"group_id":"1b978423-db0a-4037-a4cf-f79c60cb67b3"},"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reason_optional":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":1},"type":"object","properties":{"allow_requests":{"description":"A bool representing whether or not to allow requests for this resource.","example":true,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].allow_requests","typeLabel":"boolean"},"auto_approval":{"description":"A bool representing whether or not to automatically approve requests for this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].auto_approval","typeLabel":"boolean"},"require_mfa_to_request":{"description":"A bool representing whether or not to require MFA for requesting access to this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].require_mfa_to_request","typeLabel":"boolean"},"require_support_ticket":{"description":"A bool representing whether or not access requests to the resource require an access ticket.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].require_support_ticket","typeLabel":"boolean"},"priority":{"description":"The priority of the request configuration.","example":1,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].priority","typeLabel":"integer"},"condition":{"description":"The condition for the request configuration.","example":{"group_ids":["1b978423-db0a-4037-a4cf-f79c60cb67b3"]},"type":"object","properties":{"group_ids":{"description":"The list of group IDs to match.","example":["1b978423-db0a-4037-a4cf-f79c60cb67b3"],"items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.group_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.group_ids","typeLabel":"string\u003cuuid>[]"},"role_remote_ids":{"description":"The list of role remote IDs to match.","example":["arn:aws:iam::590304332660:role/AdministratorAccess"],"type":"array","items":{"type":"string","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.role_remote_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.role_remote_ids","typeLabel":"string[]"},"opal_script_id":{"description":"The ID of a `REQUEST_CONFIGURATION_CONDITION` OpalScript that decides whether this request configuration applies. Cannot be combined with `group_ids` or `role_remote_ids`.","example":"32acc112-21ff-4669-91c2-21e27683eaa1","type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.opal_script_id","typeLabel":"string\u003cuuid>"}},"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition","typeLabel":"object"},"max_duration_minutes":{"description":"The maximum duration for which the resource can be requested (in minutes). Capped at 1 year (525600) unless a longer maximum has been enabled for your organization. Use -1 for an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].max_duration_minutes","typeLabel":"integer"},"recommended_duration_minutes":{"description":"The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].recommended_duration_minutes","typeLabel":"integer"},"reason_optional":{"oneOf":[{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reason_optional.oneOf.0","typeLabel":"boolean"},{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"null","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reason_optional.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reason_optional","typeLabel":"boolean | null"},"extensions_duration_in_minutes":{"description":"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.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].extensions_duration_in_minutes","typeLabel":"integer"},"request_template_id":{"description":"The ID of the associated request template.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].request_template_id","typeLabel":"string\u003cuuid>"},"reviewer_stages":{"description":"The list of reviewer stages for the request configuration.","items":{"description":"A reviewer stage.","example":{"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4567","1520617d-e72a-47f5-a84c-693817ab48ad2"],"service_user_ids":["7870617d-e72a-47f5-a84c-693817ab4568"]},"properties":{"require_manager_approval":{"description":"Whether this reviewer stage should require manager approval.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_manager_approval","typeLabel":"boolean"},"operator":{"description":"The operator of the reviewer stage. Admin and manager approval are also treated as reviewers. A stage that sets `escalation` must use `OR`; `AND` is rejected there, because the escalation timer joins the stage as an additional reviewer and would otherwise become a required approver that stalls every request until the timeout.","enum":["AND","OR"],"example":"AND","type":"string","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"owner_ids":{"description":"The IDs of owners assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids","typeLabel":"string\u003cuuid>[]"},"require_admin_approval":{"description":"Whether this reviewer stage should require admin approval.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_admin_approval","typeLabel":"boolean"},"service_user_ids":{"description":"The IDs of service users assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids","typeLabel":"string\u003cuuid>[]"},"escalation":{"description":"Escalation for a reviewer stage. When set, the request advances to the\nreviewers named here if nobody responds within delay_minutes. Timely\napproval by any of the stage's own reviewers resolves the stage without\nescalating.\n\nowner_ids and user_ids name only who to escalate to; the stage's own\nreviewers are added automatically and must not be repeated here. A\nstage with owner_ids [X] escalating to Y sets escalation.owner_ids to\n[Y], and reviewing after escalation is then open to both X and Y.\n\nBecause the stage's reviewers are unioned in rather than copied,\nremoving someone from the stage also removes them from the escalation.\nAt least one owner or user named here must not already be a reviewer\nof the stage.","example":{"delay_minutes":60,"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4569"]},"properties":{"delay_minutes":{"description":"How long to wait for a response before escalating, in minutes. Between 1 and 1440 (24 hours).","example":60,"minimum":1,"maximum":1440,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.delay_minutes","typeLabel":"integer"},"owner_ids":{"description":"The owners to escalate to. The stage's own owner_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids","typeLabel":"string\u003cuuid>[]"},"user_ids":{"description":"The users to escalate to. The stage's own service_user_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["delay_minutes"],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation","typeLabel":"object"},"opal_script_ids":{"description":"The IDs of OpalScripts assigned as reviewers for this stage. Only `REQUEST_REVIEW` scripts can review; any other script type is rejected.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["operator","require_manager_approval","owner_ids"],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages","typeLabel":"object[]"}},"required":["organization_id","allow_requests","auto_approval","require_mfa_to_request","require_support_ticket","priority"],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX]","typeLabel":"object"},"description":"A list of configurations for requests to this resource. If not provided, the default request configuration will be used.","uniqueKey":"resources.items.[INDEX].request_configurations","typeLabel":"object[]"},"request_configuration_list":{"description":"A list of configurations for requests to this resource. If not provided, the default request configuration will be used. Deprecated in favor of `request_configurations`.","example":{"request_configurations":[{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e8","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","condition":null,"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":0},{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e9","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","condition":{"group_id":"1b978423-db0a-4037-a4cf-f79c60cb67b4"},"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":1}]},"properties":{"request_configurations":{"description":"A list of request configurations to create.","items":{"description":"# Request Configuration Object\n### Description\nThe `RequestConfiguration` object is used to represent a request configuration.\n\n### Usage Example\nReturned from the `GET Request Configurations` endpoint.","example":{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e8","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","created_at":"2021-01-06T20:00:00.000Z","updated_at":"2021-01-06T20:00:00.000Z","condition":{"group_id":"1b978423-db0a-4037-a4cf-f79c60cb67b3"},"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reason_optional":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":1},"type":"object","properties":{"allow_requests":{"description":"A bool representing whether or not to allow requests for this resource.","example":true,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].allow_requests","typeLabel":"boolean"},"auto_approval":{"description":"A bool representing whether or not to automatically approve requests for this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].auto_approval","typeLabel":"boolean"},"require_mfa_to_request":{"description":"A bool representing whether or not to require MFA for requesting access to this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].require_mfa_to_request","typeLabel":"boolean"},"require_support_ticket":{"description":"A bool representing whether or not access requests to the resource require an access ticket.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].require_support_ticket","typeLabel":"boolean"},"priority":{"description":"The priority of the request configuration.","example":1,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].priority","typeLabel":"integer"},"condition":{"description":"The condition for the request configuration.","example":{"group_ids":["1b978423-db0a-4037-a4cf-f79c60cb67b3"]},"type":"object","properties":{"group_ids":{"description":"The list of group IDs to match.","example":["1b978423-db0a-4037-a4cf-f79c60cb67b3"],"items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.group_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.group_ids","typeLabel":"string\u003cuuid>[]"},"role_remote_ids":{"description":"The list of role remote IDs to match.","example":["arn:aws:iam::590304332660:role/AdministratorAccess"],"type":"array","items":{"type":"string","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.role_remote_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.role_remote_ids","typeLabel":"string[]"},"opal_script_id":{"description":"The ID of a `REQUEST_CONFIGURATION_CONDITION` OpalScript that decides whether this request configuration applies. Cannot be combined with `group_ids` or `role_remote_ids`.","example":"32acc112-21ff-4669-91c2-21e27683eaa1","type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.opal_script_id","typeLabel":"string\u003cuuid>"}},"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition","typeLabel":"object"},"max_duration_minutes":{"description":"The maximum duration for which the resource can be requested (in minutes). Capped at 1 year (525600) unless a longer maximum has been enabled for your organization. Use -1 for an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].max_duration_minutes","typeLabel":"integer"},"recommended_duration_minutes":{"description":"The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].recommended_duration_minutes","typeLabel":"integer"},"reason_optional":{"oneOf":[{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reason_optional.oneOf.0","typeLabel":"boolean"},{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"null","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reason_optional.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reason_optional","typeLabel":"boolean | null"},"extensions_duration_in_minutes":{"description":"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.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].extensions_duration_in_minutes","typeLabel":"integer"},"request_template_id":{"description":"The ID of the associated request template.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].request_template_id","typeLabel":"string\u003cuuid>"},"reviewer_stages":{"description":"The list of reviewer stages for the request configuration.","items":{"description":"A reviewer stage.","example":{"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4567","1520617d-e72a-47f5-a84c-693817ab48ad2"],"service_user_ids":["7870617d-e72a-47f5-a84c-693817ab4568"]},"properties":{"require_manager_approval":{"description":"Whether this reviewer stage should require manager approval.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_manager_approval","typeLabel":"boolean"},"operator":{"description":"The operator of the reviewer stage. Admin and manager approval are also treated as reviewers. A stage that sets `escalation` must use `OR`; `AND` is rejected there, because the escalation timer joins the stage as an additional reviewer and would otherwise become a required approver that stalls every request until the timeout.","enum":["AND","OR"],"example":"AND","type":"string","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"owner_ids":{"description":"The IDs of owners assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids","typeLabel":"string\u003cuuid>[]"},"require_admin_approval":{"description":"Whether this reviewer stage should require admin approval.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_admin_approval","typeLabel":"boolean"},"service_user_ids":{"description":"The IDs of service users assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids","typeLabel":"string\u003cuuid>[]"},"escalation":{"description":"Escalation for a reviewer stage. When set, the request advances to the\nreviewers named here if nobody responds within delay_minutes. Timely\napproval by any of the stage's own reviewers resolves the stage without\nescalating.\n\nowner_ids and user_ids name only who to escalate to; the stage's own\nreviewers are added automatically and must not be repeated here. A\nstage with owner_ids [X] escalating to Y sets escalation.owner_ids to\n[Y], and reviewing after escalation is then open to both X and Y.\n\nBecause the stage's reviewers are unioned in rather than copied,\nremoving someone from the stage also removes them from the escalation.\nAt least one owner or user named here must not already be a reviewer\nof the stage.","example":{"delay_minutes":60,"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4569"]},"properties":{"delay_minutes":{"description":"How long to wait for a response before escalating, in minutes. Between 1 and 1440 (24 hours).","example":60,"minimum":1,"maximum":1440,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.delay_minutes","typeLabel":"integer"},"owner_ids":{"description":"The owners to escalate to. The stage's own owner_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids","typeLabel":"string\u003cuuid>[]"},"user_ids":{"description":"The users to escalate to. The stage's own service_user_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["delay_minutes"],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation","typeLabel":"object"},"opal_script_ids":{"description":"The IDs of OpalScripts assigned as reviewers for this stage. Only `REQUEST_REVIEW` scripts can review; any other script type is rejected.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["operator","require_manager_approval","owner_ids"],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages","typeLabel":"object[]"}},"required":["organization_id","allow_requests","auto_approval","require_mfa_to_request","require_support_ticket","priority"],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations","typeLabel":"object[]"}},"type":"object","required":["request_configurations"],"deprecated":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list","typeLabel":"object"}},"required":["resource_id"],"type":"object","uniqueKey":"resources.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"resources","typeLabel":"object[]"}},"type":"object","required":["resources"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"resources":[{"resource_id":"f454d283-ca87-4a8a-bdbb-df212eca5353","name":"my-mongo-db","description":"This resource represents AWS IAM role \"SupportUser\".","admin_owner_id":"7c86c85d-0651-43e2-a748-d69d658418e8","max_duration":120,"require_manager_approval":false,"require_support_ticket":false},{"resource_id":"99d0b81d-14be-4cf6-bd27-348b4af1d11b","name":"Admin Role","description":"This resource represents GCP project \"app-demo\".","admin_owner_id":"4220bc12-ab8a-4b5d-be7b-f6bbcf9159f3","max_duration":360,"require_manager_approval":false,"require_support_ticket":true}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"3a04aca4-2d76-49af-8753-2c089e773ff5":{"content":{"application/json":{"schema":{"example":{"resources":[{"resource_id":"f454d283-ca87-4a8a-bdbb-df212eca5353","name":"my-mongo-db","description":"This resource represents AWS IAM role \"SupportUser\".","admin_owner_id":"7c86c85d-0651-43e2-a748-d69d658418e8","max_duration":120,"require_manager_approval":false,"require_support_ticket":false},{"resource_id":"99d0b81d-14be-4cf6-bd27-348b4af1d11b","name":"Admin Role","description":"This resource represents GCP project \"app-demo\".","admin_owner_id":"4220bc12-ab8a-4b5d-be7b-f6bbcf9159f3","max_duration":360,"require_manager_approval":false,"require_support_ticket":true}]},"properties":{"resources":{"description":"A list of resources with information to update.","items":{"description":"# UpdateResourceInfo Object\n### Description\nThe `UpdateResourceInfo` object is used as an input to the UpdateResource API.","example":{"resource_id":"f454d283-ca87-4a8a-bdbb-df212eca5353","name":"my-mongo-db","description":"This resource represents AWS IAM role \"SupportUser\".","admin_owner_id":"7c86c85d-0651-43e2-a748-d69d658418e8","max_duration":120,"require_manager_approval":false,"require_support_ticket":false},"properties":{"resource_id":{"description":"The ID of the resource.","example":"f454d283-ca87-4a8a-bdbb-df212eca5353","format":"uuid","type":"string","isRequired":true,"uniqueKey":"resources.items.[INDEX].resource_id","typeLabel":"string\u003cuuid>"},"name":{"description":"The name of the resource.","example":"my-mongo-db","type":"string","uniqueKey":"resources.items.[INDEX].name","typeLabel":"string"},"description":{"description":"A description of the resource.","example":"This resource represents AWS IAM role \"SupportUser\".","type":"string","uniqueKey":"resources.items.[INDEX].description","typeLabel":"string"},"admin_owner_id":{"description":"The ID of the owner of the resource.","example":"7c86c85d-0651-43e2-a748-d69d658418e8","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].admin_owner_id","typeLabel":"string\u003cuuid>"},"max_duration":{"description":"The maximum duration for which the resource can be requested (in minutes). Use -1 to set to indefinite. Deprecated in favor of `request_configurations`.","type":"integer","example":120,"deprecated":true,"uniqueKey":"resources.items.[INDEX].max_duration","typeLabel":"integer"},"recommended_duration":{"description":"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`.","type":"integer","example":120,"deprecated":true,"uniqueKey":"resources.items.[INDEX].recommended_duration","typeLabel":"integer"},"require_manager_approval":{"description":"A bool representing whether or not access requests to the resource require manager approval.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].require_manager_approval","typeLabel":"boolean"},"require_support_ticket":{"description":"A bool representing whether or not access requests to the resource require an access ticket. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].require_support_ticket","typeLabel":"boolean"},"folder_id":{"description":"The ID of the folder that the resource is located in.","example":"e27cb7b0-98e2-4555-9916-9e6d8ca6b079","format":"uuid","type":"string","deprecated":true,"uniqueKey":"resources.items.[INDEX].folder_id","typeLabel":"string\u003cuuid>"},"require_mfa_to_approve":{"description":"A bool representing whether or not to require MFA for reviewers to approve requests for this resource.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].require_mfa_to_approve","typeLabel":"boolean"},"requires_forfeit_reason":{"description":"A bool representing whether or not a reason is required when forfeiting access to this resource.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].requires_forfeit_reason","typeLabel":"boolean"},"require_mfa_to_request":{"description":"A bool representing whether or not to require MFA for requesting access to this resource. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].require_mfa_to_request","typeLabel":"boolean"},"require_mfa_to_connect":{"description":"A bool representing whether or not to require MFA to connect to this resource.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].require_mfa_to_connect","typeLabel":"boolean"},"auto_approval":{"description":"A bool representing whether or not to automatically approve requests to this resource. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].auto_approval","typeLabel":"boolean"},"ticket_propagation":{"description":"Configuration for ticket propagation, when enabled, a ticket will be created for access changes related to the users in this resource.","type":"object","properties":{"enabled_on_grant":{"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].ticket_propagation.enabled_on_grant","typeLabel":"boolean"},"enabled_on_revocation":{"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].ticket_propagation.enabled_on_revocation","typeLabel":"boolean"},"ticket_provider":{"description":"The third party ticketing platform provider.","enum":["JIRA","LINEAR","SERVICE_NOW"],"example":"LINEAR","type":"string","uniqueKey":"resources.items.[INDEX].ticket_propagation.ticket_provider","typeLabel":"enum\u003cstring>"},"ticket_project_id":{"type":"string","uniqueKey":"resources.items.[INDEX].ticket_propagation.ticket_project_id","typeLabel":"string"}},"required":["enabled_on_grant","enabled_on_revocation"],"uniqueKey":"resources.items.[INDEX].ticket_propagation","typeLabel":"object"},"custom_request_notification":{"oneOf":[{"description":"Custom request notification sent upon request approval.","type":"string","maxLength":800,"example":"Check your email to register your account.","uniqueKey":"resources.items.[INDEX].custom_request_notification.oneOf.0","typeLabel":"string"},{"description":"Custom request notification sent upon request approval.","type":"null","maxLength":800,"example":"Check your email to register your account.","uniqueKey":"resources.items.[INDEX].custom_request_notification.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].custom_request_notification","typeLabel":"string | null"},"risk_sensitivity_override":{"type":"string","description":"Indicates the level of potential impact misuse or unauthorized access may incur.","enum":["UNKNOWN","CRITICAL","HIGH","MEDIUM","LOW","NONE"],"uniqueKey":"resources.items.[INDEX].risk_sensitivity_override","typeLabel":"enum\u003cstring>"},"match_remote_name":{"description":"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.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].match_remote_name","typeLabel":"boolean"},"match_remote_description":{"description":"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.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].match_remote_description","typeLabel":"boolean"},"configuration_template_id":{"oneOf":[{"description":"Deprecated. Use `PUT /resources/{resource_id}/configuration-template`\ninstead; that endpoint exposes attach, re-point, and detach as a\nsingle idempotent REST sub-resource and is the Terraform-friendly\nsurface for managing this linkage. This field remains honored on\nthe main PUT for now: set to a UUID to attach or re-point, set to\n`null` to unlink (forks the template into a private configuration\nthat preserves the current settings), omit to leave linkage\nunchanged. Scheduled for removal in a future major version.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","deprecated":true,"x-oapi-codegen-extra-tags":{"json":"configuration_template_id,omitempty"},"uniqueKey":"resources.items.[INDEX].configuration_template_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"Deprecated. Use `PUT /resources/{resource_id}/configuration-template`\ninstead; that endpoint exposes attach, re-point, and detach as a\nsingle idempotent REST sub-resource and is the Terraform-friendly\nsurface for managing this linkage. This field remains honored on\nthe main PUT for now: set to a UUID to attach or re-point, set to\n`null` to unlink (forks the template into a private configuration\nthat preserves the current settings), omit to leave linkage\nunchanged. Scheduled for removal in a future major version.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"null","deprecated":true,"x-oapi-codegen-extra-tags":{"json":"configuration_template_id,omitempty"},"uniqueKey":"resources.items.[INDEX].configuration_template_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].configuration_template_id","typeLabel":"string\u003cuuid> | null"},"request_template_id":{"description":"The ID of the associated request template. Deprecated in favor of `request_configurations`.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","deprecated":true,"uniqueKey":"resources.items.[INDEX].request_template_id","typeLabel":"string\u003cuuid>"},"is_requestable":{"description":"A bool representing whether or not to allow access requests to this resource. Deprecated in favor of `request_configurations`.","example":false,"type":"boolean","deprecated":true,"uniqueKey":"resources.items.[INDEX].is_requestable","typeLabel":"boolean"},"extensions_duration_in_minutes":{"description":"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.","type":"integer","example":120,"deprecated":true,"uniqueKey":"resources.items.[INDEX].extensions_duration_in_minutes","typeLabel":"integer"},"parent_resource_id":{"oneOf":[{"description":"The ID of the parent resource.","example":"f454d283-ca67-4a8a-bdbb-df212eca5345","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].parent_resource_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"description":"The ID of the parent resource.","example":"f454d283-ca67-4a8a-bdbb-df212eca5345","format":"uuid","type":"null","uniqueKey":"resources.items.[INDEX].parent_resource_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].parent_resource_id","typeLabel":"string\u003cuuid> | null"},"request_configurations":{"type":"array","items":{"description":"# Request Configuration Object\n### Description\nThe `RequestConfiguration` object is used to represent a request configuration.\n\n### Usage Example\nReturned from the `GET Request Configurations` endpoint.","example":{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e8","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","created_at":"2021-01-06T20:00:00.000Z","updated_at":"2021-01-06T20:00:00.000Z","condition":{"group_id":"1b978423-db0a-4037-a4cf-f79c60cb67b3"},"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reason_optional":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":1},"type":"object","properties":{"allow_requests":{"description":"A bool representing whether or not to allow requests for this resource.","example":true,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].allow_requests","typeLabel":"boolean"},"auto_approval":{"description":"A bool representing whether or not to automatically approve requests for this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].auto_approval","typeLabel":"boolean"},"require_mfa_to_request":{"description":"A bool representing whether or not to require MFA for requesting access to this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].require_mfa_to_request","typeLabel":"boolean"},"require_support_ticket":{"description":"A bool representing whether or not access requests to the resource require an access ticket.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].require_support_ticket","typeLabel":"boolean"},"priority":{"description":"The priority of the request configuration.","example":1,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].priority","typeLabel":"integer"},"condition":{"description":"The condition for the request configuration.","example":{"group_ids":["1b978423-db0a-4037-a4cf-f79c60cb67b3"]},"type":"object","properties":{"group_ids":{"description":"The list of group IDs to match.","example":["1b978423-db0a-4037-a4cf-f79c60cb67b3"],"items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.group_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.group_ids","typeLabel":"string\u003cuuid>[]"},"role_remote_ids":{"description":"The list of role remote IDs to match.","example":["arn:aws:iam::590304332660:role/AdministratorAccess"],"type":"array","items":{"type":"string","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.role_remote_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.role_remote_ids","typeLabel":"string[]"},"opal_script_id":{"description":"The ID of a `REQUEST_CONFIGURATION_CONDITION` OpalScript that decides whether this request configuration applies. Cannot be combined with `group_ids` or `role_remote_ids`.","example":"32acc112-21ff-4669-91c2-21e27683eaa1","type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition.opal_script_id","typeLabel":"string\u003cuuid>"}},"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].condition","typeLabel":"object"},"max_duration_minutes":{"description":"The maximum duration for which the resource can be requested (in minutes). Capped at 1 year (525600) unless a longer maximum has been enabled for your organization. Use -1 for an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].max_duration_minutes","typeLabel":"integer"},"recommended_duration_minutes":{"description":"The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].recommended_duration_minutes","typeLabel":"integer"},"reason_optional":{"oneOf":[{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reason_optional.oneOf.0","typeLabel":"boolean"},{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"null","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reason_optional.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reason_optional","typeLabel":"boolean | null"},"extensions_duration_in_minutes":{"description":"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.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].extensions_duration_in_minutes","typeLabel":"integer"},"request_template_id":{"description":"The ID of the associated request template.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].request_template_id","typeLabel":"string\u003cuuid>"},"reviewer_stages":{"description":"The list of reviewer stages for the request configuration.","items":{"description":"A reviewer stage.","example":{"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4567","1520617d-e72a-47f5-a84c-693817ab48ad2"],"service_user_ids":["7870617d-e72a-47f5-a84c-693817ab4568"]},"properties":{"require_manager_approval":{"description":"Whether this reviewer stage should require manager approval.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_manager_approval","typeLabel":"boolean"},"operator":{"description":"The operator of the reviewer stage. Admin and manager approval are also treated as reviewers. A stage that sets `escalation` must use `OR`; `AND` is rejected there, because the escalation timer joins the stage as an additional reviewer and would otherwise become a required approver that stalls every request until the timeout.","enum":["AND","OR"],"example":"AND","type":"string","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"owner_ids":{"description":"The IDs of owners assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids","typeLabel":"string\u003cuuid>[]"},"require_admin_approval":{"description":"Whether this reviewer stage should require admin approval.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_admin_approval","typeLabel":"boolean"},"service_user_ids":{"description":"The IDs of service users assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids","typeLabel":"string\u003cuuid>[]"},"escalation":{"description":"Escalation for a reviewer stage. When set, the request advances to the\nreviewers named here if nobody responds within delay_minutes. Timely\napproval by any of the stage's own reviewers resolves the stage without\nescalating.\n\nowner_ids and user_ids name only who to escalate to; the stage's own\nreviewers are added automatically and must not be repeated here. A\nstage with owner_ids [X] escalating to Y sets escalation.owner_ids to\n[Y], and reviewing after escalation is then open to both X and Y.\n\nBecause the stage's reviewers are unioned in rather than copied,\nremoving someone from the stage also removes them from the escalation.\nAt least one owner or user named here must not already be a reviewer\nof the stage.","example":{"delay_minutes":60,"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4569"]},"properties":{"delay_minutes":{"description":"How long to wait for a response before escalating, in minutes. Between 1 and 1440 (24 hours).","example":60,"minimum":1,"maximum":1440,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.delay_minutes","typeLabel":"integer"},"owner_ids":{"description":"The owners to escalate to. The stage's own owner_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids","typeLabel":"string\u003cuuid>[]"},"user_ids":{"description":"The users to escalate to. The stage's own service_user_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["delay_minutes"],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation","typeLabel":"object"},"opal_script_ids":{"description":"The IDs of OpalScripts assigned as reviewers for this stage. Only `REQUEST_REVIEW` scripts can review; any other script type is rejected.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["operator","require_manager_approval","owner_ids"],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX].reviewer_stages","typeLabel":"object[]"}},"required":["organization_id","allow_requests","auto_approval","require_mfa_to_request","require_support_ticket","priority"],"uniqueKey":"resources.items.[INDEX].request_configurations.items.[INDEX]","typeLabel":"object"},"description":"A list of configurations for requests to this resource. If not provided, the default request configuration will be used.","uniqueKey":"resources.items.[INDEX].request_configurations","typeLabel":"object[]"},"request_configuration_list":{"description":"A list of configurations for requests to this resource. If not provided, the default request configuration will be used. Deprecated in favor of `request_configurations`.","example":{"request_configurations":[{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e8","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","condition":null,"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":0},{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e9","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","condition":{"group_id":"1b978423-db0a-4037-a4cf-f79c60cb67b4"},"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":1}]},"properties":{"request_configurations":{"description":"A list of request configurations to create.","items":{"description":"# Request Configuration Object\n### Description\nThe `RequestConfiguration` object is used to represent a request configuration.\n\n### Usage Example\nReturned from the `GET Request Configurations` endpoint.","example":{"request_configuration_id":"7c86c85d-0651-43e2-a748-d69d658418e8","organization_id":"w86c85d-0651-43e2-a748-d69d658418e8","created_at":"2021-01-06T20:00:00.000Z","updated_at":"2021-01-06T20:00:00.000Z","condition":{"group_id":"1b978423-db0a-4037-a4cf-f79c60cb67b3"},"allow_requests":true,"auto_approval":false,"require_mfa_to_request":false,"max_duration_minutes":120,"recommended_duration_minutes":120,"require_support_ticket":false,"reason_optional":false,"reviewer_stages":[{"reviewer_stage_id":"7c86c85d-0651-43e2-a748-d69d658418e8","owner_ids":["37cb7e41-12ba-46da-92ff-030abe0450b1","37cb7e41-12ba-46da-92ff-030abe0450b2"],"stage":1}],"priority":1},"type":"object","properties":{"allow_requests":{"description":"A bool representing whether or not to allow requests for this resource.","example":true,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].allow_requests","typeLabel":"boolean"},"auto_approval":{"description":"A bool representing whether or not to automatically approve requests for this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].auto_approval","typeLabel":"boolean"},"require_mfa_to_request":{"description":"A bool representing whether or not to require MFA for requesting access to this resource.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].require_mfa_to_request","typeLabel":"boolean"},"require_support_ticket":{"description":"A bool representing whether or not access requests to the resource require an access ticket.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].require_support_ticket","typeLabel":"boolean"},"priority":{"description":"The priority of the request configuration.","example":1,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].priority","typeLabel":"integer"},"condition":{"description":"The condition for the request configuration.","example":{"group_ids":["1b978423-db0a-4037-a4cf-f79c60cb67b3"]},"type":"object","properties":{"group_ids":{"description":"The list of group IDs to match.","example":["1b978423-db0a-4037-a4cf-f79c60cb67b3"],"items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.group_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.group_ids","typeLabel":"string\u003cuuid>[]"},"role_remote_ids":{"description":"The list of role remote IDs to match.","example":["arn:aws:iam::590304332660:role/AdministratorAccess"],"type":"array","items":{"type":"string","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.role_remote_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.role_remote_ids","typeLabel":"string[]"},"opal_script_id":{"description":"The ID of a `REQUEST_CONFIGURATION_CONDITION` OpalScript that decides whether this request configuration applies. Cannot be combined with `group_ids` or `role_remote_ids`.","example":"32acc112-21ff-4669-91c2-21e27683eaa1","type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition.opal_script_id","typeLabel":"string\u003cuuid>"}},"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].condition","typeLabel":"object"},"max_duration_minutes":{"description":"The maximum duration for which the resource can be requested (in minutes). Capped at 1 year (525600) unless a longer maximum has been enabled for your organization. Use -1 for an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].max_duration_minutes","typeLabel":"integer"},"recommended_duration_minutes":{"description":"The recommended duration for which the resource should be requested (in minutes). -1 represents an indefinite duration.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].recommended_duration_minutes","typeLabel":"integer"},"reason_optional":{"oneOf":[{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reason_optional.oneOf.0","typeLabel":"boolean"},{"description":"A bool representing whether the reason field is optional for requests.","example":false,"type":"null","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reason_optional.oneOf.1","typeLabel":"null"}],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reason_optional","typeLabel":"boolean | null"},"extensions_duration_in_minutes":{"description":"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.","type":"integer","example":120,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].extensions_duration_in_minutes","typeLabel":"integer"},"request_template_id":{"description":"The ID of the associated request template.","example":"06851574-e50d-40ca-8c78-f72ae6ab4304","format":"uuid","type":"string","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].request_template_id","typeLabel":"string\u003cuuid>"},"reviewer_stages":{"description":"The list of reviewer stages for the request configuration.","items":{"description":"A reviewer stage.","example":{"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4567","1520617d-e72a-47f5-a84c-693817ab48ad2"],"service_user_ids":["7870617d-e72a-47f5-a84c-693817ab4568"]},"properties":{"require_manager_approval":{"description":"Whether this reviewer stage should require manager approval.","example":false,"type":"boolean","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_manager_approval","typeLabel":"boolean"},"operator":{"description":"The operator of the reviewer stage. Admin and manager approval are also treated as reviewers. A stage that sets `escalation` must use `OR`; `AND` is rejected there, because the escalation timer joins the stage as an additional reviewer and would otherwise become a required approver that stalls every request until the timeout.","enum":["AND","OR"],"example":"AND","type":"string","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"owner_ids":{"description":"The IDs of owners assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].owner_ids","typeLabel":"string\u003cuuid>[]"},"require_admin_approval":{"description":"Whether this reviewer stage should require admin approval.","example":false,"type":"boolean","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].require_admin_approval","typeLabel":"boolean"},"service_user_ids":{"description":"The IDs of service users assigned as reviewers for this stage.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].service_user_ids","typeLabel":"string\u003cuuid>[]"},"escalation":{"description":"Escalation for a reviewer stage. When set, the request advances to the\nreviewers named here if nobody responds within delay_minutes. Timely\napproval by any of the stage's own reviewers resolves the stage without\nescalating.\n\nowner_ids and user_ids name only who to escalate to; the stage's own\nreviewers are added automatically and must not be repeated here. A\nstage with owner_ids [X] escalating to Y sets escalation.owner_ids to\n[Y], and reviewing after escalation is then open to both X and Y.\n\nBecause the stage's reviewers are unioned in rather than copied,\nremoving someone from the stage also removes them from the escalation.\nAt least one owner or user named here must not already be a reviewer\nof the stage.","example":{"delay_minutes":60,"owner_ids":["7870617d-e72a-47f5-a84c-693817ab4569"]},"properties":{"delay_minutes":{"description":"How long to wait for a response before escalating, in minutes. Between 1 and 1440 (24 hours).","example":60,"minimum":1,"maximum":1440,"type":"integer","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.delay_minutes","typeLabel":"integer"},"owner_ids":{"description":"The owners to escalate to. The stage's own owner_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.owner_ids","typeLabel":"string\u003cuuid>[]"},"user_ids":{"description":"The users to escalate to. The stage's own service_user_ids are added automatically and must not be repeated here.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation.user_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["delay_minutes"],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].escalation","typeLabel":"object"},"opal_script_ids":{"description":"The IDs of OpalScripts assigned as reviewers for this stage. Only `REQUEST_REVIEW` scripts can review; any other script type is rejected.","items":{"type":"string","format":"uuid","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX].opal_script_ids","typeLabel":"string\u003cuuid>[]"}},"type":"object","required":["operator","require_manager_approval","owner_ids"],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX].reviewer_stages","typeLabel":"object[]"}},"required":["organization_id","allow_requests","auto_approval","require_mfa_to_request","require_support_ticket","priority"],"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list.request_configurations","typeLabel":"object[]"}},"type":"object","required":["request_configurations"],"deprecated":true,"uniqueKey":"resources.items.[INDEX].request_configuration_list","typeLabel":"object"}},"required":["resource_id"],"type":"object","uniqueKey":"resources.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"resources","typeLabel":"object[]"}},"type":"object","required":["resources"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"resources":[{"resource_id":"f454d283-ca87-4a8a-bdbb-df212eca5353","name":"my-mongo-db","description":"This resource represents AWS IAM role \"SupportUser\".","admin_owner_id":"7c86c85d-0651-43e2-a748-d69d658418e8","max_duration":120,"require_manager_approval":false,"require_support_ticket":false},{"resource_id":"99d0b81d-14be-4cf6-bd27-348b4af1d11b","name":"Admin Role","description":"This resource represents GCP project \"app-demo\".","admin_owner_id":"4220bc12-ab8a-4b5d-be7b-f6bbcf9159f3","max_duration":360,"require_manager_approval":false,"require_support_ticket":true}]}}},"exampleType":"generated"}},"description":"The resulting updated resource infos.","exampleType":"generated"}},"security":{"7443ed1e-25d3-4fcc-8eb1-41a5698c35bd":{"BearerAuth":{"scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"eede27a1-273e-429e-8894-5fea991f83c7":{"description":"Production","url":"https://api.opal.dev/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"https://app.opal.dev/openapi.yaml"},"subdomain":"opalsecurity","siteName":"Opal Security Docs","title":"Put resources - Opal Security Docs","contextualStarterQuestions":[{"_id":"69b0b47b0e8c1bf71a519ff7","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"What format do I use for updates?","status":"active","generatedBy":"contextual","path":"api-reference/resources/put-resources","createdAt":"2026-03-11T00:16:59.057Z","updatedAt":"2026-03-11T00:16:59.057Z","__v":0},{"_id":"69b0b47b0e8c1bf71a519ff8","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"Can I update multiple items at once?","status":"active","generatedBy":"contextual","path":"api-reference/resources/put-resources","createdAt":"2026-03-11T00:16:59.057Z","updatedAt":"2026-03-11T00:16:59.057Z","__v":0},{"_id":"69b0b47b0e8c1bf71a519ff6","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I bulk update resources?","status":"active","generatedBy":"contextual","path":"api-reference/resources/put-resources","createdAt":"2026-03-11T00:16:59.056Z","updatedAt":"2026-03-11T00:16:59.056Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"api-reference/resources/put-resources.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Bulk updates a list of resources.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Put resources - Opal Security Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Bulk updates a list of resources.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opal.dev/api-reference/resources/put-resources\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opalsecurity.mintlify.app/_mintlify/api/og/v2?division=resources\u0026amp;title=Put+resources\u0026amp;description=Bulk+updates+a+list+of+resources.\u0026amp;theme=287ef1256bbb1bf2a61f3fd2\u0026amp;signature=516a72206697a81c26780feb3adba381b0f3fd703d80e0168ec03e852e154804\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Put resources - Opal Security Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Bulk updates a list of resources.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opalsecurity.mintlify.app/_mintlify/api/og/v2?division=resources\u0026amp;title=Put+resources\u0026amp;description=Bulk+updates+a+list+of+resources.\u0026amp;theme=287ef1256bbb1bf2a61f3fd2\u0026amp;signature=516a72206697a81c26780feb3adba381b0f3fd703d80e0168ec03e852e154804\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C7997\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opal.dev/api-reference/resources/put-resources\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/resources/put-resources.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opal.dev/#organization\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opal.dev#website\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opal.dev/api-reference/resources/put-resources#webpage\",\"url\":\"https://docs.opal.dev/api-reference/resources/put-resources\",\"name\":\"Put resources\",\"description\":\"Bulk updates a list of resources.\",\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opal.dev/api-reference/resources/put-resources#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opal.dev/api-reference/resources/put-resources#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Opal API\",\"item\":\"https://docs.opal.dev/api-reference/agent-activity/report-agent-activity\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"resources\",\"item\":\"https://docs.opal.dev/api-reference/resources/get-resources\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Put resources\",\"item\":\"https://docs.opal.dev/api-reference/resources/put-resources\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.opal.dev/api-reference/resources/put-resources#apireference\",\"headline\":\"Put resources\",\"name\":\"Put resources\",\"description\":\"Bulk updates a list of resources.\",\"url\":\"https://docs.opal.dev/api-reference/resources/put-resources\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opal.dev/api-reference/resources/put-resources#webpage\"},\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Opal Security Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Opal Security Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/welcome"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"API Reference","groups":[{"group":"API Concepts","pages":[{"title":"Authentication","href":"/reference/authentication"},{"title":"Pagination","href":"/reference/pagination"},{"title":"Identifying End System Objects","href":"/reference/end-system-objects"},{"title":"Opal API Rate Limits","href":"/reference/opal-api-rate-limits"}]},{"group":"SDKs","pages":[{"title":"Overview","href":"/reference/opal-sdks"}]},{"group":"Opal API","pages":[{"group":"agent-activity","pages":[{"title":"Report agent activity","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /agent-activity","href":"/api-reference/agent-activity/report-agent-activity"},{"title":"Anthropic inference hook verdict","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /inference-hooks/anthropic","href":"/api-reference/agent-activity/anthropic-inference-hook-verdict"},{"title":"Get the agent kill switch","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /agent-kill-switch","href":"/api-reference/agent-activity/get-the-agent-kill-switch"},{"title":"Set the agent kill switch","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /agent-kill-switch","href":"/api-reference/agent-activity/set-the-agent-kill-switch"}]},{"group":"apps","pages":[{"title":"Get apps","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /apps","href":"/api-reference/apps/get-apps"},{"title":"Create app","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /apps","href":"/api-reference/apps/create-app"},{"title":"Get app by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /apps/{app_id}","href":"/api-reference/apps/get-app-by-id"},{"title":"Update app","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /apps/{app_id}","href":"/api-reference/apps/update-app"},{"title":"Delete app","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /apps/{app_id}","href":"/api-reference/apps/delete-app"},{"title":"Get sync errors","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /sync_errors","href":"/api-reference/apps/get-sync_errors"}]},{"group":"bundles","pages":[{"title":"Get bundles","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /bundles","href":"/api-reference/bundles/get-bundles"},{"title":"Post bundles","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /bundles","href":"/api-reference/bundles/post-bundles"},{"title":"Get bundle by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /bundles/{bundle_id}","href":"/api-reference/bundles/get-bundle-by-id"},{"title":"Put bundles","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /bundles/{bundle_id}","href":"/api-reference/bundles/put-bundles"},{"title":"Delete bundles","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /bundles/{bundle_id}","href":"/api-reference/bundles/delete-bundles"},{"title":"Get bundles resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /bundles/{bundle_id}/resources","href":"/api-reference/bundles/get-bundles-resources"},{"title":"Post bundles resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /bundles/{bundle_id}/resources","href":"/api-reference/bundles/post-bundles-resources"},{"title":"Delete bundles resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /bundles/{bundle_id}/resources/{resource_id}","href":"/api-reference/bundles/delete-bundles-resources"},{"title":"Get bundles groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /bundles/{bundle_id}/groups","href":"/api-reference/bundles/get-bundles-groups"},{"title":"Post bundles groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /bundles/{bundle_id}/groups","href":"/api-reference/bundles/post-bundles-groups"},{"title":"Delete bundles groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /bundles/{bundle_id}/groups/{group_id}","href":"/api-reference/bundles/delete-bundles-groups"},{"title":"Get bundles visibility","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /bundles/{bundle_id}/visibility","href":"/api-reference/bundles/get-bundles-visibility"},{"title":"Put bundles visibility","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /bundles/{bundle_id}/visibility","href":"/api-reference/bundles/put-bundles-visibility"}]},{"group":"campaigns","pages":[{"title":"Get campaigns","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /campaigns","href":"/api-reference/campaigns/get-campaigns"},{"title":"Post campaigns","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /campaigns","href":"/api-reference/campaigns/post-campaigns"},{"title":"Get campaign by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /campaigns/{campaign_id}","href":"/api-reference/campaigns/get-campaign-by-id"},{"title":"Update campaign","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /campaigns/{campaign_id}","href":"/api-reference/campaigns/update-campaign"},{"title":"Start campaign","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /campaigns/{campaign_id}/start","href":"/api-reference/campaigns/start-campaign"},{"title":"Stop campaign","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /campaigns/{campaign_id}/stop","href":"/api-reference/campaigns/stop-campaign"},{"title":"End campaign","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /campaigns/{campaign_id}/end","href":"/api-reference/campaigns/end-campaign"},{"title":"List campaign items","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /campaigns/{campaign_id}/items","href":"/api-reference/campaigns/list-campaign-items"},{"title":"Update campaign item reviewers","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /campaigns/{campaign_id}/item-reviewers","href":"/api-reference/campaigns/update-campaign-item-reviewers"},{"title":"Submit campaign item review decisions","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /campaigns/{campaign_id}/reviews","href":"/api-reference/campaigns/submit-campaign-item-review-decisions"},{"title":"List viewer campaign items","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /campaigns/{campaign_id}/viewer-items","href":"/api-reference/campaigns/list-viewer-campaign-items"}]},{"group":"configuration-templates","pages":[{"title":"Get configuration templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /configuration-templates","href":"/api-reference/configuration-templates/get-configuration-templates"},{"title":"Put configuration templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /configuration-templates","href":"/api-reference/configuration-templates/put-configuration-templates"},{"title":"Post configuration templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /configuration-templates","href":"/api-reference/configuration-templates/post-configuration-templates"},{"title":"Delete configuration templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /configuration-templates/{configuration_template_id}","href":"/api-reference/configuration-templates/delete-configuration-templates"}]},{"group":"event-streams","pages":[{"title":"Get event streams","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /event-streams","href":"/api-reference/event-streams/get-event-streams"},{"title":"Create event stream","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /event-streams","href":"/api-reference/event-streams/create-event-stream"},{"title":"Update event stream","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /event-streams/{event_stream_id}","href":"/api-reference/event-streams/update-event-stream"},{"title":"Delete event stream","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /event-streams/{event_stream_id}","href":"/api-reference/event-streams/delete-event-stream"}]},{"group":"events","pages":[{"title":"Get events","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /events","href":"/api-reference/events/get-events"},{"title":"Get event by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /events/{event_id}","href":"/api-reference/events/get-event-by-id"}]},{"group":"groups","pages":[{"title":"Get groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups","href":"/api-reference/groups/get-groups"},{"title":"Put groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups","href":"/api-reference/groups/put-groups"},{"title":"Post groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /groups","href":"/api-reference/groups/post-groups"},{"title":"Get group by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}","href":"/api-reference/groups/get-group-by-id"},{"title":"Delete groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /groups/{group_id}","href":"/api-reference/groups/delete-groups"},{"title":"Get the ID of the configuration template linked to a group","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/configuration-template","href":"/api-reference/groups/get-the-id-of-the-configuration-template-linked-to-a-group"},{"title":"Set the ID of the configuration template linked to a group","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/configuration-template","href":"/api-reference/groups/set-the-id-of-the-configuration-template-linked-to-a-group"},{"title":"Get groups message channels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/message-channels","href":"/api-reference/groups/get-groups-message-channels"},{"title":"Put groups message channels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/message-channels","href":"/api-reference/groups/put-groups-message-channels"},{"title":"Get groups on call schedules","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/on-call-schedules","href":"/api-reference/groups/get-groups-on-call-schedules"},{"title":"Put groups on call schedules","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/on-call-schedules","href":"/api-reference/groups/put-groups-on-call-schedules"},{"title":"Get group access levels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/access_levels","href":"/api-reference/groups/get-group-access-levels"},{"title":"Get groups resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/resources","href":"/api-reference/groups/get-groups-resources"},{"title":"Put groups resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/resources","href":"/api-reference/groups/put-groups-resources"},{"title":"Get member groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/groups","href":"/api-reference/groups/get-member-groups"},{"title":"Get nested groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/containing-groups","href":"/api-reference/groups/get-nested-groups"},{"title":"Post groups containing groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /groups/{group_id}/containing-groups","href":"/api-reference/groups/post-groups-containing-groups"},{"title":"Get nested group by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/containing-groups/{containing_group_id}","href":"/api-reference/groups/get-nested-group-by-id"},{"title":"Delete groups containing groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /groups/{group_id}/containing-groups/{containing_group_id}","href":"/api-reference/groups/delete-groups-containing-groups"},{"title":"Post groups resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /groups/{group_id}/resources/{resource_id}","href":"/api-reference/groups/post-groups-resources"},{"title":"Get groups visibility","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/visibility","href":"/api-reference/groups/get-groups-visibility"},{"title":"Put groups visibility","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/visibility","href":"/api-reference/groups/put-groups-visibility"},{"title":"Get groups reviewers","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/reviewers","href":"/api-reference/groups/get-groups-reviewers"},{"title":"Put groups reviewers","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/reviewers","href":"/api-reference/groups/put-groups-reviewers"},{"title":"Get groups reviewer stages","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/reviewer-stages","href":"/api-reference/groups/get-groups-reviewer-stages"},{"title":"Put groups reviewer stages","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/reviewer-stages","href":"/api-reference/groups/put-groups-reviewer-stages"},{"title":"Get groups tags","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/tags","href":"/api-reference/groups/get-groups-tags"},{"title":"Get groups users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/{group_id}/users","href":"/api-reference/groups/get-groups-users"},{"title":"Put groups users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /groups/{group_id}/users/{user_id}","href":"/api-reference/groups/put-groups-users"},{"title":"Post groups users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /groups/{group_id}/users/{user_id}","href":"/api-reference/groups/post-groups-users"},{"title":"Delete groups users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /groups/{group_id}/users/{user_id}","href":"/api-reference/groups/delete-groups-users"},{"title":"Get groupsusers","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /groups/users/{user_id}","href":"/api-reference/groups/get-groupsusers"}]},{"group":"group-bindings","pages":[{"title":"Get group bindings","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /group-bindings","href":"/api-reference/group-bindings/get-group-bindings"},{"title":"Put group bindings","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /group-bindings","href":"/api-reference/group-bindings/put-group-bindings"},{"title":"Post group bindings","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /group-bindings","href":"/api-reference/group-bindings/post-group-bindings"},{"title":"Get group binding by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /group-bindings/{group_binding_id}","href":"/api-reference/group-bindings/get-group-binding-by-id"},{"title":"Delete group bindings","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /group-bindings/{group_binding_id}","href":"/api-reference/group-bindings/delete-group-bindings"}]},{"group":"idp-group-mappings","pages":[{"title":"Get idp group mappings","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /idp-group-mappings/{app_resource_id}","href":"/api-reference/idp-group-mappings/get-idp-group-mappings"},{"title":"Put idp group mappings","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /idp-group-mappings/{app_resource_id}","href":"/api-reference/idp-group-mappings/put-idp-group-mappings"},{"title":"Get idp group mappings groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /idp-group-mappings/{app_resource_id}/groups/{group_id}","href":"/api-reference/idp-group-mappings/get-idp-group-mappings-groups"},{"title":"Post idp group mappings groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /idp-group-mappings/{app_resource_id}/groups/{group_id}","href":"/api-reference/idp-group-mappings/post-idp-group-mappings-groups"},{"title":"Delete idp group mappings groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /idp-group-mappings/{app_resource_id}/groups/{group_id}","href":"/api-reference/idp-group-mappings/delete-idp-group-mappings-groups"}]},{"group":"opal-scripts","pages":[{"title":"List OpalScripts","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /opal-scripts","href":"/api-reference/opal-scripts/list-opalscripts"},{"title":"Create OpalScript","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /opal-scripts","href":"/api-reference/opal-scripts/create-opalscript"},{"title":"Get OpalScript by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /opal-scripts/{opal_script_id}","href":"/api-reference/opal-scripts/get-opalscript-by-id"},{"title":"Update OpalScript","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /opal-scripts/{opal_script_id}","href":"/api-reference/opal-scripts/update-opalscript"},{"title":"Delete OpalScript","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /opal-scripts/{opal_script_id}","href":"/api-reference/opal-scripts/delete-opalscript"},{"title":"Get OpalScript by name","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /opal-scripts/name/{opal_script_name}","href":"/api-reference/opal-scripts/get-opalscript-by-name"}]},{"group":"owners","pages":[{"title":"Get owners","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /owners","href":"/api-reference/owners/get-owners"},{"title":"Put owners","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /owners","href":"/api-reference/owners/put-owners"},{"title":"Post owners","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /owners","href":"/api-reference/owners/post-owners"},{"title":"Get owner by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /owners/{owner_id}","href":"/api-reference/owners/get-owner-by-id"},{"title":"Delete owners","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /owners/{owner_id}","href":"/api-reference/owners/delete-owners"},{"title":"Get ownersname","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /owners/name/{owner_name}","href":"/api-reference/owners/get-ownersname"},{"title":"Get owners users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /owners/{owner_id}/users","href":"/api-reference/owners/get-owners-users"},{"title":"Put owners users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /owners/{owner_id}/users","href":"/api-reference/owners/put-owners-users"}]},{"group":"request-templates","pages":[{"title":"Get request templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /request-templates","href":"/api-reference/request-templates/get-request-templates"},{"title":"Put request templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /request-templates","href":"/api-reference/request-templates/put-request-templates"},{"title":"Post request templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /request-templates","href":"/api-reference/request-templates/post-request-templates"},{"title":"Get request templates 1","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /request-templates/{request_template_id}","href":"/api-reference/request-templates/get-request-templates-1"},{"title":"Delete request templates","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /request-templates/{request_template_id}","href":"/api-reference/request-templates/delete-request-templates"}]},{"group":"requests","pages":[{"title":"Get requests","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /requests","href":"/api-reference/requests/get-requests"},{"title":"Post requests","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests","href":"/api-reference/requests/post-requests"},{"title":"Get requests via Relay","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /requests/relay","href":"/api-reference/requests/get-requests-via-relay"},{"title":"Get request by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /requests/{id}","href":"/api-reference/requests/get-request-by-id"},{"title":"Post requests approve","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests/{id}/approve","href":"/api-reference/requests/post-requests-approve"},{"title":"Post requests deny","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests/{id}/deny","href":"/api-reference/requests/post-requests-deny"},{"title":"Cancel request","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests/{id}/cancel","href":"/api-reference/requests/cancel-request"},{"title":"Escalate request to skip-manager","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests/{id}/escalate","href":"/api-reference/requests/escalate-request-to-skip-manager"},{"title":"Send request reminder","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests/{id}/remind","href":"/api-reference/requests/send-request-reminder"},{"title":"Send reminder to a reviewer","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests/{id}/reviewers/{reviewer_id}/remind","href":"/api-reference/requests/send-reminder-to-a-reviewer"},{"title":"Get requests comments","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /requests/{id}/comments","href":"/api-reference/requests/get-requests-comments"},{"title":"Post requests comments","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /requests/{id}/comments","href":"/api-reference/requests/post-requests-comments"}]},{"group":"role-assignments","pages":[{"title":"List role assignments","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /role-assignments","href":"/api-reference/role-assignments/list-role-assignments"},{"title":"Add role assignments","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /role-assignments","href":"/api-reference/role-assignments/add-role-assignments"},{"title":"Remove role assignments","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /role-assignments","href":"/api-reference/role-assignments/remove-role-assignments"}]},{"group":"resources","pages":[{"title":"Get resources","description":"Returns a list of resources for your organization.","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources","href":"/api-reference/resources/get-resources"},{"title":"Put resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources","href":"/api-reference/resources/put-resources"},{"title":"Post resources","description":"Creates a resource. See [here](https://docs.opal.dev/reference/end-system-objects) for details about importing resources.","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /resources","href":"/api-reference/resources/post-resources"},{"title":"Get resource by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}","href":"/api-reference/resources/get-resource-by-id"},{"title":"Delete resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /resources/{resource_id}","href":"/api-reference/resources/delete-resources"},{"title":"Get the ID of the configuration template linked to a resource","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/configuration-template","href":"/api-reference/resources/get-the-id-of-the-configuration-template-linked-to-a-resource"},{"title":"Set the ID of the configuration template linked to a resource","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources/{resource_id}/configuration-template","href":"/api-reference/resources/set-the-id-of-the-configuration-template-linked-to-a-resource"},{"title":"Get resources message channels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/message-channels","href":"/api-reference/resources/get-resources-message-channels"},{"title":"Put resources message channels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources/{resource_id}/message-channels","href":"/api-reference/resources/put-resources-message-channels"},{"title":"Get resources visibility","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/visibility","href":"/api-reference/resources/get-resources-visibility"},{"title":"Put resources visibility","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources/{resource_id}/visibility","href":"/api-reference/resources/put-resources-visibility"},{"title":"Get resources reviewers","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/reviewers","href":"/api-reference/resources/get-resources-reviewers"},{"title":"Put resources reviewers","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources/{resource_id}/reviewers","href":"/api-reference/resources/put-resources-reviewers"},{"title":"Get resources reviewer stages","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/reviewer-stages","href":"/api-reference/resources/get-resources-reviewer-stages"},{"title":"Put resources reviewer stages","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources/{resource_id}/reviewer-stages","href":"/api-reference/resources/put-resources-reviewer-stages"},{"title":"Get resources non human identities","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/non-human-identities","href":"/api-reference/resources/get-resources-non-human-identities"},{"title":"Get resource users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/users","href":"/api-reference/resources/get-resource-users"},{"title":"Post resources non human identities","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /resources/{resource_id}/non-human-identities/{non_human_identity_id}","href":"/api-reference/resources/post-resources-non-human-identities"},{"title":"Delete resources non human identities","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /resources/{resource_id}/non-human-identities/{non_human_identity_id}","href":"/api-reference/resources/delete-resources-non-human-identities"},{"title":"Get resource user","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/users/{user_id}","href":"/api-reference/resources/get-resource-user"},{"title":"Put resources users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources/{resource_id}/users/{user_id}","href":"/api-reference/resources/put-resources-users"},{"title":"Post resources users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /resources/{resource_id}/users/{user_id}","href":"/api-reference/resources/post-resources-users"},{"title":"Delete resources users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /resources/{resource_id}/users/{user_id}","href":"/api-reference/resources/delete-resources-users"},{"title":"Get resource user access status ","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resource-user-access-status/{resource_id}/{user_id}","href":"/api-reference/resources/get-resource-user-access-status-"},{"title":"Get resources tags","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/tags","href":"/api-reference/resources/get-resources-tags"},{"title":"Get resources scoped role permissions","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/scoped-role-permissions","href":"/api-reference/resources/get-resources-scoped-role-permissions"},{"title":"Put resources scoped role permissions","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /resources/{resource_id}/scoped-role-permissions","href":"/api-reference/resources/put-resources-scoped-role-permissions"},{"title":"Get resources custom access levels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/custom-access-levels","href":"/api-reference/resources/get-resources-custom-access-levels"},{"title":"Post resources custom access levels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /resources/{resource_id}/custom-access-levels","href":"/api-reference/resources/post-resources-custom-access-levels"},{"title":"Delete resources custom access levels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /resources/{resource_id}/custom-access-levels/{access_level_remote_id}","href":"/api-reference/resources/delete-resources-custom-access-levels"},{"title":"Patch resources custom access levels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml patch /resources/{resource_id}/custom-access-levels/{access_level_remote_id}","href":"/api-reference/resources/patch-resources-custom-access-levels"},{"title":"Get resourcesusers","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/users/{user_id}","href":"/api-reference/resources/get-resourcesusers"},{"title":"Get resources groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/groups","href":"/api-reference/resources/get-resources-groups"},{"title":"Get resource access levels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /resources/{resource_id}/access_levels","href":"/api-reference/resources/get-resource-access-levels"}]},{"group":"non-human-identities","pages":[{"title":"Get non human identities","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /non-human-identities","href":"/api-reference/non-human-identities/get-non-human-identities"}]},{"group":"paladin","pages":[{"title":"Create Paladin","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /paladin","href":"/api-reference/paladin/create-paladin"},{"title":"Get Paladin by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /paladin/{paladin_id}","href":"/api-reference/paladin/get-paladin-by-id"},{"title":"Update Paladin","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /paladin/{paladin_id}","href":"/api-reference/paladin/update-paladin"},{"title":"Delete Paladin","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /paladin/{paladin_id}","href":"/api-reference/paladin/delete-paladin"},{"title":"Get Paladins by name","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /paladin/name/{paladin_name}","href":"/api-reference/paladin/get-paladins-by-name"},{"title":"List Paladin context sources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /paladin/{paladin_id}/context-sources","href":"/api-reference/paladin/list-paladin-context-sources"},{"title":"Add a Paladin context source","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /paladin/{paladin_id}/context-sources","href":"/api-reference/paladin/add-a-paladin-context-source"},{"title":"Remove a Paladin context source","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /paladin/{paladin_id}/context-sources/{context_source_id}","href":"/api-reference/paladin/remove-a-paladin-context-source"}]},{"group":"service-users","pages":[{"title":"Create service user","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /service-users","href":"/api-reference/service-users/create-service-user"}]},{"group":"sessions","pages":[{"title":"Get sessions","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /sessions","href":"/api-reference/sessions/get-sessions"}]},{"group":"users","pages":[{"title":"Get user","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /user","href":"/api-reference/users/get-user"},{"title":"Get users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /users","href":"/api-reference/users/get-users"},{"title":"Post users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /users","href":"/api-reference/users/post-users"},{"title":"Get user by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /users/{user_id}","href":"/api-reference/users/get-user-by-id"},{"title":"Delete users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /users/{user_id}","href":"/api-reference/users/delete-users"},{"title":"Patch users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml patch /users/{user_id}","href":"/api-reference/users/patch-users"},{"title":"Reset a user's Opal MFA","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /users/{user_id}/mfa/reset","href":"/api-reference/users/reset-a-users-opal-mfa"},{"title":"Get usersremote users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /users/remote_users","href":"/api-reference/users/get-usersremote_users"},{"title":"Get userswhoami","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /users/whoami","href":"/api-reference/users/get-userswhoami"},{"title":"Get users tags","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /users/{user_id}/tags","href":"/api-reference/users/get-users-tags"}]},{"group":"access-rules","pages":[{"title":"Get access rules","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /access-rules","href":"/api-reference/access-rules/get-access-rules"},{"title":"Post access rules","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /access-rules","href":"/api-reference/access-rules/post-access-rules"},{"title":"Get access rules 1","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /access-rules/{access_rule_id}","href":"/api-reference/access-rules/get-access-rules-1"},{"title":"Put access rules","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml put /access-rules/{access_rule_id}","href":"/api-reference/access-rules/put-access-rules"}]},{"group":"tags","pages":[{"title":"Get tag by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /tag/{tag_id}","href":"/api-reference/tags/get-tag-by-id"},{"title":"Delete tag","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /tag/{tag_id}","href":"/api-reference/tags/delete-tag"},{"title":"Get tag","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /tag","href":"/api-reference/tags/get-tag"},{"title":"Post tag","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /tag","href":"/api-reference/tags/post-tag"},{"title":"Get tags","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /tags","href":"/api-reference/tags/get-tags"},{"title":"Post tags users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /tags/{tag_id}/users/{user_id}","href":"/api-reference/tags/post-tags-users"},{"title":"Delete tags users","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /tags/{tag_id}/users/{user_id}","href":"/api-reference/tags/delete-tags-users"},{"title":"Post tags groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /tags/{tag_id}/groups/{group_id}","href":"/api-reference/tags/post-tags-groups"},{"title":"Delete tags groups","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /tags/{tag_id}/groups/{group_id}","href":"/api-reference/tags/delete-tags-groups"},{"title":"Post tags resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /tags/{tag_id}/resources/{resource_id}","href":"/api-reference/tags/post-tags-resources"},{"title":"Delete tags resources","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /tags/{tag_id}/resources/{resource_id}","href":"/api-reference/tags/delete-tags-resources"}]},{"group":"message-channels","pages":[{"title":"Get message channels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /message-channels","href":"/api-reference/message-channels/get-message-channels"},{"title":"Post message channels","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /message-channels","href":"/api-reference/message-channels/post-message-channels"},{"title":"Get message channel by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /message-channels/{message_channel_id}","href":"/api-reference/message-channels/get-message-channel-by-id"}]},{"group":"on-call-schedules","pages":[{"title":"Get on call schedules","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /on-call-schedules","href":"/api-reference/on-call-schedules/get-on-call-schedules"},{"title":"Post on call schedules","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /on-call-schedules","href":"/api-reference/on-call-schedules/post-on-call-schedules"},{"title":"Get on call schedule by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /on-call-schedules/{on_call_schedule_id}","href":"/api-reference/on-call-schedules/get-on-call-schedule-by-id"}]},{"group":"opal-queries","pages":[{"title":"Run an ad-hoc OpalQuery","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /queries/run","href":"/api-reference/opal-queries/run-an-ad-hoc-opalquery"}]},{"group":"tokens","pages":[{"title":"Get tokens","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /tokens","href":"/api-reference/tokens/get-tokens"},{"title":"Create token","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /tokens","href":"/api-reference/tokens/create-token"},{"title":"Delete token","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /tokens/{token_id}","href":"/api-reference/tokens/delete-token"}]},{"group":"uars","pages":[{"title":"Get uars","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /uars","href":"/api-reference/uars/get-uars"},{"title":"Post uar","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /uar","href":"/api-reference/uars/post-uar"},{"title":"Get uar","deprecated":true,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /uar/{uar_id}","href":"/api-reference/uars/get-uar"}]},{"group":"delegations","pages":[{"title":"Get delegations","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /delegations","href":"/api-reference/delegations/get-delegations"},{"title":"Post delegations","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml post /delegations","href":"/api-reference/delegations/post-delegations"},{"title":"Get delegation by ID","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml get /delegations/{delegation_id}","href":"/api-reference/delegations/get-delegation-by-id"},{"title":"Delete delegations","deprecated":null,"version":null,"openapi":"https://app.opal.dev/openapi.yaml delete /delegations/{delegation_id}","href":"/api-reference/delegations/delete-delegations"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]},"basePath":"","title":"Put resources - Opal Security Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}