GitHub · Schema

Event

Event

CodeDeveloper ToolsPipelinesPlatformSoftware DevelopmentVersion ControlT1GitHubGit

Properties

Name Type Description
id string
type stringnull
actor object
repo object
org object
payload object
public boolean
created_at stringnull
View JSON Schema on GitHub

JSON Schema

github-event-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/github/main/json-schema/github-event-schema.json",
  "title": "Event",
  "description": "Event",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/github-activity-api-openapi.yml#/components/schemas/event",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "type": [
        "string",
        "null"
      ]
    },
    "actor": {
      "$ref": "#/$defs/actor"
    },
    "repo": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "id",
        "name",
        "url"
      ]
    },
    "org": {
      "$ref": "#/$defs/actor"
    },
    "payload": {
      "type": "object",
      "properties": {
        "action": {
          "type": "string"
        },
        "issue": {
          "$ref": "#/$defs/issue"
        },
        "comment": {
          "$ref": "#/$defs/issue-comment"
        },
        "pages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "page_name": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "summary": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "action": {
                "type": "string"
              },
              "sha": {
                "type": "string"
              },
              "html_url": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "public": {
      "type": "boolean"
    },
    "created_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "type",
    "actor",
    "repo",
    "payload",
    "public",
    "created_at"
  ],
  "$defs": {
    "actor": {
      "title": "Actor",
      "description": "Actor",
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "login": {
          "type": "string"
        },
        "display_login": {
          "type": "string"
        },
        "gravatar_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "avatar_url": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "id",
        "login",
        "gravatar_id",
        "url",
        "avatar_url"
      ]
    },
    "author-association": {
      "title": "author_association",
      "type": "string",
      "description": "How the author is associated with the repository.",
      "enum": [
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER"
      ]
    },
    "issue": {
      "title": "Issue",
      "description": "Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.",
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "node_id": {
          "type": "string"
        },
        "url": {
          "description": "URL for the issue",
          "type": "string",
          "format": "uri"
        },
        "repository_url": {
          "type": "string",
          "format": "uri"
        },
        "labels_url": {
          "type": "string"
        },
        "comments_url": {
          "type": "string",
          "format": "uri"
        },
        "events_url": {
          "type": "string",
          "format": "uri"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "number": {
          "description": "Number uniquely identifying the issue within its repository",
          "type": "integer"
        },
        "state": {
          "description": "State of the issue; either 'open' or 'closed'",
          "type": "string"
        },
        "state_reason": {
          "description": "The reason for the current state",
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "completed",
            "reopened",
            "not_planned"
          ]
        },
        "title": {
          "description": "Title of the issue",
          "type": "string"
        },
        "body": {
          "description": "Contents of the issue",
          "type": [
            "string",
            "null"
          ]
        },
        "user": {
          "$ref": "#/$defs/nullable-simple-user"
        },
        "labels": {
          "description": "Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository",
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "node_id": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "color": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "default": {
                    "type": "boolean"
                  }
                }
              }
            ]
          }
        },
        "assignee": {
          "$ref": "#/$defs/nullable-simple-user"
        },
        "assignees": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/simple-user"
          }
        },
        "milestone": {
          "$ref": "#/$defs/nullable-milestone"
        },
        "locked": {
          "type": "boolean"
        },
        "active_lock_reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "comments": {
          "type": "integer"
        },
        "pull_request": {
          "type": "object",
          "properties": {
            "merged_at": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "diff_url": {
              "type": [
                "string",
                "null"
              ],
              "format": "uri"
            },
            "html_url": {
              "type": [
                "string",
                "null"
              ],
              "format": "uri"
            },
            "patch_url": {
              "type": [
                "string",
                "null"
              ],
              "format": "uri"
            },
            "url": {
              "type": [
                "string",
                "null"
              ],
              "format": "uri"
            }
          },
          "required": [
            "diff_url",
            "html_url",
            "patch_url",
            "url"
          ]
        },
        "closed_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "draft": {
          "type": "boolean"
        },
        "closed_by": {
          "$ref": "#/$defs/nullable-simple-user"
        },
        "body_html": {
          "type": "string"
        },
        "body_text": {
          "type": "string"
        },
        "timeline_url": {
          "type": "string",
          "format": "uri"
        },
        "repository": {
          "$ref": "#/$defs/repository"
        },
        "performed_via_github_app": {
          "$ref": "#/$defs/nullable-integration"
        },
        "author_association": {
          "$ref": "#/$defs/author-association"
        },
        "reactions": {
          "$ref": "#/$defs/reaction-rollup"
        }
      },
      "required": [
        "assignee",
        "closed_at",
        "comments",
        "comments_url",
        "events_url",
        "html_url",
        "id",
        "node_id",
        "labels",
        "labels_url",
        "milestone",
        "number",
        "repository_url",
        "state",
        "locked",
        "title",
        "url",
        "user",
        "author_association",
        "created_at",
        "updated_at"
      ]
    },
    "issue-comment": {
      "title": "Issue Comment",
      "description": "Comments provide a way for people to collaborate on an issue.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Unique identifier of the issue comment",
          "type": "integer",
          "format": "int64"
        },
        "node_id": {
          "type": "string"
        },
        "url": {
          "description": "URL for the issue comment",
          "type": "string",
          "format": "uri"
        },
        "body": {
          "description": "Contents of the issue comment",
          "type": "string"
        },
        "body_text": {
          "type": "string"
        },
        "body_html": {
          "type": "string"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "user": {
          "$ref": "#/$defs/nullable-simple-user"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "issue_url": {
          "type": "string",
          "format": "uri"
        },
        "author_association": {
          "$ref": "#/$defs/author-association"
        },
        "performed_via_github_app": {
          "$ref": "#/$defs/nullable-integration"
        },
        "reactions": {
          "$ref": "#/$defs/reaction-rollup"
        }
      },
      "required": [
        "id",
        "node_id",
        "html_url",
        "issue_url",
        "author_association",
        "user",
        "url",
        "created_at",
        "updated_at"
      ]
    },
    "nullable-integration": {
      "title": "GitHub app",
      "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "description": "Unique identifier of the GitHub app",
          "type": "integer"
        },
        "slug": {
          "description": "The slug name of the GitHub app",
          "type": "string"
        },
        "node_id": {
          "type": "string"
        },
        "owner": {
          "$ref": "#/$defs/nullable-simple-user"
        },
        "name": {
          "description": "The name of the GitHub app",
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "external_url": {
          "type": "string",
          "format": "uri"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "permissions": {
          "description": "The set of permissions for the GitHub app",
          "type": "object",
          "properties": {
            "issues": {
              "type": "string"
            },
            "checks": {
              "type": "string"
            },
            "metadata": {
              "type": "string"
            },
            "contents": {
              "type": "string"
            },
            "deployments": {
              "type": "string"
            }
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "events": {
          "description": "The list of events for the GitHub app",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "installations_count": {
          "description": "The number of installations associated with the GitHub app",
          "type": "integer"
        },
        "client_id": {
          "type": "string"
        },
        "client_secret": {
          "type": "string"
        },
        "webhook_secret": {
          "type": [
            "string",
            "null"
          ]
        },
        "pem": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "node_id",
        "owner",
        "name",
        "description",
        "external_url",
        "html_url",
        "created_at",
        "updated_at",
        "permissions",
        "events"
      ]
    },
    "nullable-license-simple": {
      "title": "License Simple",
      "description": "License Simple",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "spdx_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "node_id": {
          "type": "string"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "key",
        "name",
        "url",
        "spdx_id",
        "node_id"
      ]
    },
    "nullable-milestone": {
      "title": "Milestone",
      "description": "A collection of related issues and pull requests.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "labels_url": {
          "type": "string",
          "format": "uri"
        },
        "id": {
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "number": {
          "description": "The number of the milestone.",
          "type": "integer"
        },
        "state": {
          "description": "The state of the milestone.",
          "type": "string",
          "enum": [
            "open",
            "closed"
          ],
          "default": "open"
        },
        "title": {
          "description": "The title of the milestone.",
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "creator": {
          "$ref": "#/$defs/nullable-simple-user"
        },
        "open_issues": {
          "type": "integer"
        },
        "closed_issues": {
          "type": "integer"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "closed_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "due_on": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        }
      },
      "required": [
        "closed_issues",
        "creator",
        "description",
        "due_on",
        "closed_at",
        "id",
        "node_id",
        "labels_url",
        "html_url",
        "number",
        "open_issues",
        "state",
        "title",
        "url",
        "created_at",
        "updated_at"
      ]
    },
    "nullable-simple-user": {
      "title": "Simple User",
      "description": "A GitHub user.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": [
            "string",
            "null"
          ]
        },
        "login": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "avatar_url": {
          "type": "string",
          "format": "uri"
        },
        "gravatar_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "followers_url": {
          "type": "string",
          "format": "uri"
        },
        "following_url": {
          "type": "string"
        },
        "gists_url": {
          "type": "string"
        },
        "starred_url": {
          "type": "string"
        },
        "subscriptions_url": {
          "type": "string",
          "format": "uri"
        },
        "organizations_url": {
          "type": "string",
          "format": "uri"
        },
        "repos_url": {
          "type": "string",
          "format": "uri"
        },
        "events_url": {
          "type": "string"
        },
        "received_events_url": {
          "type": "string",
          "format": "uri"
        },
        "type": {
          "type": "string"
        },
        "site_admin": {
          "type": "boolean"
        },
        "starred_at": {
          "type": "string"
        }
      },
      "required": [
        "avatar_url",
        "events_url",
        "followers_url",
        "following_url",
        "gists_url",
        "gravatar_id",
        "html_url",
        "id",
        "node_id",
        "login",
        "organizations_url",
        "received_events_url",
        "repos_url",
        "site_admin",
        "starred_url",
        "subscriptions_url",
        "type",
        "url"
      ]
    },
    "reaction-rollup": {
      "title": "Reaction Rollup",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        },
        "total_count": {
          "type": "integer"
        },
        "+1": {
          "type": "integer"
        },
        "-1": {
          "type": "integer"
        },
        "laugh": {
          "type": "integer"
        },
        "confused": {
          "type": "integer"
        },
        "heart": {
          "type": "integer"
        },
        "hooray": {
          "type": "integer"
        },
        "eyes": {
          "type": "integer"
        },
        "rocket": {
          "type": "integer"
        }
      },
      "required": [
        "url",
        "total_count",
        "+1",
        "-1",
        "laugh",
        "confused",
        "heart",
        "hooray",
        "eyes",
        "rocket"
      ]
    },
    "repository": {
      "title": "Repository",
      "description": "A repository on GitHub.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Unique identifier of the repository",
          "type": "integer"
        },
        "node_id": {
          "type": "string"
        },
        "name": {
          "description": "The name of the repository.",
          "type": "string"
        },
        "full_name": {
          "type": "string"
        },
        "license": {
          "$ref": "#/$defs/nullable-license-simple"
        },
        "forks": {
          "type": "integer"
        },
        "permissions": {
          "type": "object",
          "properties": {
            "admin": {
              "type": "boolean"
            },
            "pull": {
              "type": "boolean"
            },
            "triage": {
              "type": "boolean"
            },
            "push": {
              "type": "boolean"
            },
            "maintain": {
              "type": "boolean"
            }
          },
          "required": [
            "admin",
            "pull",
            "push"
          ]
        },
        "owner": {
          "$ref": "#/$defs/simple-user"
        },
        "private": {
          "description": "Whether the repository is private or public.",
          "default": false,
          "type": "boolean"
        },
        "html_url": {
          "type": "string",
          "format": "uri"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "fork": {
          "type": "boolean"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "archive_url": {
          "type": "string"
        },
        "assignees_url": {
          "type": "string"
        },
        "blobs_url": {
          "type": "string"
        },
        "branches_url": {
          "type": "string"
        },
        "collaborators_url": {
          "type": "string"
        },
        "comments_url": {
          "type": "string"
        },
        "commits_url": {
          "type": "string"
        },
        "compare_url": {
          "type": "string"
        },
        "contents_url": {
          "type": "string"
        },
        "contributors_url": {
          "type": "string",
          "format": "uri"
        },
        "deployments_url": {
          "type": "string",
          "format": "uri"
        },
        "downloads_url": {
          "type": "string",
          "format": "uri"
        },
        "events_url": {
          "type": "string",
          "format": "uri"
        },
        "forks_url": {
          "type": "string",
          "format": "uri"
        },
        "git_commits_url": {
          "type": "string"
        },
        "git_refs_url": {
          "type": "string"
        },
        "git_tags_url": {
          "type": "string"
        },
        "git_url": {
          "type": "string"
        },
        "issue_comment_url": {
          "type": "string"
        },
        "issue_events_url": {
          "type": "string"
        },
        "issues_url": {
          "type": "string"
        },
        "keys_url": {
          "type": "string"
        },
        "labels_url": {
          "type": "string"
        },
        "languages_url": {
          "type": "string",
          "format": "uri"
        },
        "merges_url": {
          "type": "string",
          "format": "uri"
        },
        "milestones_url": {
          "type": "string"
        },
        "notifications_url": {
          "type": "string"
        },
        "pulls_url": {
          "type": "string"
        },
        "releases_url": {
          "type": "string"
        },
        "ssh_url": {
          "type": "string"
        },
        "stargazers_url": {
          "type": "string",
          "format": "uri"
        },
        "statuses_url": {
          "type": "string"
        },
        "subscribers_url": {
          "type": "string",
          "format": "uri"
        },
        "subscription_url": {
          "type": "string",
          "format": "uri"
        },
        "tags_url": {
          "type": "string",
          "format": "uri"
        },
        "teams_url": {
          "type": "string",
          "format": "uri"
        },
        "trees_url": {
          "type": "string"
        },
        "clone_url": {
          "type": "string"
        },
        "mirror_url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "hooks_url": {
          "type": "string",
          "format": "uri"
        },
        "svn_url": {
          "type": "string",
          "format": "uri"
        },
        "homepage": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "language": {
          "type": [
            "string",
            "null"
          ]
        },
        "forks_count": {
          "type": "integer"
        },
        "stargazers_count": {
          "type": "integer"
        },
        "watchers_count": {
          "type": "integer"
        },
        "size": {
          "description": "The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0.",
          "type": "integer"
        },
        "default_branch": {
          "description": "The default branch of the repository.",
          "type": "string"
        },
        "open_issues_count": {
          "type": "integer"
        },
        "is_template": {
          "description": "Whether this repository acts as a template that can be used to generate new repositories.",
          "default": false,
          "type": "boolean"
        },
        "topics": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "has_issues": {
          "description": "Whether issues are enabled.",
          "default": true,
          "type": "boolean"
        },
        "has_projects": {
          "description": "Whether projects are enabled.",
          "default": true,
          "type": "boolean"
        },
        "has_wiki": {
          "description": "Whether the wiki is enabled.",
          "default": true,
          "type": "boolean"
        },
        "has_pages": {
          "type": "boolean"
        },
        "has_downloads": {
          "description": "Whether downloads are enabled.",
          "default": true,
          "type": "boolean",
          "deprecated": true
        },
        "has_discussions": {
          "description": "Whether discussions are enabled.",
          "default": false,
          "type": "boolean"
        },
        "archived": {
          "description": "Whether the repository is archived.",
          "default": false,
          "type": "boolean"
        },
        "disabled": {
          "type": "boolean",
          "description": "Returns whether or not this repository disabled."
        },
        "visibility": {
          "description": "The repository visibility: public, private, or internal.",
          "default": "public",
          "type": "string"
        },
        "pushed_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "created_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updated_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "allow_rebase_merge": {
          "description": "Whether to allow rebase merges for pull requests.",
          "default": true,
          "type": "boolean"
        },
        "temp_clone_token": {
          "type": "string"
        },
        "allow_squash_merge": {
          "description": "Whether to allow squash merges for pull requests.",
          "default": true,
          "type": "boolean"
        },
        "allow_auto_merge": {
          "description": "Whether to allow Auto-merge to be used on pull requests.",
          "default": false,
          "type": "boolean"
        },
        "delete_branch_on_merge": {
          "description": "Whether to delete head branches when pull requests are merged",
          "default": false,
          "type": "boolean"
        },
        "allow_update_branch": {
          "description": "Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging.",
          "default": false,
          "type": "boolean"
        },
        "use_squash_pr_title_as_default": {
          "type": "boolean",
          "description": "Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.",
          "default": false,
          "deprecated": true
        },
        "squash_merge_commit_title": {
          "type": "string",
          "enum": [
            "PR_TITLE",
            "COMMIT_OR_PR_TITLE"
          ],
          "description": "The default value for a squash merge commit title:\n\n- `PR_TITLE` - default to the pull request's title.\n- `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit)."
        },
        "squash_merge_commit_message": {
          "type": "string",
          "enum": [
            "PR_BODY",
            "COMMIT_MESSAGES",
            "BLANK"
          ],
          "description": "The default value for a squash merge commit message:\n\n- `PR_BODY` - default to the pull request's body.\n- `COMMIT_MESSAGES` - default to the branch's commit messages.\n- `BLANK` - default to a blank commit message."
        },
        "merge_commit_title": {
          "type": "string",
          "enum": [
            "PR_TITLE",
            "MERGE_MESSAGE"
          ],
          "description": "The default value for a merge commit title.\n\n- `PR_TITLE` - default to the pull request's title.\n- `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name)."
        },
        "merge_commit_message": {
          "type": "string",
          "enum": [
            "PR_BODY",
            "PR_TITLE",
            "BLANK"
          ],
          "description": "The default value for a merge commit message.\n\n- `PR_TITLE` - default to the pull request's title.\n- `PR_BODY` - default to the pull request's body.\n- `BLANK` - default to a blank commit message."
        },
        "allow_merge_commit": {
          "description": "Whether to allow merge commits for pull requests.",
          "default": true,
          "type": "boolean"
        },
        "allow_forking": {
          "description": "Whether to allow forking this repo",
          "type": "boolean"
        },
        "web_commit_signoff_required": {
          "description": "Whether to require contributors to sign off on web-based commits",
          "default": false,
          "type": "boolean"
        },
        "open_issues": {
          "type": "integer"
        },
        "watchers": {
          "type": "integer"
        },
        "master_branch": {
          "type": "string"
        },
        "starred_at": {
          "type": "string"
        },
        "anonymous_access_enabled": {
          "type": "boolean",
          "description": "Whether anonymous git access is enabled for this repository"
        }
      },
      "required": [
        "archive_url",
        "assignees_url",
        "blobs_url",
        "branches_url",
        "collaborators_url",
        "comments_url",
        "commits_url",
        "compare_url",
        "contents_url",
        "contributors_url",
        "deployments_url",
        "description",
        "downloads_url",
        "events_url",
        "fork",
        "forks_url",
        "full_name",
        "git_commits_url",
        "git_refs_url",
        "git_tags_url",
        "hooks_url",
        "html_url",
        "id",
        "node_id",
        "issue_comment_url",
        "issue_events_url",
        "issue

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/json-schema/github-event-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/github-event"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.