About interfaces
Interfaces serve as parent objects from which other objects can inherit.
For example, Lockable is an interface because both Issue and PullRequest objects can be locked. An interface has its own list of named fields that are shared by implementing objects.
For more information, see "Implementation."
Actor
Represents an object which can take actions on GitHub. Typically a User or Bot.
Assignable
An object that can have users assigned to it.
Implemented by
Fields
| Name | Description |
|---|---|
| A list of Users assigned to this object. |
AuditEntry
An entry in the audit log.
Implemented by
MembersCanDeleteReposClearAuditEntryMembersCanDeleteReposDisableAuditEntryMembersCanDeleteReposEnableAuditEntryOauthApplicationCreateAuditEntryOrgAddBillingManagerAuditEntryOrgAddMemberAuditEntryOrgBlockUserAuditEntryOrgConfigDisableCollaboratorsOnlyAuditEntryOrgConfigEnableCollaboratorsOnlyAuditEntryOrgCreateAuditEntryOrgDisableOauthAppRestrictionsAuditEntryOrgDisableSamlAuditEntryOrgDisableTwoFactorRequirementAuditEntryOrgEnableOauthAppRestrictionsAuditEntryOrgEnableSamlAuditEntryOrgEnableTwoFactorRequirementAuditEntryOrgInviteMemberAuditEntryOrgInviteToBusinessAuditEntryOrgOauthAppAccessApprovedAuditEntryOrgOauthAppAccessDeniedAuditEntryOrgOauthAppAccessRequestedAuditEntryOrgRemoveBillingManagerAuditEntryOrgRemoveMemberAuditEntryOrgRemoveOutsideCollaboratorAuditEntryOrgRestoreMemberAuditEntryOrgUnblockUserAuditEntryOrgUpdateDefaultRepositoryPermissionAuditEntryOrgUpdateMemberAuditEntryOrgUpdateMemberRepositoryCreationPermissionAuditEntryOrgUpdateMemberRepositoryInvitationPermissionAuditEntryPrivateRepositoryForkingDisableAuditEntryPrivateRepositoryForkingEnableAuditEntryRepoAccessAuditEntryRepoAddMemberAuditEntryRepoAddTopicAuditEntryRepoArchivedAuditEntryRepoChangeMergeSettingAuditEntryRepoConfigDisableAnonymousGitAccessAuditEntryRepoConfigDisableCollaboratorsOnlyAuditEntryRepoConfigDisableContributorsOnlyAuditEntryRepoConfigDisableSockpuppetDisallowedAuditEntryRepoConfigEnableAnonymousGitAccessAuditEntryRepoConfigEnableCollaboratorsOnlyAuditEntryRepoConfigEnableContributorsOnlyAuditEntryRepoConfigEnableSockpuppetDisallowedAuditEntryRepoConfigLockAnonymousGitAccessAuditEntryRepoConfigUnlockAnonymousGitAccessAuditEntryRepoCreateAuditEntryRepoDestroyAuditEntryRepoRemoveMemberAuditEntryRepoRemoveTopicAuditEntryRepositoryVisibilityChangeDisableAuditEntryRepositoryVisibilityChangeEnableAuditEntryTeamAddMemberAuditEntryTeamAddRepositoryAuditEntryTeamChangeParentTeamAuditEntryTeamRemoveMemberAuditEntryTeamRemoveRepositoryAuditEntry
Fields
| Name | Description |
|---|---|
| The action name. |
| The user who initiated the action. |
| The IP address of the actor. |
| A readable representation of the actor's location. |
| The username of the user who initiated the action. |
| The HTTP path for the actor. |
| The HTTP URL for the actor. |
| The time the action was initiated. |
| The corresponding operation type for the action. |
| The user affected by the action. |
| For actions involving two users, the actor is the initiator and the user is the affected user. |
| The HTTP path for the user. |
| The HTTP URL for the user. |
Comment
Represents a comment.
Implemented by
CommitCommentDiscussionDiscussionCommentGistCommentIssueIssueCommentPullRequestPullRequestReviewPullRequestReviewCommentTeamDiscussionTeamDiscussionComment
Fields
| Name | Description |
|---|---|
| The actor who authored the comment. |
| Author's association with the subject of the comment. |
| The body as Markdown. |
| The body rendered to HTML. |
| The body rendered to text. |
| Identifies the date and time when the object was created. |
| Check if this comment was created via an email reply. |
| The actor who edited the comment. |
| Check if this comment was edited and includes an edit with the creation data. |
| The moment the editor made the last edit. |
| Identifies when the comment was published at. |
| Identifies the date and time when the object was last updated. |
| A list of edits to this content. |
| Did the viewer author this comment. |
Contribution
Represents a contribution a user made on GitHub, such as opening an issue.
Implemented by
CreatedCommitContributionCreatedIssueContributionCreatedPullRequestContributionCreatedPullRequestReviewContributionCreatedRepositoryContributionJoinedGitHubContributionRestrictedContribution
Fields
| Name | Description |
|---|---|
| Whether this contribution is associated with a record you do not have access to. For example, your own 'first issue' contribution may have been made on a repository you can no longer access. |
| When this contribution was made. |
| The HTTP path for this contribution. |
| The HTTP URL for this contribution. |
| The user who made this contribution. |
Deletable
Entities that can be deleted.
Implemented by
CommitCommentDiscussionDiscussionCommentGistCommentIssueCommentPullRequestReviewPullRequestReviewCommentTeamDiscussionTeamDiscussionComment
Fields
| Name | Description |
|---|---|
| Check if the current viewer can delete this object. |
EnterpriseAuditEntryData
Metadata for an audit entry containing enterprise account information.
Implemented by
MembersCanDeleteReposClearAuditEntryMembersCanDeleteReposDisableAuditEntryMembersCanDeleteReposEnableAuditEntryOrgInviteToBusinessAuditEntryPrivateRepositoryForkingDisableAuditEntryPrivateRepositoryForkingEnableAuditEntryRepositoryVisibilityChangeDisableAuditEntryRepositoryVisibilityChangeEnableAuditEntry
Fields
| Name | Description |
|---|---|
| The HTTP path for this enterprise. |
| The slug of the enterprise. |
| The HTTP URL for this enterprise. |
GitObject
Represents a Git object.
Implemented by
Fields
| Name | Description |
|---|---|
| An abbreviated version of the Git object ID. |
| The HTTP path for this Git object. |
| The HTTP URL for this Git object. |
| The Git object ID. |
| The Repository the Git object belongs to. |
GitSignature
Information about a signature (GPG or S/MIME) on a Commit or Tag.
Implemented by
Fields
| Name | Description |
|---|---|
| Email used to sign this object. |
| True if the signature is valid and verified by GitHub. |
| Payload for GPG signing object. Raw ODB object without the signature header. |
| ASCII-armored signature header from object. |
| GitHub user corresponding to the email signing this commit. |
| The state of this signature. |
| True if the signature was made with GitHub's signing key. |
HovercardContext
An individual line of a hovercard.
Implemented by
GenericHovercardContextOrganizationTeamsHovercardContextOrganizationsHovercardContextReviewStatusHovercardContextViewerHovercardContext
Fields
| Name | Description |
|---|---|
| A string describing this context. |
| An octicon to accompany this context. |
Labelable
An object that can have labels assigned to it.
Implemented by
Fields
| Name | Description |
|---|---|
| A list of labels associated with the object. Arguments
|
Lockable
An object that can be locked.
Implemented by
Fields
| Name | Description |
|---|---|
| Reason that the conversation was locked. |
|
|
MemberStatusable
Entities that have members who can set status messages.
Implemented by
Fields
| Name | Description |
|---|---|
| Get the status messages members of this entity have set that are either public or visible only to the organization. Arguments
|
Minimizable
Entities that can be minimized.
Node
An object with an ID.
Implemented by
AddedToProjectEventAppAssignedEventAutoMergeDisabledEventAutoMergeEnabledEventAutoRebaseEnabledEventAutoSquashEnabledEventAutomaticBaseChangeFailedEventAutomaticBaseChangeSucceededEventBaseRefChangedEventBaseRefDeletedEventBaseRefForcePushedEventBlobBotBranchProtectionRuleCWECheckRunCheckSuiteClosedEventCodeOfConductCommentDeletedEventCommitCommitCommentCommitCommentThreadConnectedEventConvertToDraftEventConvertedNoteToIssueEventCrossReferencedEventDemilestonedEventDeployKeyDeployedEventDeploymentDeploymentEnvironmentChangedEventDeploymentProtectionRuleDeploymentReviewDeploymentStatusDisconnectedEventDiscussionDiscussionCategoryDiscussionCommentEnterpriseEnterpriseAdministratorInvitationEnterpriseIdentityProviderEnterpriseRepositoryInfoEnterpriseServerInstallationEnterpriseServerUserAccountEnterpriseServerUserAccountEmailEnterpriseServerUserAccountsUploadEnterpriseUserAccountEnvironmentExternalIdentityGistGistCommentHeadRefDeletedEventHeadRefForcePushedEventHeadRefRestoredEventIpAllowListEntryIssueIssueCommentLabelLabeledEventLanguageLicenseLockedEventMannequinMarkedAsDuplicateEventMembersCanDeleteReposClearAuditEntryMembersCanDeleteReposDisableAuditEntryMembersCanDeleteReposEnableAuditEntryMentionedEventMergedEventMilestoneMilestonedEventMovedColumnsInProjectEventOauthApplicationCreateAuditEntryOrgAddBillingManagerAuditEntryOrgAddMemberAuditEntryOrgBlockUserAuditEntryOrgConfigDisableCollaboratorsOnlyAuditEntryOrgConfigEnableCollaboratorsOnlyAuditEntryOrgCreateAuditEntryOrgDisableOauthAppRestrictionsAuditEntryOrgDisableSamlAuditEntryOrgDisableTwoFactorRequirementAuditEntryOrgEnableOauthAppRestrictionsAuditEntryOrgEnableSamlAuditEntryOrgEnableTwoFactorRequirementAuditEntryOrgInviteMemberAuditEntryOrgInviteToBusinessAuditEntryOrgOauthAppAccessApprovedAuditEntryOrgOauthAppAccessDeniedAuditEntryOrgOauthAppAccessRequestedAuditEntryOrgRemoveBillingManagerAuditEntryOrgRemoveMemberAuditEntryOrgRemoveOutsideCollaboratorAuditEntryOrgRestoreMemberAuditEntryOrgUnblockUserAuditEntryOrgUpdateDefaultRepositoryPermissionAuditEntryOrgUpdateMemberAuditEntryOrgUpdateMemberRepositoryCreationPermissionAuditEntryOrgUpdateMemberRepositoryInvitationPermissionAuditEntryOrganizationOrganizationIdentityProviderOrganizationInvitationPackagePackageFilePackageTagPackageVersionPinnedDiscussionPinnedEventPinnedIssuePrivateRepositoryForkingDisableAuditEntryPrivateRepositoryForkingEnableAuditEntryProjectProjectCardProjectColumnPublicKeyPullRequestPullRequestCommitPullRequestCommitCommentThreadPullRequestReviewPullRequestReviewCommentPullRequestReviewThreadPushPushAllowanceReactionReadyForReviewEventRefReferencedEventReleaseReleaseAssetRemovedFromProjectEventRenamedTitleEventReopenedEventRepoAccessAuditEntryRepoAddMemberAuditEntryRepoAddTopicAuditEntryRepoArchivedAuditEntryRepoChangeMergeSettingAuditEntryRepoConfigDisableAnonymousGitAccessAuditEntryRepoConfigDisableCollaboratorsOnlyAuditEntryRepoConfigDisableContributorsOnlyAuditEntryRepoConfigDisableSockpuppetDisallowedAuditEntryRepoConfigEnableAnonymousGitAccessAuditEntryRepoConfigEnableCollaboratorsOnlyAuditEntryRepoConfigEnableContributorsOnlyAuditEntryRepoConfigEnableSockpuppetDisallowedAuditEntryRepoConfigLockAnonymousGitAccessAuditEntryRepoConfigUnlockAnonymousGitAccessAuditEntryRepoCreateAuditEntryRepoDestroyAuditEntryRepoRemoveMemberAuditEntryRepoRemoveTopicAuditEntryRepositoryRepositoryInvitationRepositoryTopicRepositoryVisibilityChangeDisableAuditEntryRepositoryVisibilityChangeEnableAuditEntryRepositoryVulnerabilityAlertReviewDismissalAllowanceReviewDismissedEventReviewRequestReviewRequestRemovedEventReviewRequestedEventSavedReplySecurityAdvisorySponsorshipStatusStatusCheckRollupStatusContextSubscribedEventTagTeamTeamAddMemberAuditEntryTeamAddRepositoryAuditEntryTeamChangeParentTeamAuditEntryTeamDiscussionTeamDiscussionCommentTeamRemoveMemberAuditEntryTeamRemoveRepositoryAuditEntryTopicTransferredEventTreeUnassignedEventUnlabeledEventUnlockedEventUnmarkedAsDuplicateEventUnpinnedEventUnsubscribedEventUserUserBlockedEventUserContentEditUserStatusVerifiableDomainWorkflowWorkflowRun
Fields
| Name | Description |
|---|---|
| ID of the object. |
OauthApplicationAuditEntryData
Metadata for an audit entry with action oauth_application.*.
Implemented by
OauthApplicationCreateAuditEntryOrgOauthAppAccessApprovedAuditEntryOrgOauthAppAccessDeniedAuditEntryOrgOauthAppAccessRequestedAuditEntry
Fields
| Name | Description |
|---|---|
| The name of the OAuth Application. |
| The HTTP path for the OAuth Application. |
| The HTTP URL for the OAuth Application. |
OrganizationAuditEntryData
Metadata for an audit entry with action org.*.
Implemented by
MembersCanDeleteReposClearAuditEntryMembersCanDeleteReposDisableAuditEntryMembersCanDeleteReposEnableAuditEntryOauthApplicationCreateAuditEntryOrgAddBillingManagerAuditEntryOrgAddMemberAuditEntryOrgBlockUserAuditEntryOrgConfigDisableCollaboratorsOnlyAuditEntryOrgConfigEnableCollaboratorsOnlyAuditEntryOrgCreateAuditEntryOrgDisableOauthAppRestrictionsAuditEntryOrgDisableSamlAuditEntryOrgDisableTwoFactorRequirementAuditEntryOrgEnableOauthAppRestrictionsAuditEntryOrgEnableSamlAuditEntryOrgEnableTwoFactorRequirementAuditEntryOrgInviteMemberAuditEntryOrgInviteToBusinessAuditEntryOrgOauthAppAccessApprovedAuditEntryOrgOauthAppAccessDeniedAuditEntryOrgOauthAppAccessRequestedAuditEntryOrgRemoveBillingManagerAuditEntryOrgRemoveMemberAuditEntryOrgRemoveOutsideCollaboratorAuditEntryOrgRestoreMemberAuditEntryOrgRestoreMemberMembershipOrganizationAuditEntryDataOrgUnblockUserAuditEntryOrgUpdateDefaultRepositoryPermissionAuditEntryOrgUpdateMemberAuditEntryOrgUpdateMemberRepositoryCreationPermissionAuditEntryOrgUpdateMemberRepositoryInvitationPermissionAuditEntryPrivateRepositoryForkingDisableAuditEntryPrivateRepositoryForkingEnableAuditEntryRepoAccessAuditEntryRepoAddMemberAuditEntryRepoAddTopicAuditEntryRepoArchivedAuditEntryRepoChangeMergeSettingAuditEntryRepoConfigDisableAnonymousGitAccessAuditEntryRepoConfigDisableCollaboratorsOnlyAuditEntryRepoConfigDisableContributorsOnlyAuditEntryRepoConfigDisableSockpuppetDisallowedAuditEntryRepoConfigEnableAnonymousGitAccessAuditEntryRepoConfigEnableCollaboratorsOnlyAuditEntryRepoConfigEnableContributorsOnlyAuditEntryRepoConfigEnableSockpuppetDisallowedAuditEntryRepoConfigLockAnonymousGitAccessAuditEntryRepoConfigUnlockAnonymousGitAccessAuditEntryRepoCreateAuditEntryRepoDestroyAuditEntryRepoRemoveMemberAuditEntryRepoRemoveTopicAuditEntryRepositoryVisibilityChangeDisableAuditEntryRepositoryVisibilityChangeEnableAuditEntryTeamAddMemberAuditEntryTeamAddRepositoryAuditEntryTeamChangeParentTeamAuditEntryTeamRemoveMemberAuditEntryTeamRemoveRepositoryAuditEntry
Fields
| Name | Description |
|---|---|
| The Organization associated with the Audit Entry. |
| The name of the Organization. |
| The HTTP path for the organization. |
| The HTTP URL for the organization. |
PackageOwner
Represents an owner of a package.
Implemented by
Fields
| Name | Description |
|---|---|
| A list of packages under the owner. Arguments
|
ProfileOwner
Represents any entity on GitHub that has a profile page.
Implemented by
Fields
| Name | Description |
|---|---|
| Determine if this repository owner has any items that can be pinned to their profile. Arguments
|
| The public profile email. |
| Showcases a selection of repositories and gists that the profile owner has either curated or that have been selected automatically based on popularity. |
| The public profile location. |
| The username used to login. |
| The public profile name. |
| A list of repositories and gists this profile owner can pin to their profile. Arguments
|
| A list of repositories and gists this profile owner has pinned to their profile. Arguments
|
| Returns how many more items this profile owner can pin to their profile. |
| Can the viewer pin repositories and gists to the profile?. |
| The public profile website URL. |
ProjectOwner
Represents an owner of a Project.
Implemented by
Fields
| Name | Description |
|---|---|
| Find project by number. Arguments
|
| A list of projects under the owner. Arguments
|
| The HTTP path listing owners projects. |
| The HTTP URL listing owners projects. |
| Can the current viewer create new projects on this owner. |
Reactable
Represents a subject that can be reacted on.
Implemented by
CommitCommentDiscussionDiscussionCommentIssueIssueCommentPullRequestPullRequestReviewPullRequestReviewCommentReleaseTeamDiscussionTeamDiscussionComment
Fields
| Name | Description |
|---|---|
| Identifies the primary key from the database. |
| A list of reactions grouped by content left on the subject. |
| A list of Reactions left on the Issue. Arguments
|
| Can user react to this subject. |
RepositoryAuditEntryData
Metadata for an audit entry with action repo.*.
Implemented by
OrgRestoreMemberMembershipRepositoryAuditEntryDataPrivateRepositoryForkingDisableAuditEntryPrivateRepositoryForkingEnableAuditEntryRepoAccessAuditEntryRepoAddMemberAuditEntryRepoAddTopicAuditEntryRepoArchivedAuditEntryRepoChangeMergeSettingAuditEntryRepoConfigDisableAnonymousGitAccessAuditEntryRepoConfigDisableCollaboratorsOnlyAuditEntryRepoConfigDisableContributorsOnlyAuditEntryRepoConfigDisableSockpuppetDisallowedAuditEntryRepoConfigEnableAnonymousGitAccessAuditEntryRepoConfigEnableCollaboratorsOnlyAuditEntryRepoConfigEnableContributorsOnlyAuditEntryRepoConfigEnableSockpuppetDisallowedAuditEntryRepoConfigLockAnonymousGitAccessAuditEntryRepoConfigUnlockAnonymousGitAccessAuditEntryRepoCreateAuditEntryRepoDestroyAuditEntryRepoRemoveMemberAuditEntryRepoRemoveTopicAuditEntryTeamAddRepositoryAuditEntryTeamRemoveRepositoryAuditEntry
Fields
| Name | Description |
|---|---|
| The repository associated with the action. |
| The name of the repository. |
| The HTTP path for the repository. |
| The HTTP URL for the repository. |
RepositoryDiscussionAuthor
Represents an author of discussions in repositories.
Implemented by
Fields
| Name | Description |
|---|---|
| Discussions this user has started. Arguments
|
RepositoryDiscussionCommentAuthor
Represents an author of discussion comments in repositories.
Implemented by
Fields
| Name | Description |
|---|---|
| Discussion comments this user has authored. Arguments
|
RepositoryInfo
A subset of repository info.
Implemented by
Fields
| Name | Description |
|---|---|
| Identifies the date and time when the object was created. |
| The description of the repository. |
| The description of the repository rendered to HTML. |
| Returns how many forks there are of this repository in the whole network. |
| Indicates if the repository has anonymous Git read access feature enabled. |
| Indicates if the repository has issues feature enabled. |
| Indicates if the repository has the Projects feature enabled. |
| Indicates if the repository has wiki feature enabled. |
| The repository's URL. |
| Indicates if the repository is unmaintained. |
| Identifies if the repository is a fork. |
| Indicates if a repository is either owned by an organization, or is a private fork of an organization repository. |
| Indicates if the repository has been locked or not. |
| Identifies if the repository is a mirror. |
| Identifies if the repository is private or internal. |
| Identifies if the repository is a template that can be used to generate new repositories. |
| The license associated with the repository. |
| The reason the repository has been locked. |
| The repository's original mirror URL. |
| The name of the repository. |
| The repository's name with owner. |
| The image used to represent this repository in Open Graph data. |
| The User owner of the repository. |
| Identifies when the repository was last pushed to. |
| The HTTP path for this repository. |
| A description of the repository, rendered to HTML without any links in it. Arguments
|
| Identifies the date and time when the object was last updated. |
| The HTTP URL for this repository. |
| Whether this repository has a custom image to use with Open Graph as opposed to being represented by the owner's avatar. |
RepositoryNode
Represents a object that belongs to a repository.
Implemented by
CommitCommentCommitCommentThreadDiscussionDiscussionCategoryIssueIssueCommentPinnedDiscussionPullRequestPullRequestCommitCommentThreadPullRequestReviewPullRequestReviewCommentRepositoryVulnerabilityAlert
Fields
| Name | Description |
|---|---|
| The repository associated with this node. |
RepositoryOwner
Represents an owner of a Repository.
Implemented by
Fields
| Name | Description |
|---|---|
| A URL pointing to the owner's public avatar. Arguments
|
| The username used to login. |
| A list of repositories that the user owns. Arguments
|
| Find Repository. Arguments
|
| The HTTP URL for the owner. |
| The HTTP URL for the owner. |
RequirableByPullRequest
Represents a type that can be required by a pull request for merging.
Implemented by
Fields
| Name | Description |
|---|---|
| Whether this is required to pass before merging for a specific pull request. |
Sponsorable
Entities that can be sponsored through GitHub Sponsors.
Implemented by
Fields
| Name | Description |
|---|---|
| This object's sponsorships as the maintainer. Arguments
|
| This object's sponsorships as the sponsor. Arguments
|
Starrable
Things that can be starred.
Implemented by
Fields
| Name | Description |
|---|---|
| Returns a count of how many stargazers there are on this object. |
| A list of users who have starred this starrable. Arguments
|
| Returns a boolean indicating whether the viewing user has starred this starrable. |
Subscribable
Entities that can be subscribed to for web and email notifications.
Implemented by
Fields
| Name | Description |
|---|---|
| Check if the viewer is able to change their subscription status for the repository. |
| Identifies if the viewer is watching, not watching, or ignoring the subscribable entity. |
TeamAuditEntryData
Metadata for an audit entry with action team.*.
Implemented by
OrgRestoreMemberMembershipTeamAuditEntryDataTeamAddMemberAuditEntryTeamAddRepositoryAuditEntryTeamChangeParentTeamAuditEntryTeamRemoveMemberAuditEntryTeamRemoveRepositoryAuditEntry
Fields
| Name | Description |
|---|---|
| The team associated with the action. |
| The name of the team. |
| The HTTP path for this team. |
| The HTTP URL for this team. |
TopicAuditEntryData
Metadata for an audit entry with a topic.
UniformResourceLocatable
Represents a type that can be retrieved by a URL.
Implemented by
BotCheckRunClosedEventCommitConvertToDraftEventCrossReferencedEventGistIssueMannequinMergedEventMilestoneOrganizationPullRequestPullRequestCommitReadyForReviewEventReleaseRepositoryRepositoryTopicReviewDismissedEventTeamDiscussionTeamDiscussionCommentUser
Fields
| Name | Description |
|---|---|
| The HTML path to this resource. |
| The URL to this resource. |
Updatable
Entities that can be updated.
Implemented by
CommitCommentDiscussionDiscussionCommentGistCommentIssueIssueCommentProjectPullRequestPullRequestReviewPullRequestReviewCommentTeamDiscussionTeamDiscussionComment
Fields
| Name | Description |
|---|---|
| Check if the current viewer can update this object. |
UpdatableComment
Comments that can be updated.
Implemented by
CommitCommentDiscussionCommentGistCommentIssueIssueCommentPullRequestPullRequestReviewPullRequestReviewCommentTeamDiscussionTeamDiscussionComment
Fields
| Name | Description |
|---|---|
| Reasons why the current viewer can not update this comment. |
Votable
A subject that may be upvoted.