Authelia · Schema

Authelia Configuration.Schema

AuthenticationAuthorizationLDAPMFAOpen SourceOpenID ConnectSelf-HostedSSOIdentity Federation

Properties

Name Type Description
theme string The name of the theme to apply to the web UI.
certificates_directory string The path to a directory which is used to determine the certificates that are trusted.
default_2fa_method string When a user logs in for the first time this is the 2FA method configured for them.
log object Logging Configuration.
identity_providers object Identity Providers Configuration.
authentication_backend object Authentication Backend Configuration.
session object Session Configuration.
totp object Time-based One-Time Password Configuration.
duo_api object Duo API Configuration.
access_control object Access Control Configuration.
ntp object Network Time Protocol Configuration.
regulation object Regulation Configuration.
storage object Storage Configuration.
notifier object Notifier Configuration.
server object Server Configuration.
telemetry object Telemetry Configuration.
webauthn object WebAuthn Configuration.
password_policy object Password Policy Configuration.
privacy_policy object Privacy Policy Configuration.
identity_validation object Identity Validation Configuration.
definitions object Definitions for items reused elsewhere in the configuration.
default_redirection_url string Deprecated: Use the session cookies option with the same name instead.
View JSON Schema on GitHub

JSON Schema

authelia-configuration.schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.authelia.com/schemas/v4.39/json-schema/configuration.json",
  "$ref": "#/$defs/Configuration",
  "$defs": {
    "AccessControl": {
      "properties": {
        "default_policy": {
          "type": "string",
          "enum": [
            "deny",
            "one_factor",
            "two_factor"
          ],
          "title": "Default Authorization Policy",
          "description": "The default policy applied to all authorization requests unrelated to OpenID Connect 1.0.",
          "default": "deny"
        },
        "networks": {
          "items": {
            "$ref": "#/$defs/AccessControlNetwork"
          },
          "type": "array",
          "title": "Named Networks",
          "description": "The list of named networks which can be reused in any ACL rule."
        },
        "rules": {
          "items": {
            "$ref": "#/$defs/AccessControlRule"
          },
          "type": "array",
          "title": "Rules List",
          "description": "The list of ACL rules to enumerate for requests."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AccessControl represents the configuration related to ACLs."
    },
    "AccessControlNetwork": {
      "properties": {
        "name": {
          "type": "string",
          "title": "Network Name",
          "description": "The name of this network to be used in the networks section of the rules section."
        },
        "networks": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          ],
          "title": "Networks",
          "description": "The remote IP's or network ranges in CIDR notation that this rule applies to."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "name",
        "networks"
      ],
      "description": "AccessControlNetwork represents one ACL network group entry."
    },
    "AccessControlRule": {
      "oneOf": [
        {
          "required": [
            "domain"
          ],
          "title": "Domain"
        },
        {
          "required": [
            "domain_regex"
          ],
          "title": "Domain Regex"
        }
      ],
      "properties": {
        "domain": {
          "$ref": "#/$defs/AccessControlRuleDomains",
          "title": "Domain Literals",
          "description": "The literal domains to match the domain against that this rule applies to."
        },
        "domain_regex": {
          "$ref": "#/$defs/AccessControlRuleRegexCI",
          "title": "Domain Regex Patterns",
          "description": "The regex patterns to match the domain against that this rule applies to."
        },
        "policy": {
          "type": "string",
          "enum": [
            "bypass",
            "deny",
            "one_factor",
            "two_factor"
          ],
          "title": "Rule Policy",
          "description": "The policy this rule applies when all criteria match."
        },
        "subject": {
          "$ref": "#/$defs/AccessControlRuleSubjects",
          "title": "AccessControlRuleSubjects",
          "description": "The users or groups that this rule applies to."
        },
        "networks": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          ],
          "title": "Networks",
          "description": "The remote IP's, network ranges in CIDR notation, or network definition names that this rule applies to."
        },
        "resources": {
          "$ref": "#/$defs/AccessControlRuleRegex",
          "title": "Resources or Paths",
          "description": "The regex patterns to match the resource paths that this rule applies to."
        },
        "methods": {
          "$ref": "#/$defs/AccessControlRuleMethods",
          "title": "Methods",
          "description": "The list of request methods this rule applies to."
        },
        "query": {
          "items": {
            "items": {
              "$ref": "#/$defs/AccessControlRuleQuery"
            },
            "type": "array"
          },
          "type": "array",
          "title": "Query Rules",
          "description": "The list of query parameter rules this rule applies to."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "policy"
      ],
      "description": "AccessControlRule represents one ACL rule entry."
    },
    "AccessControlRuleDomains": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "type": "array",
          "uniqueItems": true
        }
      ]
    },
    "AccessControlRuleMethods": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "PATCH",
            "DELETE",
            "TRACE",
            "CONNECT",
            "OPTIONS",
            "COPY",
            "LOCK",
            "MKCOL",
            "MOVE",
            "PROPFIND",
            "PROPPATCH",
            "UNLOCK"
          ]
        },
        {
          "items": {
            "type": "string",
            "enum": [
              "GET",
              "HEAD",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "TRACE",
              "CONNECT",
              "OPTIONS",
              "COPY",
              "LOCK",
              "MKCOL",
              "MOVE",
              "PROPFIND",
              "PROPPATCH",
              "UNLOCK"
            ]
          },
          "type": "array",
          "uniqueItems": true
        }
      ]
    },
    "AccessControlRuleQuery": {
      "properties": {
        "operator": {
          "type": "string",
          "enum": [
            "equal",
            "not equal",
            "present",
            "absent",
            "pattern",
            "not pattern"
          ],
          "title": "Operator",
          "description": "The list of query parameter rules this rule applies to."
        },
        "key": {
          "type": "string",
          "title": "Key",
          "description": "The Query Parameter key this rule applies to."
        },
        "value": {
          "title": "Value",
          "description": "The Query Parameter value for this rule."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "key"
      ],
      "description": "AccessControlRuleQuery represents the ACL query criteria."
    },
    "AccessControlRuleRegex": {
      "oneOf": [
        {
          "type": "string",
          "format": "regex"
        },
        {
          "items": {
            "type": "string",
            "format": "regex"
          },
          "type": "array",
          "uniqueItems": true
        }
      ]
    },
    "AccessControlRuleRegexCI": {
      "oneOf": [
        {
          "type": "string",
          "format": "regex"
        },
        {
          "items": {
            "type": "string",
            "format": "regex"
          },
          "type": "array",
          "uniqueItems": true
        }
      ]
    },
    "AccessControlRuleSubjects": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^(user|group|oauth2:client):.+$"
        },
        {
          "items": {
            "type": "string",
            "pattern": "^(user|group|oauth2:client):.+$"
          },
          "type": "array"
        },
        {
          "items": {
            "items": {
              "type": "string",
              "pattern": "^(user|group|oauth2:client):.+$"
            },
            "type": "array"
          },
          "type": "array",
          "uniqueItems": true
        }
      ]
    },
    "AddressLDAP": {
      "type": "string",
      "pattern": "^((ldaps?:\\/\\/)?([^:\\/]*(:\\d+)|[^:\\/]+(:\\d+)?)?|ldapi:\\/\\/(\\/[^?\\n]+)?)$",
      "format": "uri"
    },
    "AddressSMTP": {
      "type": "string",
      "pattern": "^((smtp|submissions?):\\/\\/)?([^:\\/]*(:\\d+)|[^:\\/]+(:\\d+)?)?$",
      "format": "uri"
    },
    "AddressTCP": {
      "type": "string",
      "pattern": "^((tcp[46]?:\\/\\/)?([^:\\/]*(:\\d+)|[^:\\/]+(:\\d+)?)(\\/.*)?|unix:\\/\\/\\/[^?\\n]+(\\?(umask=[0-7]{3,4}|path=[a-z]+)(\u0026(umask=[0-7]{3,4}|path=[a-zA-Z0-9.~_-]+))?)?)$",
      "format": "uri"
    },
    "AddressUDP": {
      "type": "string",
      "pattern": "^(udp[46]?:\\/\\/)?([^:\\/]*(:\\d+)|[^:\\/]+(:\\d+)?)(\\/.*)?$",
      "format": "uri"
    },
    "AuthenticationBackend": {
      "properties": {
        "password_reset": {
          "$ref": "#/$defs/AuthenticationBackendPasswordReset",
          "title": "Password Reset",
          "description": "Allows configuration of the password reset behavior."
        },
        "password_change": {
          "$ref": "#/$defs/AuthenticationBackendPasswordChange",
          "title": "Password Change",
          "description": "Allows configuration of the password change behavior."
        },
        "refresh_interval": {
          "$ref": "#/$defs/RefreshIntervalDuration",
          "title": "Refresh Interval",
          "description": "How frequently the user details are refreshed from the backend."
        },
        "file": {
          "$ref": "#/$defs/AuthenticationBackendFile",
          "title": "File Backend",
          "description": "The file authentication backend configuration."
        },
        "ldap": {
          "$ref": "#/$defs/AuthenticationBackendLDAP",
          "title": "LDAP Backend",
          "description": "The LDAP authentication backend configuration."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackend represents the configuration related to the authentication backend."
    },
    "AuthenticationBackendExtraAttribute": {
      "properties": {
        "multi_valued": {
          "type": "boolean",
          "title": "Multi-Valued",
          "description": "Defines the attribute as multi-valued."
        },
        "value_type": {
          "type": "string",
          "enum": [
            "boolean",
            "integer",
            "string"
          ],
          "title": "Value Type",
          "description": "Defines the value type for the attribute."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendExtraAttribute represents the configuration of an extra user attribute."
    },
    "AuthenticationBackendFile": {
      "properties": {
        "path": {
          "type": "string",
          "title": "Path",
          "description": "The file path to the user database."
        },
        "watch": {
          "type": "boolean",
          "title": "Watch",
          "description": "Enables watching the file for external changes and dynamically reloading the database.",
          "default": false
        },
        "password": {
          "$ref": "#/$defs/AuthenticationBackendFilePassword",
          "title": "Password Options",
          "description": "Allows configuration of the password hashing options when the user passwords are changed directly by Authelia."
        },
        "search": {
          "$ref": "#/$defs/AuthenticationBackendFileSearch",
          "title": "Search",
          "description": "Configures the user searching behavior."
        },
        "extra_attributes": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/AuthenticationBackendExtraAttribute"
            }
          },
          "type": "object",
          "title": "Extra Attributes",
          "description": "Configures the extra attributes available in expressions and other areas of Authelia."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFile represents the configuration related to file-based backend."
    },
    "AuthenticationBackendFilePassword": {
      "properties": {
        "algorithm": {
          "type": "string",
          "enum": [
            "argon2",
            "sha2crypt",
            "pbkdf2",
            "bcrypt",
            "scrypt"
          ],
          "title": "Algorithm",
          "description": "The password hashing algorithm to use.",
          "default": "argon2"
        },
        "argon2": {
          "$ref": "#/$defs/AuthenticationBackendFilePasswordArgon2",
          "title": "Argon2",
          "description": "Configure the Argon2 password hashing parameters."
        },
        "sha2crypt": {
          "$ref": "#/$defs/AuthenticationBackendFilePasswordSHA2Crypt",
          "title": "SHA2Crypt",
          "description": "Configure the SHA2Crypt password hashing parameters."
        },
        "pbkdf2": {
          "$ref": "#/$defs/AuthenticationBackendFilePasswordPBKDF2",
          "title": "PBKDF2",
          "description": "Configure the PBKDF2 password hashing parameters."
        },
        "bcrypt": {
          "$ref": "#/$defs/AuthenticationBackendFilePasswordBcrypt",
          "title": "Bcrypt",
          "description": "Configure the Bcrypt password hashing parameters."
        },
        "scrypt": {
          "$ref": "#/$defs/AuthenticationBackendFilePasswordScrypt",
          "title": "Scrypt",
          "description": "Configure the Scrypt password hashing parameters."
        },
        "iterations": {
          "type": "integer",
          "title": "Iterations",
          "description": "Deprecated: Use individual password options instead.",
          "deprecated": true
        },
        "memory": {
          "type": "integer",
          "title": "Memory",
          "description": "Deprecated: Use individual password options instead.",
          "deprecated": true
        },
        "parallelism": {
          "type": "integer",
          "title": "Parallelism",
          "description": "Deprecated: Use individual password options instead.",
          "deprecated": true
        },
        "key_length": {
          "type": "integer",
          "title": "Key Length",
          "description": "Deprecated: Use individual password options instead.",
          "deprecated": true
        },
        "salt_length": {
          "type": "integer",
          "title": "Salt Length",
          "description": "Deprecated: Use individual password options instead.",
          "deprecated": true
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFilePassword represents the configuration related to password hashing."
    },
    "AuthenticationBackendFilePasswordArgon2": {
      "properties": {
        "variant": {
          "type": "string",
          "enum": [
            "argon2id",
            "argon2i",
            "argon2d"
          ],
          "title": "Variant",
          "description": "The Argon2 variant to be used.",
          "default": "argon2id"
        },
        "iterations": {
          "type": "integer",
          "title": "Iterations",
          "description": "The number of Argon2 iterations (parameter t) to be used.",
          "default": 3
        },
        "memory": {
          "type": "integer",
          "maximum": 4294967295,
          "minimum": 8,
          "title": "Memory",
          "description": "The Argon2 amount of memory in kibibytes (parameter m) to be used.",
          "default": 65536
        },
        "parallelism": {
          "type": "integer",
          "maximum": 16777215,
          "minimum": 1,
          "title": "Parallelism",
          "description": "The Argon2 degree of parallelism (parameter p) to be used.",
          "default": 4
        },
        "key_length": {
          "type": "integer",
          "maximum": 2147483647,
          "minimum": 4,
          "title": "Key Length",
          "description": "The Argon2 key output length.",
          "default": 32
        },
        "salt_length": {
          "type": "integer",
          "maximum": 2147483647,
          "minimum": 1,
          "title": "Salt Length",
          "description": "The Argon2 salt length.",
          "default": 16
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFilePasswordArgon2 represents the argon2 hashing settings."
    },
    "AuthenticationBackendFilePasswordBcrypt": {
      "properties": {
        "variant": {
          "type": "string",
          "enum": [
            "standard",
            "sha256"
          ],
          "title": "Variant",
          "description": "The Bcrypt variant to be used.",
          "default": "standard"
        },
        "cost": {
          "type": "integer",
          "maximum": 31,
          "minimum": 10,
          "title": "Cost",
          "description": "The Bcrypt cost to be used.",
          "default": 12
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFilePasswordBcrypt represents the bcrypt hashing settings."
    },
    "AuthenticationBackendFilePasswordPBKDF2": {
      "properties": {
        "variant": {
          "type": "string",
          "enum": [
            "sha1",
            "sha224",
            "sha256",
            "sha384",
            "sha512"
          ],
          "title": "Variant",
          "description": "The PBKDF2 variant to be used.",
          "default": "sha512"
        },
        "iterations": {
          "type": "integer",
          "maximum": 2147483647,
          "minimum": 100000,
          "title": "Iterations",
          "description": "The PBKDF2 iterations to be used.",
          "default": 310000
        },
        "salt_length": {
          "type": "integer",
          "maximum": 2147483647,
          "minimum": 8,
          "title": "Salt Length",
          "description": "The PBKDF2 salt length to be used.",
          "default": 16
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFilePasswordPBKDF2 represents the PBKDF2 hashing settings."
    },
    "AuthenticationBackendFilePasswordSHA2Crypt": {
      "properties": {
        "variant": {
          "type": "string",
          "enum": [
            "sha256",
            "sha512"
          ],
          "title": "Variant",
          "description": "The SHA2Crypt variant to be used.",
          "default": "sha512"
        },
        "iterations": {
          "type": "integer",
          "maximum": 999999999,
          "minimum": 1000,
          "title": "Iterations",
          "description": "The SHA2Crypt iterations (parameter rounds) to be used.",
          "default": 50000
        },
        "salt_length": {
          "type": "integer",
          "maximum": 16,
          "minimum": 1,
          "title": "Salt Length",
          "description": "The SHA2Crypt salt length to be used.",
          "default": 16
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFilePasswordSHA2Crypt represents the sha2crypt hashing settings."
    },
    "AuthenticationBackendFilePasswordScrypt": {
      "properties": {
        "variant": {
          "type": "string",
          "enum": [
            "scrypt",
            "yescrypt"
          ],
          "title": "Variant",
          "description": "The Scrypt variant to be used.",
          "default": "scrypt"
        },
        "iterations": {
          "type": "integer",
          "maximum": 58,
          "minimum": 1,
          "title": "Iterations",
          "description": "The Scrypt iterations to be used.",
          "default": 16
        },
        "block_size": {
          "type": "integer",
          "maximum": 36028797018963967,
          "minimum": 1,
          "title": "Block Size",
          "description": "The Scrypt block size to be used.",
          "default": 8
        },
        "parallelism": {
          "type": "integer",
          "maximum": 1073741823,
          "minimum": 1,
          "title": "Parallelism",
          "description": "The Scrypt parallelism factor to be used.",
          "default": 1
        },
        "key_length": {
          "type": "integer",
          "maximum": 137438953440,
          "minimum": 1,
          "title": "Key Length",
          "description": "The Scrypt key length to be used.",
          "default": 32
        },
        "salt_length": {
          "type": "integer",
          "maximum": 1024,
          "minimum": 8,
          "title": "Salt Length",
          "description": "The Scrypt salt length to be used.",
          "default": 16
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFilePasswordScrypt represents the scrypt hashing settings."
    },
    "AuthenticationBackendFileSearch": {
      "properties": {
        "email": {
          "type": "boolean",
          "title": "Email Searching",
          "description": "Allows users to either use their username or their configured email as a username.",
          "default": false
        },
        "case_insensitive": {
          "type": "boolean",
          "title": "Case Insensitive Searching",
          "description": "Allows usernames to be any case during the search.",
          "default": false
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendFileSearch represents the configuration related to file-based backend searching."
    },
    "AuthenticationBackendLDAP": {
      "properties": {
        "address": {
          "$ref": "#/$defs/AddressLDAP",
          "title": "Address",
          "description": "The address of the LDAP directory server."
        },
        "implementation": {
          "type": "string",
          "enum": [
            "custom",
            "activedirectory",
            "rfc2307bis",
            "freeipa",
            "lldap",
            "glauth"
          ],
          "title": "Implementation",
          "description": "The implementation which mostly decides the default values.",
          "default": "custom"
        },
        "timeout": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^\\d+\\s*(y|M|w|d|h|m|s|ms|((year|month|week|day|hour|minute|second|millisecond)s?))(\\s*(\\s+and\\s+)?\\d+\\s*(y|M|w|d|h|m|s|ms|((year|month|week|day|hour|minute|second|millisecond)s?)))*$"
            },
            {
              "type": "integer",
              "description": "The duration in seconds"
            }
          ],
          "title": "Timeout",
          "description": "The LDAP directory server connection timeout."
        },
        "start_tls": {
          "type": "boolean",
          "title": "StartTLS",
          "description": "Enables the use of StartTLS.",
          "default": false
        },
        "tls": {
          "$ref": "#/$defs/TLS",
          "title": "TLS",
          "description": "The LDAP directory server TLS connection properties."
        },
        "pooling": {
          "$ref": "#/$defs/AuthenticationBackendLDAPPooling",
          "title": "Pooling",
          "description": "The LDAP Connection Pooling properties."
        },
        "base_dn": {
          "type": "string",
          "title": "Base DN",
          "description": "The base for all directory server operations."
        },
        "additional_users_dn": {
          "type": "string",
          "title": "Additional User Base",
          "description": "The base in addition to the Base DN for all directory server operations for users."
        },
        "users_filter": {
          "type": "string",
          "title": "Users Filter",
          "description": "The LDAP filter used to search for user objects."
        },
        "additional_groups_dn": {
          "type": "string",
          "title": "Additional Group Base",
          "description": "The base in addition to the Base DN for all directory server operations for groups."
        },
        "groups_filter": {
          "type": "string",
          "title": "Groups Filter",
          "description": "The LDAP filter used to search for group objects."
        },
        "group_search_mode": {
          "type": "string",
          "enum": [
            "filter",
            "memberof"
          ],
          "title": "Groups Search Modes",
          "description": "The LDAP group search mode used to search for group objects.",
          "default": "filter"
        },
        "attributes": {
          "$ref": "#/$defs/AuthenticationBackendLDAPAttributes",
          "title": "Attributes",
          "description": "The LDAP directory server attributes."
        },
        "permit_referrals": {
          "type": "boolean",
          "title": "Permit Referrals",
          "description": "Enables chasing LDAP referrals.",
          "default": false
        },
        "permit_unauthenticated_bind": {
          "type": "boolean",
          "title": "Permit Unauthenticated Bind",
          "description": "Enables omission of the password to perform an unauthenticated bind.",
          "default": false
        },
        "user": {
          "type": "string",
          "title": "User",
          "description": "The user distinguished name for LDAP binding."
        },
        "password": {
          "type": "string",
          "title": "Password",
          "description": "The password for LDAP authenticated binding."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendLDAP represents the configuration related to LDAP server."
    },
    "AuthenticationBackendLDAPAttributes": {
      "properties": {
        "distinguished_name": {
          "type": "string",
          "title": "Attribute: Distinguished Name",
          "description": "The directory server attribute which contains the distinguished name for all objects."
        },
        "username": {
          "type": "string",
          "title": "Attribute: User Username",
          "description": "The directory server attribute which contains the username for all users."
        },
        "display_name": {
          "type": "string",
          "title": "Attribute: User Display Name",
          "description": "The directory server attribute which contains the display name for all users."
        },
        "family_name": {
          "type": "string",
          "title": "Attribute: Family Name",
          "description": "The directory server attribute which contains the family name for all users."
        },
        "given_name": {
          "type": "string",
          "title": "Attribute: Given Name",
          "description": "The directory server attribute which contains the given name for all users."
        },
        "middle_name": {
          "type": "string",
          "title": "Attribute: Middle Name",
          "description": "The directory server attribute which contains the middle name for all users."
        },
        "nickname": {
          "type": "string",
          "title": "Attribute: Nickname",
          "description": "The directory server attribute which contains the nickname for all users."
        },
        "gender": {
          "type": "string",
          "title": "Attribute: Gender",
          "description": "The directory server attribute which contains the gender for all users."
        },
        "birthdate": {
          "type": "string",
          "title": "Attribute: Birthdate",
          "description": "The directory server attribute which contains the birthdate for all users."
        },
        "website": {
          "type": "string",
          "title": "Attribute: Website",
          "description": "The directory server attribute which contains the website URL for all users."
        },
        "profile": {
          "type": "string",
          "title": "Attribute: Profile",
          "description": "The directory server attribute which contains the profile URL for all users."
        },
        "picture": {
          "type": "string",
          "title": "Attribute: Picture",
          "description": "The directory server attribute which contains the picture URL for all users."
        },
        "zoneinfo": {
          "type": "string",
          "title": "Attribute: Zone Information",
          "description": "The directory server attribute which contains the time zone information for all users."
        },
        "locale": {
          "type": "string",
          "title": "Attribute: Locale",
          "description": "The directory server attribute which contains the locale information for all users."
        },
        "phone_number": {
          "type": "string",
          "title": "Attribute: Phone Number",
          "description": "The directory server attribute which contains the phone number for all users."
        },
        "phone_extension": {
          "type": "string",
          "title": "Attribute: Phone Extension",
          "description": "The directory server attribute which contains the phone extension for all users."
        },
        "street_address": {
          "type": "string",
          "title": "Attribute: Street Address",
          "description": "The directory server attribute which contains the street address for all users."
        },
        "locality": {
          "type": "string",
          "title": "Attribute: Locality",
          "description": "The directory server attribute which contains the locality for all users."
        },
        "region": {
          "type": "string",
          "title": "Attribute: Region",
          "description": "The directory server attribute which contains the region for all users."
        },
        "postal_code": {
          "type": "string",
          "title": "Attribute: Postal Code",
          "description": "The directory server attribute which contains the postal code for all users."
        },
        "country": {
          "type": "string",
          "title": "Attribute: Country",
          "description": "The directory server attribute which contains the country for all users."
        },
        "mail": {
          "type": "string",
          "title": "Attribute: User Mail",
          "description": "The directory server attribute which contains the mail address for all users and groups."
        },
        "member_of": {
          "type": "string",
          "title": "Attribute: Member Of",
          "description": "The directory server attribute which contains the objects that an object is a member of."
        },
        "group_name": {
          "type": "string",
          "title": "Attribute: Group Name",
          "description": "The directory server attribute which contains the group name for all groups."
        },
        "extra": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/AuthenticationBackendLDAPAttributesAttribute"
            }
          },
          "type": "object",
          "title": "Extra Attributes",
          "description": "Configures the extra attributes available in expressions and other areas of Authelia."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendLDAPAttributes represents the configuration related to LDAP server attributes."
    },
    "AuthenticationBackendLDAPAttributesAttribute": {
      "properties": {
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The name of the attribute within Authelia. This does not adjust the attribute queried from the LDAP server."
        },
        "multi_valued": {
          "type": "boolean",
          "title": "Multi-Valued",
          "description": "Defines the attribute as multi-valued."
        },
        "value_type": {
          "type": "string",
          "enum": [
            "boolean",
            "integer",
            "string"
          ],
          "title": "Value Type",
          "description": "Defines the value type for the attribute."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "description": "AuthenticationBackendLDAPAttrib

# --- truncated at 32 KB (162 KB total) ---
# Full source: https://artifacts.apis.io/authelia/json-schema/authelia-configuration.schema.json

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-configuration.schema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.