Authelia · Schema
Authelia Configuration.Schema
AuthenticationAuthorizationLDAPMFAOpen-SourceOpenID ConnectSelf-HostedSSO
JSON Schema
{
"$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://raw.githubusercontent.com/api-evangelist/authelia/refs/heads/main/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.
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"
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.