{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/github/main/json-schema/github-team-full-schema.json",
  "title": "Full Team",
  "description": "Groups of organization members that gives permissions on specified repositories.",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/github-teams-api-openapi.yml#/components/schemas/team-full",
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier of the team",
      "type": "integer"
    },
    "node_id": {
      "type": "string"
    },
    "url": {
      "description": "URL for the team",
      "type": "string",
      "format": "uri"
    },
    "html_url": {
      "type": "string",
      "format": "uri"
    },
    "name": {
      "description": "Name of the team",
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "privacy": {
      "description": "The level of privacy this team should have",
      "type": "string",
      "enum": [
        "closed",
        "secret"
      ]
    },
    "permission": {
      "description": "Permission that the team will have for its repositories",
      "type": "string"
    },
    "members_url": {
      "type": "string"
    },
    "repositories_url": {
      "type": "string",
      "format": "uri"
    },
    "parent": {
      "$ref": "#/$defs/nullable-team-simple"
    },
    "members_count": {
      "type": "integer"
    },
    "repos_count": {
      "type": "integer"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "organization": {
      "$ref": "#/$defs/team-organization"
    },
    "ldap_dn": {
      "description": "Distinguished Name (DN) that team maps to within LDAP environment",
      "type": "string"
    }
  },
  "required": [
    "id",
    "node_id",
    "url",
    "members_url",
    "name",
    "description",
    "permission",
    "html_url",
    "repositories_url",
    "slug",
    "created_at",
    "updated_at",
    "members_count",
    "repos_count",
    "organization"
  ],
  "$defs": {
    "nullable-team-simple": {
      "title": "Team Simple",
      "description": "Groups of organization members that gives permissions on specified repositories.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "description": "Unique identifier of the team",
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "url": {
          "description": "URL for the team",
          "type": "string",
          "format": "uri"
        },
        "members_url": {
          "type": "string"
        },
        "name": {
          "description": "Name of the team",
          "type": "string"
        },
        "description": {
          "description": "Description of the team",
          "type": [
            "string",
            "null"
          ]
        },
        "permission": {
          "description": "Permission that the team will have for its repositories",
          "type": "string"
        },
        "privacy": {
          "description": "The level of privacy this team should have",
          "type": "string"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "repositories_url": {
          "type": "string",
          "format": "uri"
        },
        "slug": {
          "type": "string"
        },
        "ldap_dn": {
          "description": "Distinguished Name (DN) that team maps to within LDAP environment",
          "type": "string"
        }
      },
      "required": [
        "id",
        "node_id",
        "url",
        "members_url",
        "name",
        "description",
        "permission",
        "html_url",
        "repositories_url",
        "slug"
      ]
    },
    "team-organization": {
      "title": "Team Organization",
      "description": "Team Organization",
      "type": "object",
      "properties": {
        "login": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "repos_url": {
          "type": "string",
          "format": "uri"
        },
        "events_url": {
          "type": "string",
          "format": "uri"
        },
        "hooks_url": {
          "type": "string"
        },
        "issues_url": {
          "type": "string"
        },
        "members_url": {
          "type": "string"
        },
        "public_members_url": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "blog": {
          "type": "string",
          "format": "uri"
        },
        "location": {
          "type": "string"
        },
        "email": {
          "type": "string",
          "format": "email"
        },
        "twitter_username": {
          "type": [
            "string",
            "null"
          ]
        },
        "is_verified": {
          "type": "boolean"
        },
        "has_organization_projects": {
          "type": "boolean"
        },
        "has_repository_projects": {
          "type": "boolean"
        },
        "public_repos": {
          "type": "integer"
        },
        "public_gists": {
          "type": "integer"
        },
        "followers": {
          "type": "integer"
        },
        "following": {
          "type": "integer"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "type": {
          "type": "string"
        },
        "total_private_repos": {
          "type": "integer"
        },
        "owned_private_repos": {
          "type": "integer"
        },
        "private_gists": {
          "type": [
            "integer",
            "null"
          ]
        },
        "disk_usage": {
          "type": [
            "integer",
            "null"
          ]
        },
        "collaborators": {
          "type": [
            "integer",
            "null"
          ]
        },
        "billing_email": {
          "type": [
            "string",
            "null"
          ],
          "format": "email"
        },
        "plan": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "space": {
              "type": "integer"
            },
            "private_repos": {
              "type": "integer"
            },
            "filled_seats": {
              "type": "integer"
            },
            "seats": {
              "type": "integer"
            }
          },
          "required": [
            "name",
            "space",
            "private_repos"
          ]
        },
        "default_repository_permission": {
          "type": [
            "string",
            "null"
          ]
        },
        "members_can_create_repositories": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "two_factor_requirement_enabled": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "members_allowed_repository_creation_type": {
          "type": "string"
        },
        "members_can_create_public_repositories": {
          "type": "boolean"
        },
        "members_can_create_private_repositories": {
          "type": "boolean"
        },
        "members_can_create_internal_repositories": {
          "type": "boolean"
        },
        "members_can_create_pages": {
          "type": "boolean"
        },
        "members_can_create_public_pages": {
          "type": "boolean"
        },
        "members_can_create_private_pages": {
          "type": "boolean"
        },
        "members_can_fork_private_repositories": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "web_commit_signoff_required": {
          "type": "boolean"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "login",
        "url",
        "id",
        "node_id",
        "repos_url",
        "events_url",
        "hooks_url",
        "issues_url",
        "members_url",
        "public_members_url",
        "avatar_url",
        "description",
        "html_url",
        "has_organization_projects",
        "has_repository_projects",
        "public_repos",
        "public_gists",
        "followers",
        "following",
        "type",
        "created_at",
        "updated_at",
        "archived_at"
      ]
    }
  }
}