WorkOS · Schema

CheckAuthorizationDto

AuthenticationIdentity ProviderSSOSAMLOIDCSCIMDirectory SyncAuthorizationFGAAudit LogsMFAB2B SaaSAgentsMCP
View JSON Schema on GitHub

JSON Schema

workos-checkauthorizationdto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CheckAuthorizationDto",
  "title": "CheckAuthorizationDto",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "permission_slug": {
          "type": "string",
          "description": "The slug of the permission to check.",
          "example": "posts:create"
        }
      },
      "required": [
        "permission_slug"
      ]
    },
    {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "resource_id": {
              "type": "string",
              "description": "The ID of the resource. Mutually exclusive with `resource_external_id` and `resource_type_slug`.",
              "example": "resource_01HXYZ123456789ABCDEFGHIJ"
            }
          },
          "required": [
            "resource_id"
          ],
          "not": {
            "anyOf": [
              {
                "properties": {
                  "resource_external_id": {
                    "x-exclude-from-lint": true
                  }
                },
                "required": [
                  "resource_external_id"
                ]
              },
              {
                "properties": {
                  "resource_type_slug": {
                    "x-exclude-from-lint": true
                  }
                },
                "required": [
                  "resource_type_slug"
                ]
              }
            ]
          }
        },
        {
          "type": "object",
          "properties": {
            "resource_external_id": {
              "type": "string",
              "description": "The external ID of the resource. Required with `resource_type_slug`. Mutually exclusive with `resource_id`.",
              "example": "my-custom-id"
            },
            "resource_type_slug": {
              "type": "string",
              "description": "The slug of the resource type. Required with `resource_external_id`. Mutually exclusive with `resource_id`.",
              "example": "document"
            }
          },
          "required": [
            "resource_external_id",
            "resource_type_slug"
          ],
          "not": {
            "anyOf": [
              {
                "properties": {
                  "resource_id": {
                    "x-exclude-from-lint": true
                  }
                },
                "required": [
                  "resource_id"
                ]
              }
            ]
          }
        }
      ]
    }
  ],
  "x-mutually-exclusive-body-groups": {
    "resource_target": {
      "optional": false,
      "variants": {
        "by_id": [
          "resource_id"
        ],
        "by_external_id": [
          "resource_external_id",
          "resource_type_slug"
        ]
      }
    }
  }
}