{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/UpdateAuthorizationResourceDto", "title": "UpdateAuthorizationResourceDto", "allOf": [ { "type": "object", "properties": { "name": { "type": "string", "maxLength": 48, "description": "A display name for the resource.", "example": "Updated Name" }, "description": { "type": [ "string", "null" ], "maxLength": 150, "description": "An optional description of the resource.", "example": "Updated description" } } }, { "oneOf": [ { "type": "object", "not": { "anyOf": [ { "properties": { "parent_resource_id": { "x-exclude-from-lint": true } }, "required": [ "parent_resource_id" ] }, { "properties": { "parent_resource_external_id": { "x-exclude-from-lint": true } }, "required": [ "parent_resource_external_id" ] }, { "properties": { "parent_resource_type_slug": { "x-exclude-from-lint": true } }, "required": [ "parent_resource_type_slug" ] } ] } }, { "type": "object", "properties": { "parent_resource_id": { "type": "string", "description": "The ID of the parent resource. Mutually exclusive with `parent_resource_external_id` and `parent_resource_type_slug`.", "example": "authz_resource_01HXYZ123456789ABCDEFGHIJ" } }, "required": [ "parent_resource_id" ], "not": { "anyOf": [ { "properties": { "parent_resource_external_id": { "x-exclude-from-lint": true } }, "required": [ "parent_resource_external_id" ] }, { "properties": { "parent_resource_type_slug": { "x-exclude-from-lint": true } }, "required": [ "parent_resource_type_slug" ] } ] } }, { "type": "object", "properties": { "parent_resource_external_id": { "type": "string", "description": "The external ID of the parent resource. Required with `parent_resource_type_slug`. Mutually exclusive with `parent_resource_id`.", "example": "parent-workspace-01" }, "parent_resource_type_slug": { "type": "string", "description": "The resource type slug of the parent resource. Required with `parent_resource_external_id`. Mutually exclusive with `parent_resource_id`.", "example": "workspace" } }, "required": [ "parent_resource_external_id", "parent_resource_type_slug" ], "not": { "anyOf": [ { "properties": { "parent_resource_id": { "x-exclude-from-lint": true } }, "required": [ "parent_resource_id" ] } ] } } ] } ], "x-mutually-exclusive-body-groups": { "parent_resource": { "optional": true, "variants": { "by_id": [ "parent_resource_id" ], "by_external_id": [ "parent_resource_external_id", "parent_resource_type_slug" ] } } } }