{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CreateUserContract",
  "title": "CreateUserContract",
  "type": "object",
  "description": "Contract for creating a new user",
  "required": [
    "firstName",
    "lastName",
    "email"
  ],
  "properties": {
    "firstName": {
      "type": "string",
      "description": "User's first name",
      "example": "example_value"
    },
    "lastName": {
      "type": "string",
      "description": "User's last name",
      "example": "example_value"
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "User's email address",
      "example": "user@example.com"
    },
    "role": {
      "type": "string",
      "enum": [
        "NoAccess",
        "Viewer",
        "Member",
        "Artisan",
        "Curator",
        "Evaluated"
      ],
      "description": "User role determining access level",
      "example": "NoAccess"
    },
    "defaultWorkerTag": {
      "type": "string",
      "description": "Default worker tag for the user",
      "example": "example_value"
    },
    "canScheduleJobs": {
      "type": "boolean",
      "description": "Whether the user can create schedules",
      "example": true
    },
    "canPrioritizeJobs": {
      "type": "boolean",
      "description": "Whether the user can set job priority",
      "example": true
    },
    "canAssignJobs": {
      "type": "boolean",
      "description": "Whether the user can assign jobs to workers",
      "example": true
    },
    "canCreateCollections": {
      "type": "boolean",
      "description": "Whether the user can create collections",
      "example": true
    },
    "isApiEnabled": {
      "type": "boolean",
      "description": "Whether API access is enabled for the user",
      "example": true
    },
    "defaultCredentialId": {
      "type": "string",
      "description": "Default credential ID for the user",
      "example": "500123"
    },
    "isActive": {
      "type": "boolean",
      "description": "Whether the user account is active",
      "example": true
    },
    "timeZone": {
      "type": "string",
      "description": "User's preferred time zone",
      "example": "example_value"
    },
    "canCreateAndUpdateDcm": {
      "type": "boolean",
      "description": "Whether the user can create and update DCM connections",
      "example": true
    },
    "canShareForExecutionDcm": {
      "type": "boolean",
      "description": "Whether the user can share DCM connections for execution",
      "example": true
    },
    "canShareForCollaborationDcm": {
      "type": "boolean",
      "description": "Whether the user can share DCM connections for collaboration",
      "example": true
    },
    "canManageGenericVaultsDcm": {
      "type": "boolean",
      "description": "Whether the user can manage generic DCM vaults",
      "example": true
    }
  }
}