WorkOS · Schema

UpdateAuthorizationResourceDto

AuthenticationIdentity ProviderSSOSAMLOIDCSCIMDirectory SyncAuthorizationFGAAudit LogsMFAB2B SaaSAgentsMCP
View JSON Schema on GitHub

JSON Schema

workos-updateauthorizationresourcedto-schema.json Raw ↑
{
  "$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"
        ]
      }
    }
  }
}