Skip to main content

This version of GitHub Enterprise was discontinued on 2023-03-15. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

After a site administrator upgrades your Enterprise Server instance to Enterprise Server 3.9 or later, the REST API will be versioned. To learn how to find your instance's version, see "About versions of GitHub Docs". For more information, see "About API versioning."

Outside Collaborators

Use the REST API to manage outside collaborators.

List outside collaborators for an organization

Works with GitHub Apps

List all users who are outside collaborators of an organization.

Parameters for "List outside collaborators for an organization"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
filter string

Filter the list of outside collaborators. 2fa_disabled means that only outside collaborators without two-factor authentication enabled will be returned.

Default: all

Can be one of: 2fa_disabled, all

per_page integer

The number of results per page (max 100).

Default: 30

page integer

Page number of the results to fetch.

Default: 1

HTTP response status codes for "List outside collaborators for an organization"

Status codeDescription
200

OK

Code samples for "List outside collaborators for an organization"

get/orgs/{org}/outside_collaborators
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/outside_collaborators

Response

Status: 200
[ { "login": "octocat", "id": 1, "node_id": "MDQ6VXNlcjE=", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "gravatar_id": "", "url": "https://HOSTNAME/users/octocat", "html_url": "https://github.com/octocat", "followers_url": "https://HOSTNAME/users/octocat/followers", "following_url": "https://HOSTNAME/users/octocat/following{/other_user}", "gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}", "starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}", "subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions", "organizations_url": "https://HOSTNAME/users/octocat/orgs", "repos_url": "https://HOSTNAME/users/octocat/repos", "events_url": "https://HOSTNAME/users/octocat/events{/privacy}", "received_events_url": "https://HOSTNAME/users/octocat/received_events", "type": "User", "site_admin": false } ]

Convert an organization member to outside collaborator

Works with GitHub Apps

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

Parameters for "Convert an organization member to outside collaborator"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

username string Required

The handle for the GitHub user account.

Body parameters
Name, Type, Description
async boolean

When set to true, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued.

Default: false

HTTP response status codes for "Convert an organization member to outside collaborator"

Status codeDescription
202

User is getting converted asynchronously

204

User was converted

403

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

404

Resource not found

Code samples for "Convert an organization member to outside collaborator"

put/orgs/{org}/outside_collaborators/{username}
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/outside_collaborators/USERNAME \ -d '{"async":true}'

User is getting converted asynchronously

Remove outside collaborator from an organization

Works with GitHub Apps

Removing a user from this list will remove them from all the organization's repositories.

Parameters for "Remove outside collaborator from an organization"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

username string Required

The handle for the GitHub user account.

HTTP response status codes for "Remove outside collaborator from an organization"

Status codeDescription
204

No Content

422

Unprocessable Entity if user is a member of the organization

Code samples for "Remove outside collaborator from an organization"

delete/orgs/{org}/outside_collaborators/{username}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/outside_collaborators/USERNAME

Response

Status: 204