openapi: 3.0.3
info:
version: 1.1.4
title: GitHub Application About Member API
description: 'Use the REST API to retrieve information about GitHub Apps and GitHub App
installations.'
license:
name: MIT
url: https://spdx.org/licenses/MIT
termsOfService: https://docs.github.com/articles/github-terms-of-service
contact:
name: Support
url: https://support.github.com/contact?tags=dotcom-rest-api
x-github-plan: ghes
x-github-release: 3.9
servers:
- url: '{protocol}://{hostname}/api/v3'
variables:
hostname:
description: Self-hosted Enterprise Server hostname
default: HOSTNAME
protocol:
description: Self-hosted Enterprise Server protocol
default: http
tags:
- name: Member
paths:
/orgs/{org}/members/{username}:
delete:
summary: GitHub Remove an Organization Member
description: Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
tags:
- Member
operationId: removeAnOrganizationMember
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/orgs/members#remove-an-organization-member
parameters:
- $ref: '#/components/parameters/org'
- $ref: '#/components/parameters/username'
responses:
'204':
description: Response
'403':
$ref: '#/components/responses/forbidden'
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: orgs
subcategory: members
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orgs/{org}/outside_collaborators/{username}:
put:
summary: GitHub Convert an Organization Member to Outside Collaborator
description: When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/enterprise-server@3.9/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-server@3.9/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)."
tags:
- Member
operationId: convertAnOrganizationMemberToOutsideCollaborator
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/orgs/outside-collaborators#convert-an-organization-member-to-outside-collaborator
parameters:
- $ref: '#/components/parameters/org'
- $ref: '#/components/parameters/username'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
async:
type: boolean
description: When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued.
default: false
examples:
'202':
summary: Status code 202, asynchronous request
value:
async: true
'204':
summary: Status code 204, synchronous request
value: null
responses:
'202':
description: User is getting converted asynchronously
content:
application/json:
schema:
type: object
properties: {}
additionalProperties: false
examples:
'202':
value: null
'204':
description: User was converted
'403':
description: Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-server@3.9/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)."
'404':
$ref: '#/components/responses/not_found'
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: orgs
subcategory: outside-collaborators
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/teams/{team_id}/members/{username}:
get:
summary: GitHub Get Team Member (legacy)
description: 'The "Get team member" endpoint (described below) is deprecated.
We recommend using the [Get team membership for a user](https://docs.github.com/enterprise-server@3.9/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.
To list members in a team, the team must be visible to the authenticated user.'
tags:
- Member
operationId: getTeamMemberLegacy
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/teams/members#get-team-member-legacy
parameters:
- $ref: '#/components/parameters/team-id'
- $ref: '#/components/parameters/username'
responses:
'204':
description: if user is a member
'404':
description: if user is not a member
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
removalDate: '2021-02-01'
deprecationDate: '2020-01-21'
category: teams
subcategory: members
deprecated: true
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
summary: GitHub Add Team Member (legacy)
description: 'The "Add team member" endpoint (described below) is deprecated.
We recommend using the [Add or update team membership for a user](https://docs.github.com/enterprise-server@3.9/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.
Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub''s products](https://docs.github.com/enterprise-server@3.9/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they''re changing. The person being added to the team must be a member of the team''s organization.
**Note:** When you have team synchronization set up for a team with your organization''s identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team''s membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.9/articles/synchronizing-teams-between-your-identity-provider-and-github/)."
Note that you''ll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/enterprise-server@3.9/rest/guides/getting-started-with-the-rest-api#http-method)."'
tags:
- Member
operationId: addTeamMemberLegacy
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/teams/members#add-team-member-legacy
parameters:
- $ref: '#/components/parameters/team-id'
- $ref: '#/components/parameters/username'
responses:
'204':
description: Response
'403':
$ref: '#/components/responses/forbidden'
'404':
description: Not Found if team synchronization is set up
'422':
description: Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
removalDate: '2021-02-01'
deprecationDate: '2020-01-21'
category: teams
subcategory: members
deprecated: true
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
summary: GitHub Remove Team Member (legacy)
description: 'The "Remove team member" endpoint (described below) is deprecated.
We recommend using the [Remove team membership for a user](https://docs.github.com/enterprise-server@3.9/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.
Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub''s products](https://docs.github.com/enterprise-server@3.9/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
To remove a team member, the authenticated user must have ''admin'' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team.
**Note:** When you have team synchronization set up for a team with your organization''s identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team''s membership. If you have access to manage group membership in your IdP, you can manage GitHub Enterprise Server team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub Enterprise Server](https://docs.github.com/enterprise-server@3.9/articles/synchronizing-teams-between-your-identity-provider-and-github/)."'
tags:
- Member
operationId: removeTeamMemberLegacy
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/teams/members#remove-team-member-legacy
parameters:
- $ref: '#/components/parameters/team-id'
- $ref: '#/components/parameters/username'
responses:
'204':
description: Response
'404':
description: Not Found if team synchronization is setup
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
removalDate: '2021-02-01'
deprecationDate: '2020-01-21'
category: teams
subcategory: members
deprecated: true
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
responses:
forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/basic-error'
not_found:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/basic-error'
schemas:
basic-error:
title: Basic Error
description: Basic Error
type: object
properties:
message:
type: string
example: Example body text
documentation_url:
type: string
example: https://api.github.com/repos/octocat/Hello-World
url:
type: string
example: https://api.github.com/repos/octocat/Hello-World
status:
type: string
example: open
parameters:
team-id:
name: team_id
description: The unique identifier of the team.
in: path
required: true
schema:
type: integer
username:
name: username
description: The handle for the GitHub user account.
in: path
required: true
schema:
type: string
org:
name: org
description: The organization name. The name is not case sensitive.
in: path
required: true
schema:
type: string
securitySchemes:
bearerHttpAuthentication:
description: Bearer Token
type: http
scheme: Bearer
externalDocs:
description: GitHub Enterprise Developer Docs
url: https://docs.github.com/enterprise-server@3.9/rest/
x-webhooks:
branch-protection-rule-created:
post:
summary: 'This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/enterprise-server@3.9/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/enterprise-server@3.9/rest/branches/branch-protection)" in the REST API documentation.
To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission.'
description: A branch protection rule was created.
operationId: branch-protection-rule/created
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#branch_protection_rule
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-branch-protection-rule-created'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: branch_protection_rule
supported-webhook-types:
- repository
- organization
- app
branch-protection-rule-deleted:
post:
summary: 'This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/enterprise-server@3.9/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/enterprise-server@3.9/rest/branches/branch-protection)" in the REST API documentation.
To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission.'
description: A branch protection rule was deleted.
operationId: branch-protection-rule/deleted
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#branch_protection_rule
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-branch-protection-rule-deleted'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: branch_protection_rule
supported-webhook-types:
- repository
- organization
- app
branch-protection-rule-edited:
post:
summary: 'This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/enterprise-server@3.9/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/enterprise-server@3.9/rest/branches/branch-protection)" in the REST API documentation.
To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission.'
description: A branch protection rule was edited.
operationId: branch-protection-rule/edited
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#branch_protection_rule
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-branch-protection-rule-edited'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: branch_protection_rule
supported-webhook-types:
- repository
- organization
- app
cache-sync:
post:
summary: This event occurs when a Git ref has been successfully synced to a cache replica. For more information, see "[About repository caching](https://docs.github.com/enterprise-server@3.9/admin/enterprise-management/caching-repositories/about-repository-caching)."
operationId: cache-sync
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#cache_sync
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-cache-sync'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: cache_sync
supported-webhook-types:
- repository
- organization
- app
check-run-completed:
post:
summary: 'This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/enterprise-server@3.9/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/enterprise-server@3.9/rest/checks/runs)" in the REST API documentation.
For activity relating to check suites, use the `check-suite` event.
To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event.
Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories.
**Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.'
description: A check run was completed, and a conclusion is available.
operationId: check-run/completed
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#check_run
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-check-run-completed'
examples:
default:
$ref: '#/components/examples/check-run-completed'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/webhook-check-run-completed-form-encoded'
examples:
default:
$ref: '#/components/examples/check-run-completed-form-encoded'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: webhooks
subcategory: check_run
supported-webhook-types:
- repository
- organization
- app
check-run-created:
post:
summary: 'This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/enterprise-server@3.9/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/enterprise-server@3.9/rest/checks/runs)" in the REST API documentation.
For activity relating to check suites, use the `check-suite` event.
To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event.
Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories.
**Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.'
description: A new check run was created.
operationId: check-run/created
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#check_run
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-check-run-created'
examples:
default:
$ref: '#/components/examples/check-run-created'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/webhook-check-run-created-form-encoded'
examples:
default:
$ref: '#/components/examples/check-run-created-form-encoded'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: webhooks
subcategory: check_run
supported-webhook-types:
- repository
- organization
- app
check-run-requested-action:
post:
summary: 'This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/enterprise-server@3.9/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/enterprise-server@3.9/rest/checks/runs)" in the REST API documentation.
For activity relating to check suites, use the `check-suite` event.
To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event.
Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories.
**Note**: The API only looks for pushes in the repository where the check run was cre
# --- truncated at 32 KB (614 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/openapi/github-member-api-openapi.yml