GitHub v3 REST API

Get organization membership for a user

In order to get a user’s membership with an organization, the authenticated user must be an organization member. The state parameter in the response can be used to identify the user’s membership status.

get
http://HOSTNAME/api/v3/orgs/{org}/memberships/{username}

Path Parameters

orgstringrequired
usernamestringrequired

Response

application/json

Response

Org Membership

Org Membership

urlstring(uri)required

Example:https://api.github.com/orgs/octocat/memberships/defunkt

statestringrequired

The state of the member in the organization. The pending state indicates the user has not yet accepted an invitation.

Allowed values:activepending

Example:active

rolestringrequired

The user’s membership type in the organization.

Allowed values:adminmemberbilling_manager

Example:admin

organization_urlstring(uri)required

Example:https://api.github.com/orgs/octocat

organizationobjectrequired

Organization Simple

Show Child Parameters
userobject | nullrequired

Simple User

Show Child Parameters
permissionsobject
Show Child Parameters
get/orgs/{org}/memberships/{username}
 
application/json

Set organization membership for a user

Only authenticated organization owners can add a member to the organization or update the member’s role.

  • If the authenticated user is adding a member to the organization, the invited user will receive an email inviting them to the organization. The user’s membership status will be pending until they accept the invitation.

  • Authenticated users can update a user’s membership by passing the role parameter. If the authenticated user changes a member’s role to admin, the affected user will receive an email notifying them that they’ve been made an organization owner. If the authenticated user changes an owner’s role to member, no email will be sent.

Rate limits

To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period.

put
http://HOSTNAME/api/v3/orgs/{org}/memberships/{username}

Path Parameters

orgstringrequired
usernamestringrequired

Body

application/json
rolestring

The role to give the user in the organization. Can be one of:
* admin - The user will become an owner of the organization.
* member - The user will become a non-owner member of the organization.

Allowed values:adminmember

Default:member

Response

application/json

Response

Org Membership

Org Membership

urlstring(uri)required

Example:https://api.github.com/orgs/octocat/memberships/defunkt

statestringrequired

The state of the member in the organization. The pending state indicates the user has not yet accepted an invitation.

Allowed values:activepending

Example:active

rolestringrequired

The user’s membership type in the organization.

Allowed values:adminmemberbilling_manager

Example:admin

organization_urlstring(uri)required

Example:https://api.github.com/orgs/octocat

organizationobjectrequired

Organization Simple

Show Child Parameters
userobject | nullrequired

Simple User

Show Child Parameters
permissionsobject
Show Child Parameters
put/orgs/{org}/memberships/{username}

Body

{}
 
application/json

Remove organization membership for a user

In order to remove a user’s membership with an organization, the authenticated user must be an organization owner.

If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases.

delete
http://HOSTNAME/api/v3/orgs/{org}/memberships/{username}

Path Parameters

orgstringrequired
usernamestringrequired

Response

Response

delete/orgs/{org}/memberships/{username}
 

List outside collaborators for an organization

List all users who are outside collaborators of an organization.

get
http://HOSTNAME/api/v3/orgs/{org}/outside_collaborators

Query Parameters

filterstring

Filter the list of outside collaborators. Can be one of:
* 2fa_disabled: Outside collaborators without two-factor authentication enabled.
* all: All outside collaborators.

Allowed values:2fa_disabledall

Default:all

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

Path Parameters

orgstringrequired

Response

200 application/json

Response

Simple User

namestring | null
emailstring | null
loginstringrequired

Example:octocat

idintegerrequired

Example:1

node_idstringrequired

Example:MDQ6VXNlcjE=

avatar_urlstring(uri)required

Example:https://github.com/images/error/octocat_happy.gif

gravatar_idstring | nullrequired

Example:41d064eb2195891e12d0413f63227ea7

urlstring(uri)required

Example:https://api.github.com/users/octocat

html_urlstring(uri)required

Example:https://github.com/octocat

followers_urlstring(uri)required

Example:https://api.github.com/users/octocat/followers

following_urlstringrequired

Example:https://api.github.com/users/octocat/following{/other_user}

gists_urlstringrequired

Example:https://api.github.com/users/octocat/gists{/gist_id}

starred_urlstringrequired

Example:https://api.github.com/users/octocat/starred{/owner}{/repo}

subscriptions_urlstring(uri)required

Example:https://api.github.com/users/octocat/subscriptions

organizations_urlstring(uri)required

Example:https://api.github.com/users/octocat/orgs

repos_urlstring(uri)required

Example:https://api.github.com/users/octocat/repos

events_urlstringrequired

Example:https://api.github.com/users/octocat/events{/privacy}

received_events_urlstring(uri)required

Example:https://api.github.com/users/octocat/received_events

typestringrequired

Example:User

site_adminbooleanrequired
starred_atstring

Example:"2020-07-09T00:17:55Z"

get/orgs/{org}/outside_collaborators
 
200 application/json

Convert an organization member to outside collaborator

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”.

put
http://HOSTNAME/api/v3/orgs/{org}/outside_collaborators/{username}

Path Parameters

orgstringrequired
usernamestringrequired

Response

application/json

User is getting converted asynchronously

object
* Additional properties are NOT allowed.
put/orgs/{org}/outside_collaborators/{username}
 
application/json