Viridi · Schema
OAuth2Info
CompanyEnergyEnergy StorageBatteryIoTIndustrial IoTEnergy ManagementManufacturingTelematicsMicrogrid
Properties
| Name | Type | Description |
|---|---|---|
| enabled | boolean | Whether OAuth2 settings are enabled or not |
| edgeEnabled | boolean | Whether OAuth2 settings are enabled on Edge or not |
| oauth2ParamsInfos | array | List of configured OAuth2 clients. Cannot contain null values |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/viridi-parente/main/json-schema/viridi-parente-oauth2-info-schema.json",
"title": "OAuth2Info",
"x-generated": "2026-10-20",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/viridi-parente-o-auth-2-controller-api-openapi.yml#/components/schemas/OAuth2Info",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether OAuth2 settings are enabled or not"
},
"edgeEnabled": {
"type": "boolean",
"description": "Whether OAuth2 settings are enabled on Edge or not"
},
"oauth2ParamsInfos": {
"type": "array",
"description": "List of configured OAuth2 clients. Cannot contain null values",
"items": {
"$ref": "#/$defs/OAuth2ParamsInfo"
}
}
},
"required": [
"oauth2ParamsInfos"
],
"$defs": {
"JsonNode": {
"description": "A value representing the any type (object or primitive)"
},
"OAuth2BasicMapperConfig": {
"properties": {
"emailAttributeKey": {
"type": "string",
"description": "Email attribute key of OAuth2 principal attributes. Must be specified for BASIC mapper type and cannot be specified for GITHUB type"
},
"firstNameAttributeKey": {
"type": "string",
"description": "First name attribute key"
},
"lastNameAttributeKey": {
"type": "string",
"description": "Last name attribute key"
},
"tenantNameStrategy": {
"type": "string",
"description": "Tenant naming strategy. For DOMAIN type, domain for tenant name will be taken from the email (substring before '@')",
"enum": [
"DOMAIN",
"EMAIL",
"CUSTOM"
]
},
"tenantNamePattern": {
"type": "string",
"description": "Tenant name pattern for CUSTOM naming strategy. OAuth2 attributes in the pattern can be used by enclosing attribute key in '%{' and '}'"
},
"customerNamePattern": {
"type": "string",
"description": "Customer name pattern. When creating a user on the first OAuth2 log in, if specified, customer name will be used to create or find existing customer in the platform and assign customerId to the user"
},
"defaultDashboardName": {
"type": "string",
"description": "Name of the tenant's dashboard to set as default dashboard for newly created user"
},
"alwaysFullScreen": {
"type": "boolean",
"description": "Whether default dashboard should be open in full screen"
}
},
"required": [
"tenantNameStrategy"
]
},
"OAuth2CustomMapperConfig": {
"properties": {
"url": {
"type": "string"
},
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"sendToken": {
"type": "boolean"
}
}
},
"OAuth2DomainInfo": {
"properties": {
"scheme": {
"type": "string",
"description": "Domain scheme. Mixed scheme means than both HTTP and HTTPS are going to be used",
"enum": [
"HTTP",
"HTTPS",
"MIXED"
]
},
"name": {
"type": "string",
"description": "Domain name. Cannot be empty"
}
},
"required": [
"name",
"scheme"
]
},
"OAuth2MapperConfig": {
"properties": {
"allowUserCreation": {
"type": "boolean",
"description": "Whether user should be created if not yet present on the platform after successful authentication"
},
"activateUser": {
"type": "boolean",
"description": "Whether user credentials should be activated when user is created after successful authentication"
},
"type": {
"type": "string",
"description": "Type of OAuth2 mapper. Depending on this param, different mapper config fields must be specified",
"enum": [
"BASIC",
"CUSTOM",
"GITHUB",
"APPLE"
]
},
"basic": {
"$ref": "#/$defs/OAuth2BasicMapperConfig",
"description": "Mapper config for BASIC and GITHUB mapper types"
},
"custom": {
"$ref": "#/$defs/OAuth2CustomMapperConfig",
"description": "Mapper config for CUSTOM mapper type"
}
},
"required": [
"type"
]
},
"OAuth2MobileInfo": {
"properties": {
"pkgName": {
"type": "string",
"description": "Application package name. Cannot be empty"
},
"appSecret": {
"type": "string",
"description": "Application secret. The length must be at least 16 characters"
}
},
"required": [
"appSecret",
"pkgName"
]
},
"OAuth2ParamsInfo": {
"properties": {
"domainInfos": {
"type": "array",
"description": "List of configured domains where OAuth2 platform will redirect a user after successful authentication. Cannot be empty. There have to be only one domain with specific name with scheme type 'MIXED'. Configured domains with the same name must have different scheme types",
"items": {
"$ref": "#/$defs/OAuth2DomainInfo"
}
},
"mobileInfos": {
"type": "array",
"description": "Mobile applications settings. Application package name must be unique within the list",
"items": {
"$ref": "#/$defs/OAuth2MobileInfo"
}
},
"clientRegistrations": {
"type": "array",
"description": "List of OAuth2 provider settings. Cannot be empty",
"items": {
"$ref": "#/$defs/OAuth2RegistrationInfo"
}
}
},
"required": [
"clientRegistrations",
"domainInfos",
"mobileInfos"
]
},
"OAuth2RegistrationInfo": {
"properties": {
"mapperConfig": {
"$ref": "#/$defs/OAuth2MapperConfig",
"description": "Config for mapping OAuth2 log in response to platform entities"
},
"clientId": {
"type": "string",
"description": "OAuth2 client ID. Cannot be empty"
},
"clientSecret": {
"type": "string",
"description": "OAuth2 client secret. Cannot be empty"
},
"authorizationUri": {
"type": "string",
"description": "Authorization URI of the OAuth2 provider. Cannot be empty"
},
"accessTokenUri": {
"type": "string",
"description": "Access token URI of the OAuth2 provider. Cannot be empty"
},
"scope": {
"type": "array",
"description": "OAuth scopes that will be requested from OAuth2 platform. Cannot be empty",
"items": {
"type": "string"
}
},
"userInfoUri": {
"type": "string",
"description": "User info URI of the OAuth2 provider"
},
"userNameAttributeName": {
"type": "string",
"description": "Name of the username attribute in OAuth2 provider response. Cannot be empty"
},
"jwkSetUri": {
"type": "string",
"description": "JSON Web Key URI of the OAuth2 provider"
},
"clientAuthenticationMethod": {
"type": "string",
"description": "Client authentication method to use: 'BASIC' or 'POST'. Cannot be empty"
},
"loginButtonLabel": {
"type": "string",
"description": "OAuth2 provider label. Cannot be empty"
},
"loginButtonIcon": {
"type": "string",
"description": "Log in button icon for OAuth2 provider"
},
"platforms": {
"type": "array",
"description": "List of platforms for which usage of the OAuth2 client is allowed (empty for all allowed)",
"items": {
"type": "string",
"enum": [
"WEB",
"ANDROID",
"IOS"
]
}
},
"additionalInfo": {
"$ref": "#/$defs/JsonNode",
"description": "Additional info of OAuth2 client (e.g. providerName)"
}
},
"required": [
"accessTokenUri",
"additionalInfo",
"authorizationUri",
"clientAuthenticationMethod",
"clientId",
"clientSecret",
"loginButtonLabel",
"mapperConfig",
"scope"
]
}
}
}
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/viridi-parente-oauth2-info"
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.