{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/github/main/json-schema/github-branch-restriction-policy-schema.json",
  "title": "Branch Restriction Policy",
  "description": "Branch Restriction Policy",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/github-repos-api-openapi.yml#/components/schemas/branch-restriction-policy",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri"
    },
    "users_url": {
      "type": "string",
      "format": "uri"
    },
    "teams_url": {
      "type": "string",
      "format": "uri"
    },
    "apps_url": {
      "type": "string",
      "format": "uri"
    },
    "users": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "login": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "node_id": {
            "type": "string"
          },
          "avatar_url": {
            "type": "string"
          },
          "gravatar_id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "html_url": {
            "type": "string"
          },
          "followers_url": {
            "type": "string"
          },
          "following_url": {
            "type": "string"
          },
          "gists_url": {
            "type": "string"
          },
          "starred_url": {
            "type": "string"
          },
          "subscriptions_url": {
            "type": "string"
          },
          "organizations_url": {
            "type": "string"
          },
          "repos_url": {
            "type": "string"
          },
          "events_url": {
            "type": "string"
          },
          "received_events_url": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "site_admin": {
            "type": "boolean"
          }
        }
      }
    },
    "teams": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "node_id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "html_url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "privacy": {
            "type": "string"
          },
          "permission": {
            "type": "string"
          },
          "members_url": {
            "type": "string"
          },
          "repositories_url": {
            "type": "string"
          },
          "parent": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "apps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "node_id": {
            "type": "string"
          },
          "owner": {
            "type": "object",
            "properties": {
              "login": {
                "type": "string"
              },
              "id": {
                "type": "integer"
              },
              "node_id": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "repos_url": {
                "type": "string"
              },
              "events_url": {
                "type": "string"
              },
              "hooks_url": {
                "type": "string"
              },
              "issues_url": {
                "type": "string"
              },
              "members_url": {
                "type": "string"
              },
              "public_members_url": {
                "type": "string"
              },
              "avatar_url": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "gravatar_id": {
                "type": "string"
              },
              "html_url": {
                "type": "string"
              },
              "followers_url": {
                "type": "string"
              },
              "following_url": {
                "type": "string"
              },
              "gists_url": {
                "type": "string"
              },
              "starred_url": {
                "type": "string"
              },
              "subscriptions_url": {
                "type": "string"
              },
              "organizations_url": {
                "type": "string"
              },
              "received_events_url": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "site_admin": {
                "type": "boolean"
              }
            }
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "external_url": {
            "type": "string"
          },
          "html_url": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "permissions": {
            "type": "object",
            "properties": {
              "metadata": {
                "type": "string"
              },
              "contents": {
                "type": "string"
              },
              "issues": {
                "type": "string"
              },
              "single_file": {
                "type": "string"
              }
            }
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "required": [
    "url",
    "users_url",
    "teams_url",
    "apps_url",
    "users",
    "teams",
    "apps"
  ]
}