{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/GitHubAppInstallationAuth", "title": "GitHubAppInstallationAuth", "description": "Defines the GitHub App authorization strategy used by the GitHub integration.\nThis strategy enables secure access to GitHub APIs using app installation tokens.\nIt supports both API-based interactions and real-time event delivery via GitHub webhooks.\nUnlike standard OAuth flows, this strategy leverages GitHub's custom app installation flow\nand token lifecycle, making it ideal for deep, organization-level GitHub integration.\n", "type": "object", "properties": { "type": { "type": "string", "const": "github_app_installation" }, "config": { "type": "object", "properties": { "app_install_url": { "type": "object", "additionalProperties": false, "properties": { "url": { "description": "The URL where customers are directed to install the GitHub App into their\nGitHub organization.\n", "type": "string", "format": "uri", "example": "https://global.api.konghq.com/service-catalog-integrations/github/app/install" } }, "required": [ "url" ] }, "app_manage_url": { "type": "object", "additionalProperties": false, "properties": { "url": { "description": "The GitHub App management page URL where users can view, configure, or uninstall the app after installation.", "type": "string", "format": "uri", "example": "https://global.api.konghq.com/service-catalog-integrations/github/app/manage" } }, "required": [ "url" ] }, "authorize_app_installation_endpoint": { "type": "object", "additionalProperties": false, "properties": { "url": { "description": "The endpoint used to link a completed GitHub App installation with a customer account in the catalog.\nThis step finalizes the integration by exchanging metadata from the GitHub installation event.\n", "type": "string", "format": "uri", "example": "https://global.api.konghq.com/service-catalog-integrations/github/app/authorize-installation" } }, "required": [ "url" ] }, "pending_app_installs_endpoint": { "type": "object", "additionalProperties": false, "properties": { "url": { "description": "The endpoint used to return a list of in-progress or unlinked GitHub App installations awaiting user confirmation.\n", "type": "string", "format": "uri", "example": "https://global.api.konghq.com/service-catalog-integrations/github/app/pending-installs" } }, "required": [ "url" ] } }, "required": [ "app_install_url", "app_manage_url", "authorize_app_installation_endpoint", "pending_app_installs_endpoint" ] } }, "required": [ "type", "config" ] }