{
  "$id": "https://opendatafabric.org/schemas/auth/v1alpha1/UserSpec",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "User account specification.",
  "type": "object",
  "required": [],
  "properties": {
    "did": {
      "type": "string",
      "format": "account-id",
      "description": "DID associated with the account by ODF or an external system."
    },
    "displayName": {
      "type": "string",
      "description": "Human-friendly display name."
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "Email address of the user."
    },
    "avatarUrl": {
      "type": "string",
      "format": "uri",
      "description": "URL of the account's avatar image."
    },
    "password": {
      "$ref": "https://opendatafabric.org/schemas/config/v1alpha1/Secret",
      "description": "Password for local authentication, stored as a hash upon apply. Absent for SSO or DID-based accounts.",
      "unevaluatedProperties": false
    },
    "disabled": {
      "type": "boolean",
      "default": false,
      "description": "Suspends the account. Effects of suspension are implementation-specific."
    }
  }
}
