{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GitHubAppInstallationCredential",
  "title": "GitHubAppInstallationCredential",
  "description": "Represents a credential scoped to an integration instance that supports the `GitHub App Installation` authorization strategy.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "example": "4f535923-ec24-456c-b4e5-e67f65c8c208"
    },
    "integration_instance": {
      "$ref": "#/components/schemas/IntegrationInstanceRef"
    },
    "missing_permissions": {
      "description": "List of detected missing permissions required to enable the full functionality of the given integration instance.",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MissingPermission"
      }
    },
    "tainted": {
      "description": "Indicates that the credential is no longer valid and must be replaced with a new valid credential.",
      "type": "boolean",
      "example": false
    },
    "expires_at": {
      "description": "Timestamp denoting when the when the credential will expire in RFC-3339 format with a \"T\" character separating date from time within the field value.\nWhen expired, the credential must be replaced with a new valid credential to re-enable full functionality for the given integration instance.\n\nA `null` value indicates no known expiration time.\n",
      "type": "string",
      "format": "date-time",
      "example": "2025-04-01T07:20:50Z",
      "nullable": true
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "type": {
      "type": "string",
      "const": "github_app_installation"
    },
    "config": {
      "type": "object",
      "properties": {
        "installation_id": {
          "description": "The GitHub App installation ID",
          "type": "string"
        },
        "app_installed_by": {
          "description": "The GitHub user who installed the app.",
          "type": "string",
          "nullable": true
        }
      },
      "required": [
        "installation_id",
        "app_installed_by"
      ],
      "title": "GitHubAppInstallationCredentialConfig"
    }
  },
  "required": [
    "id",
    "integration_instance",
    "missing_permissions",
    "tainted",
    "expires_at",
    "created_at",
    "type",
    "config"
  ],
  "x-speakeasy-name-override": "GithubAppInstallation",
  "x-speakeasy-param-suppress-computed-diff": true
}