Authelia · Schema

Authelia User Database.Schema

AuthenticationAuthorizationLDAPMFAOpen-SourceOpenID ConnectSelf-HostedSSO
View JSON Schema on GitHub

JSON Schema

authelia-user-database.schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.authelia.com/schemas/v4.39/json-schema/user-database.json",
  "$ref": "#/$defs/FileUserDatabase",
  "$defs": {
    "FileUserDatabase": {
      "properties": {
        "users": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/FileUserDatabaseUserDetails"
            }
          },
          "type": "object",
          "title": "Users",
          "description": "The dictionary of users."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "users"
      ],
      "description": "FileUserDatabase is a user details database that is concurrency safe database and can be reloaded."
    },
    "FileUserDatabaseUserDetails": {
      "properties": {
        "password": {
          "$ref": "#/$defs/PasswordDigest",
          "title": "Password",
          "description": "The hashed password for the user."
        },
        "displayname": {
          "type": "string",
          "title": "Display Name",
          "description": "The display name for the user."
        },
        "given_name": {
          "type": "string",
          "title": "Given Name",
          "description": "The given name for the user."
        },
        "middle_name": {
          "type": "string",
          "title": "Middle Name",
          "description": "The middle name for the user."
        },
        "family_name": {
          "type": "string",
          "title": "Family Name",
          "description": "The family name for the user."
        },
        "nickname": {
          "type": "string",
          "title": "Nickname",
          "description": "The nickname for the user."
        },
        "gender": {
          "type": "string",
          "title": "Gender",
          "description": "The gender for the user."
        },
        "birthdate": {
          "type": "string",
          "title": "Birthdate",
          "description": "The birthdate for the user."
        },
        "website": {
          "type": "string",
          "format": "uri",
          "title": "Website",
          "description": "The website URL for the user."
        },
        "profile": {
          "type": "string",
          "format": "uri",
          "title": "Profile",
          "description": "The profile URL for the user."
        },
        "picture": {
          "type": "string",
          "format": "uri",
          "title": "Picture",
          "description": "The picture URL for the user."
        },
        "zoneinfo": {
          "type": "string",
          "title": "Zone Information",
          "description": "The time zone for the user."
        },
        "locale": {
          "type": "string",
          "pattern": "^[a-z]{2}-[A-Z]{2}$",
          "title": "Locale",
          "description": "The BCP47 locale for the user."
        },
        "phone_number": {
          "type": "string",
          "title": "Phone Number",
          "description": "The phone number for the user."
        },
        "phone_extension": {
          "type": "string",
          "title": "Phone Extension",
          "description": "The phone extension for the user."
        },
        "email": {
          "type": "string",
          "title": "Email",
          "description": "The email for the user."
        },
        "groups": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "title": "Groups",
          "description": "The groups list for the user."
        },
        "disabled": {
          "type": "boolean",
          "title": "Disabled",
          "description": "The disabled status for the user.",
          "default": false
        },
        "address": {
          "$ref": "#/$defs/FileUserDatabaseUserDetailsAddressModel",
          "title": "Address",
          "description": "The address for the user."
        },
        "extra": {
          "type": "object",
          "title": "Extra",
          "description": "The extra attributes for the user."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "password",
        "displayname"
      ],
      "description": "FileUserDatabaseUserDetails is the model of user details in the file database."
    },
    "FileUserDatabaseUserDetailsAddressModel": {
      "properties": {
        "street_address": {
          "type": "string",
          "title": "Street Address",
          "description": "The street address for the user."
        },
        "locality": {
          "type": "string",
          "title": "Locality",
          "description": "The locality for the user."
        },
        "region": {
          "type": "string",
          "title": "Region",
          "description": "The region for the user."
        },
        "postal_code": {
          "type": "string",
          "title": "Postal Code",
          "description": "The postal code or postcode for the user."
        },
        "country": {
          "type": "string",
          "title": "Country",
          "description": "The country for the user."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "FileUserDatabaseUserDetailsAddressModel represents the address of a user in the file user database."
    },
    "PasswordDigest": {
      "type": "string",
      "pattern": "^\\$((argon2(id|i|d)\\$v=19\\$m=\\d+,t=\\d+,p=\\d+|scrypt\\$ln=\\d+,r=\\d+,p=\\d+)\\$[a-zA-Z0-9\\/+]+\\$[a-zA-Z0-9\\/+]+|pbkdf2(-sha(224|256|384|512))?\\$\\d+\\$[a-zA-Z0-9\\/.]+\\$[a-zA-Z0-9\\/.]+|bcrypt-sha256\\$v=2,t=2b,r=\\d+\\$[a-zA-Z0-9\\/.]+\\$[a-zA-Z0-9\\/.]+|2(a|b|y)?\\$\\d+\\$[a-zA-Z0-9.\\/]+|(5|6)\\$rounds=\\d+\\$[a-zA-Z0-9.\\/]+\\$[a-zA-Z0-9.\\/]+|plaintext\\$.+|base64\\$[a-zA-Z0-9.=\\/]+)$"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/authelia-user-database.schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.