GitHub · JSON Structure

Github Organization Structure

A GitHub organization that groups users and repositories together under shared ownership, permissions, and policies.

Type: object Properties: 37 Required: 2
CodePipelinesPlatformSoftware DevelopmentSource ControlT1

GitHub Organization is a JSON Structure definition published by GitHub, describing 37 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

login id node_id url html_url repos_url events_url hooks_url issues_url members_url public_members_url avatar_url description name company blog location email twitter_username is_verified has_organization_projects has_repository_projects public_repos public_gists followers following type created_at updated_at plan default_repository_permission members_can_create_repositories members_can_create_public_repositories members_can_create_private_repositories two_factor_requirement_enabled total_private_repos owned_private_repos

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://github.com/schemas/github/organization.json",
  "name": "GitHub Organization",
  "description": "A GitHub organization that groups users and repositories together under shared ownership, permissions, and policies.",
  "type": "object",
  "required": [
    "login",
    "id"
  ],
  "properties": {
    "login": {
      "type": "string",
      "description": "The login name of the organization."
    },
    "id": {
      "type": "int32",
      "description": "The unique identifier of the organization."
    },
    "node_id": {
      "type": "string",
      "description": "The GraphQL node ID for the organization."
    },
    "url": {
      "type": "uri",
      "description": "The API URL for the organization."
    },
    "html_url": {
      "type": "uri",
      "description": "The URL of the organization on GitHub."
    },
    "repos_url": {
      "type": "uri",
      "description": "API URL for the organization's repositories."
    },
    "events_url": {
      "type": "uri",
      "description": "API URL for the organization's events."
    },
    "hooks_url": {
      "type": "uri",
      "description": "API URL for the organization's webhooks."
    },
    "issues_url": {
      "type": "uri",
      "description": "API URL for the organization's issues."
    },
    "members_url": {
      "type": "string",
      "description": "API URL template for the organization's members."
    },
    "public_members_url": {
      "type": "string",
      "description": "API URL template for the organization's public members."
    },
    "avatar_url": {
      "type": "uri",
      "description": "URL to the organization's avatar image."
    },
    "description": {
      "type": "string",
      "description": "A description of the organization."
    },
    "name": {
      "type": "string",
      "description": "The display name of the organization."
    },
    "company": {
      "type": "string",
      "description": "The company name associated with the organization."
    },
    "blog": {
      "type": "string",
      "description": "The organization's blog or website URL."
    },
    "location": {
      "type": "string",
      "description": "The organization's location."
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "The organization's publicly visible email address."
    },
    "twitter_username": {
      "type": "string",
      "description": "The organization's Twitter/X username."
    },
    "is_verified": {
      "type": "boolean",
      "description": "Whether the organization has verified its domain."
    },
    "has_organization_projects": {
      "type": "boolean",
      "description": "Whether the organization has projects enabled."
    },
    "has_repository_projects": {
      "type": "boolean",
      "description": "Whether repositories can have projects enabled."
    },
    "public_repos": {
      "type": "int32",
      "minimum": 0,
      "description": "The number of public repositories."
    },
    "public_gists": {
      "type": "int32",
      "minimum": 0,
      "description": "The number of public gists."
    },
    "followers": {
      "type": "int32",
      "minimum": 0,
      "description": "The number of followers."
    },
    "following": {
      "type": "int32",
      "minimum": 0,
      "description": "The number of users the organization is following."
    },
    "type": {
      "type": "string",
      "const": "Organization",
      "description": "The account type."
    },
    "created_at": {
      "type": "datetime",
      "description": "The date and time the organization was created."
    },
    "updated_at": {
      "type": "datetime",
      "description": "The date and time the organization was last updated."
    },
    "plan": {
      "$ref": "#/$defs/Plan"
    },
    "default_repository_permission": {
      "type": "string",
      "enum": [
        "read",
        "write",
        "admin",
        "none"
      ],
      "description": "The default permission level for new repositories."
    },
    "members_can_create_repositories": {
      "type": "boolean",
      "description": "Whether members can create repositories."
    },
    "members_can_create_public_repositories": {
      "type": "boolean",
      "description": "Whether members can create public repositories."
    },
    "members_can_create_private_repositories": {
      "type": "boolean",
      "description": "Whether members can create private repositories."
    },
    "two_factor_requirement_enabled": {
      "type": "boolean",
      "description": "Whether two-factor authentication is required for members."
    },
    "total_private_repos": {
      "type": "int32",
      "minimum": 0,
      "description": "The total number of private repositories."
    },
    "owned_private_repos": {
      "type": "int32",
      "minimum": 0,
      "description": "The number of private repositories owned by the organization."
    }
  },
  "$defs": {
    "Plan": {
      "type": "object",
      "description": "The billing plan for the organization.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the plan."
        },
        "space": {
          "type": "integer",
          "description": "The amount of disk space available in KB."
        },
        "private_repos": {
          "type": "integer",
          "description": "The number of private repos allowed."
        },
        "filled_seats": {
          "type": "integer",
          "description": "The number of filled seats."
        },
        "seats": {
          "type": "integer",
          "description": "The total number of seats available."
        }
      }
    }
  }
}