View Source GitHub.Orgs (GitHub REST API Client v0.3.3)
Provides API endpoints related to orgs
Link to this section Summary
Functions
Add a security manager team
Assign an organization role to a team
Assign an organization role to a user
Block a user from an organization
Cancel an organization invitation
Check if a user is blocked by an organization
Check organization membership for a user
Check public organization membership for a user
Convert an organization member to outside collaborator
Create a custom organization role
Create an organization invitation
Create or update custom properties for an organization
Create or update custom property values for organization repositories
Create or update a custom property for an organization
Create an organization webhook
Delete an organization
Delete a custom organization role.
Delete an organization webhook
Enable or disable a security feature for an organization
Get an organization
Get all custom properties for an organization
Get a custom property for an organization
Get an organization membership for the authenticated user
Get organization membership for a user
Get an organization role
Get an organization webhook
Get a webhook configuration for an organization
Get a webhook delivery for an organization webhook
List organizations
List app installations for an organization
List users blocked by an organization
List custom property values for organization repositories
List failed organization invitations
List organizations for the authenticated user
List organizations for a user
List organization invitation teams
List organization members
List organization memberships for the authenticated user
List teams that are assigned to an organization role
List users that are assigned to an organization role
Get all organization roles for an organization
List organization fine-grained permissions for an organization
List outside collaborators for an organization
List repositories a fine-grained personal access token has access to
List repositories requested to be accessed by a fine-grained personal access token
List requests to access organization resources with fine-grained personal access tokens
List fine-grained personal access tokens with access to organization resources
List pending organization invitations
List public organization members
List security manager teams
List deliveries for an organization webhook
List organization webhooks
Update a custom organization role
Ping an organization webhook
Redeliver a delivery for an organization webhook
Remove a custom property for an organization
Remove an organization member
Remove organization membership for a user
Remove outside collaborator from an organization
Remove public organization membership for the authenticated user
Remove a security manager team
Review a request to access organization resources with a fine-grained personal access token
Review requests to access organization resources with fine-grained personal access tokens
Remove all organization roles for a team
Remove all organization roles for a user
Remove an organization role from a team
Remove an organization role from a user
Set organization membership for a user
Set public organization membership for the authenticated user
Unblock a user from an organization
Update an organization
Update an organization membership for the authenticated user
Update the access a fine-grained personal access token has to organization resources
Update the access to organization resources via fine-grained personal access tokens
Update an organization webhook
Update a webhook configuration for an organization
Link to this section Types
@type convert_member_to_outside_collaborator_202_json_resp() :: %{__info__: map()}
@type list_app_installations_200_json_resp() :: %{ __info__: map(), installations: [GitHub.Installation.t()], total_count: integer() }
@type list_org_roles_200_json_resp() :: %{ __info__: map(), roles: [GitHub.Organization.Role.t()] | nil, total_count: integer() | nil }
Link to this section Functions
@spec add_security_manager_team(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Add a security manager team
Adds a team as a security manager for an organization. For more information, see "Managing security for an organization for an organization."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the write:org
scope to use this endpoint.
resources
Resources
@spec assign_team_to_org_role(String.t(), String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Assign an organization role to a team
Assigns an organization role to a team in an organization. For more information on organization roles, see "Managing people's access to your organization with roles."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec assign_user_to_org_role(String.t(), String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Assign an organization role to a user
Assigns an organization role to a member of an organization. For more information on organization roles, see "Managing people's access to your organization with roles."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec block_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Block a user from an organization
Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned.
resources
Resources
@spec cancel_invitation(String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Cancel an organization invitation
Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner.
This endpoint triggers notifications.
resources
Resources
@spec check_blocked_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Check if a user is blocked by an organization
Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub.
resources
Resources
@spec check_membership_for_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Check organization membership for a user
Check if a user is, publicly or privately, a member of the organization.
resources
Resources
@spec check_public_membership_for_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Check public organization membership for a user
Check if the provided user is a public member of the organization.
resources
Resources
convert_member_to_outside_collaborator(org, username, body, opts \\ [])
View Source@spec convert_member_to_outside_collaborator(String.t(), String.t(), map(), keyword()) :: {:ok, map()} | {:error, GitHub.Error.t()}
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". 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."
resources
Resources
@spec create_custom_organization_role(String.t(), map(), keyword()) :: {:ok, GitHub.Organization.Role.t()} | {:error, GitHub.Error.t()}
Create a custom organization role
Creates a custom organization role that can be assigned to users and teams, granting them specific permissions over the organization. For more information on custom organization roles, see "Managing people's access to your organization with roles."
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permissions of
write_organization_custom_org_role
in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec create_invitation(String.t(), map(), keyword()) :: {:ok, GitHub.Organization.Invitation.t()} | {:error, GitHub.Error.t()}
Create an organization invitation
Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner.
This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "Rate limits for the API" and "Best practices for using the REST API."
resources
Resources
@spec create_or_update_custom_properties(String.t(), map(), keyword()) :: {:ok, [GitHub.OrgCustomProperty.t()]} | {:error, GitHub.Error.t()}
Create or update custom properties for an organization
Creates new or updates existing custom properties defined for an organization in a batch.
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permission of
custom_properties_org_definitions_manager
in the organization.
resources
Resources
create_or_update_custom_properties_values_for_repos(org, body, opts \\ [])
View Source@spec create_or_update_custom_properties_values_for_repos( String.t(), map(), keyword() ) :: :ok | {:error, GitHub.Error.t()}
Create or update custom property values for organization repositories
Create new or update existing custom property values for repositories in a batch that belong to an organization. Each target repository will have its custom property values updated to match the values provided in the request.
A maximum of 30 repositories can be updated in a single request.
Using a value of null
for a custom property will remove or 'unset' the property value from the repository.
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permission of
custom_properties_org_values_editor
in the organization.
resources
Resources
create_or_update_custom_property(org, custom_property_name, body, opts \\ [])
View Source@spec create_or_update_custom_property(String.t(), String.t(), map(), keyword()) :: {:ok, GitHub.OrgCustomProperty.t()} | {:error, GitHub.Error.t()}
Create or update a custom property for an organization
Creates a new or updates an existing custom property that is defined for an organization.
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permission of
custom_properties_org_definitions_manager
in the organization.
resources
Resources
@spec create_webhook(String.t(), map(), keyword()) :: {:ok, GitHub.OrgHook.t()} | {:error, GitHub.Error.t()}
Create an organization webhook
Create a hook that posts payloads in JSON format.
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or
edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
@spec delete( String.t(), keyword() ) :: {:ok, map()} | {:error, GitHub.Error.t()}
Delete an organization
Deletes an organization and all its repositories.
The organization login will be unavailable for 90 days after deletion.
Please review the Terms of Service regarding account deletion before using this endpoint:
https://docs.github.com/site-policy/github-terms/github-terms-of-service
resources
Resources
@spec delete_custom_organization_role(String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Delete a custom organization role.
Deletes a custom organization role. For more information on custom organization roles, see "Managing people's access to your organization with roles."
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permissions of
write_organization_custom_org_role
in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec delete_webhook(String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Delete an organization webhook
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
enable_or_disable_security_product_on_all_org_repos(org, security_product, enablement, body, opts \\ [])
View Source@spec enable_or_disable_security_product_on_all_org_repos( String.t(), String.t(), String.t(), map(), keyword() ) :: :ok | {:error, GitHub.Error.t()}
Enable or disable a security feature for an organization
Enables or disables the specified security feature for all eligible repositories in an organization. For more information, see "Managing security managers in your organization."
The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the write:org
scope to use this endpoint.
resources
Resources
@spec get( String.t(), keyword() ) :: {:ok, GitHub.Organization.full()} | {:error, GitHub.Error.t()}
Get an organization
Gets information about an organization.
When the value of two_factor_requirement_enabled
is true
, the organization requires all members, billing managers, and outside collaborators to enable two-factor authentication.
To see the full details about an organization, the authenticated user must be an organization owner.
The values returned by this endpoint are set by the "Update an organization" endpoint. If your organization set a default security configuration (beta), the following values retrieved from the "Update an organization" endpoint have been overwritten by that configuration:
- advanced_security_enabled_for_new_repositories
- dependabot_alerts_enabled_for_new_repositories
- dependabot_security_updates_enabled_for_new_repositories
- dependency_graph_enabled_for_new_repositories
- secret_scanning_enabled_for_new_repositories
- secret_scanning_push_protection_enabled_for_new_repositories
For more information on security configurations, see "Enabling security features at scale."
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to see the full details about an organization.
To see information about an organization's GitHub plan, GitHub Apps need the Organization plan
permission.
resources
Resources
@spec get_all_custom_properties( String.t(), keyword() ) :: {:ok, [GitHub.OrgCustomProperty.t()]} | {:error, GitHub.Error.t()}
Get all custom properties for an organization
Gets all custom properties defined for an organization. Organization members can read these properties.
resources
Resources
@spec get_custom_property(String.t(), String.t(), keyword()) :: {:ok, GitHub.OrgCustomProperty.t()} | {:error, GitHub.Error.t()}
Get a custom property for an organization
Gets a custom property that is defined for an organization. Organization members can read these properties.
resources
Resources
@spec get_membership_for_authenticated_user( String.t(), keyword() ) :: {:ok, GitHub.OrgMembership.t()} | {:error, GitHub.Error.t()}
Get an organization membership for the authenticated user
If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a 404
is returned. This endpoint will return a 403
if the request is made by a GitHub App that is blocked by the organization.
resources
Resources
@spec get_membership_for_user(String.t(), String.t(), keyword()) :: {:ok, GitHub.OrgMembership.t()} | {:error, GitHub.Error.t()}
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.
resources
Resources
@spec get_org_role(String.t(), integer(), keyword()) :: {:ok, GitHub.Organization.Role.t()} | {:error, GitHub.Error.t()}
Get an organization role
Gets an organization role that is available to this organization. For more information on organization roles, see "Managing people's access to your organization with roles."
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permissions of
read_organization_custom_org_role
in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec get_webhook(String.t(), integer(), keyword()) :: {:ok, GitHub.OrgHook.t()} | {:error, GitHub.Error.t()}
Get an organization webhook
Returns a webhook configured in an organization. To get only the webhook
config
properties, see "Get a webhook configuration for an organization.
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
@spec get_webhook_config_for_org(String.t(), integer(), keyword()) :: {:ok, GitHub.Webhook.Config.t()} | {:error, GitHub.Error.t()}
Get a webhook configuration for an organization
Returns the webhook configuration for an organization. To get more information about the webhook, including the active
state and events
, use "Get an organization webhook ."
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
@spec get_webhook_delivery(String.t(), integer(), integer(), keyword()) :: {:ok, GitHub.Hook.Delivery.t()} | {:error, GitHub.Error.t()}
Get a webhook delivery for an organization webhook
Returns a delivery for a webhook configured in an organization.
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
@spec list(keyword()) :: {:ok, [GitHub.Organization.simple()]} | {:error, GitHub.Error.t()}
List organizations
Lists all organizations, in the order that they were created.
Note: Pagination is powered exclusively by the since
parameter. Use the Link header to get the URL for the next page of organizations.
options
Options
since
: An organization ID. Only return organizations with an ID greater than this ID.per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_app_installations( String.t(), keyword() ) :: {:ok, map()} | {:error, GitHub.Error.t()}
List app installations for an organization
Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization.
The authenticated user must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:read
scope to use this endpoint.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_blocked_users( String.t(), keyword() ) :: {:ok, [GitHub.User.simple()]} | {:error, GitHub.Error.t()}
List users blocked by an organization
List the users blocked by an organization.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_custom_properties_values_for_repos( String.t(), keyword() ) :: {:ok, [GitHub.OrgRepoCustomPropertyValues.t()]} | {:error, GitHub.Error.t()}
List custom property values for organization repositories
Lists organization repositories with all of their custom property values. Organization members can read these properties.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."repository_query
: Finds repositories in the organization with a query containing one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see Constructing a search query. See "Searching for repositories" for a detailed list of qualifiers.
resources
Resources
@spec list_failed_invitations( String.t(), keyword() ) :: {:ok, [GitHub.Organization.Invitation.t()]} | {:error, GitHub.Error.t()}
List failed organization invitations
The return hash contains failed_at
and failed_reason
fields which represent the time at which the invitation failed and the reason for the failure.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_for_authenticated_user(keyword()) :: {:ok, [GitHub.Organization.simple()]} | {:error, GitHub.Error.t()}
List organizations for the authenticated user
List organizations for the authenticated user.
For OAuth app tokens and personal access tokens (classic), this endpoint only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with read:org
scope, you can publicize your organization membership with user
scope, etc.). Therefore, this API requires at least user
or read:org
scope for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a 403 Forbidden
response.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_for_user( String.t(), keyword() ) :: {:ok, [GitHub.Organization.simple()]} | {:error, GitHub.Error.t()}
List organizations for a user
List public organization memberships for the specified user.
This method only lists public memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the List organizations for the authenticated user API instead.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_invitation_teams(String.t(), integer(), keyword()) :: {:ok, [GitHub.Team.t()]} | {:error, GitHub.Error.t()}
List organization invitation teams
List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_members( String.t(), keyword() ) :: {:ok, [GitHub.User.simple()]} | {:error, GitHub.Error.t()}
List organization members
List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.
options
Options
filter
: Filter members returned in the list.2fa_disabled
means that only members without two-factor authentication enabled will be returned. This options is only available for organization owners.role
: Filter members returned by their role.per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_memberships_for_authenticated_user(keyword()) :: {:ok, [GitHub.OrgMembership.t()]} | {:error, GitHub.Error.t()}
List organization memberships for the authenticated user
Lists all of the authenticated user's organization memberships.
options
Options
state
: Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships.per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_org_role_teams(String.t(), integer(), keyword()) :: {:ok, [GitHub.Team.t()]} | {:error, GitHub.Error.t()}
List teams that are assigned to an organization role
Lists the teams that are assigned to an organization role. For more information on organization roles, see "Managing people's access to your organization with roles."
To use this endpoint, you must be an administrator for the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_org_role_users(String.t(), integer(), keyword()) :: {:ok, [GitHub.User.simple()]} | {:error, GitHub.Error.t()}
List users that are assigned to an organization role
Lists organization members that are assigned to an organization role. For more information on organization roles, see "Managing people's access to your organization with roles."
To use this endpoint, you must be an administrator for the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_org_roles( String.t(), keyword() ) :: {:ok, map()} | {:error, GitHub.Error.t()}
Get all organization roles for an organization
Lists the organization roles available in this organization. For more information on organization roles, see "Managing people's access to your organization with roles."
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permissions of
read_organization_custom_org_role
in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec list_organization_fine_grained_permissions( String.t(), keyword() ) :: {:ok, [GitHub.Organization.FineGrainedPermission.t()]} | {:error, GitHub.Error.t()}
List organization fine-grained permissions for an organization
Lists the fine-grained permissions that can be used in custom organization roles for an organization. For more information, see "Managing people's access to your organization with roles."
To list the fine-grained permissions that can be used in custom repository roles for an organization, see "List repository fine-grained permissions for an organization."
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permissions of
read_organization_custom_org_role
in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec list_outside_collaborators( String.t(), keyword() ) :: {:ok, [GitHub.User.simple()]} | {:error, GitHub.Error.t()}
List outside collaborators for an organization
List all users who are outside collaborators of an organization.
options
Options
filter
: Filter the list of outside collaborators.2fa_disabled
means that only outside collaborators without two-factor authentication enabled will be returned.per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_pat_grant_repositories(String.t(), integer(), keyword()) :: {:ok, [GitHub.Repository.minimal()]} | {:error, GitHub.Error.t()}
List repositories a fine-grained personal access token has access to
Lists the repositories a fine-grained personal access token has access to.
Only GitHub Apps can use this endpoint.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
list_pat_grant_request_repositories(org, pat_request_id, opts \\ [])
View Source@spec list_pat_grant_request_repositories(String.t(), integer(), keyword()) :: {:ok, [GitHub.Repository.minimal()]} | {:error, GitHub.Error.t()}
List repositories requested to be accessed by a fine-grained personal access token
Lists the repositories a fine-grained personal access token request is requesting access to.
Only GitHub Apps can use this endpoint.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_pat_grant_requests( String.t(), keyword() ) :: {:ok, [GitHub.Organization.ProgrammaticAccessGrant.Request.t()]} | {:error, GitHub.Error.t()}
List requests to access organization resources with fine-grained personal access tokens
Lists requests from organization members to access organization resources with a fine-grained personal access token.
Only GitHub Apps can use this endpoint.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."sort
: The property by which to sort the results.direction
: The direction to sort the results by.owner
: A list of owner usernames to use to filter the results.repository
: The name of the repository to use to filter the results.permission
: The permission to use to filter the results.last_used_before
: Only show fine-grained personal access tokens used before the given time. This is a timestamp in ISO 8601 format:YYYY-MM-DDTHH:MM:SSZ
.last_used_after
: Only show fine-grained personal access tokens used after the given time. This is a timestamp in ISO 8601 format:YYYY-MM-DDTHH:MM:SSZ
.
resources
Resources
@spec list_pat_grants( String.t(), keyword() ) :: {:ok, [GitHub.Organization.ProgrammaticAccessGrant.t()]} | {:error, GitHub.Error.t()}
List fine-grained personal access tokens with access to organization resources
Lists approved fine-grained personal access tokens owned by organization members that can access organization resources.
Only GitHub Apps can use this endpoint.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."sort
: The property by which to sort the results.direction
: The direction to sort the results by.owner
: A list of owner usernames to use to filter the results.repository
: The name of the repository to use to filter the results.permission
: The permission to use to filter the results.last_used_before
: Only show fine-grained personal access tokens used before the given time. This is a timestamp in ISO 8601 format:YYYY-MM-DDTHH:MM:SSZ
.last_used_after
: Only show fine-grained personal access tokens used after the given time. This is a timestamp in ISO 8601 format:YYYY-MM-DDTHH:MM:SSZ
.
resources
Resources
@spec list_pending_invitations( String.t(), keyword() ) :: {:ok, [GitHub.Organization.Invitation.t()]} | {:error, GitHub.Error.t()}
List pending organization invitations
The return hash contains a role
field which refers to the Organization Invitation role and will be one of the following values: direct_member
, admin
, billing_manager
, or hiring_manager
. If the invitee is not a GitHub member, the login
field in the return hash will be null
.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."role
: Filter invitations by their member role.invitation_source
: Filter invitations by their invitation source.
resources
Resources
@spec list_public_members( String.t(), keyword() ) :: {:ok, [GitHub.User.simple()]} | {:error, GitHub.Error.t()}
List public organization members
Members of an organization can choose to have their membership publicized or not.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec list_security_manager_teams( String.t(), keyword() ) :: {:ok, [GitHub.Team.simple()]} | {:error, GitHub.Error.t()}
List security manager teams
Lists teams that are security managers for an organization. For more information, see "Managing security managers in your organization."
The authenticated user must be an administrator or security manager for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the read:org
scope to use this endpoint.
resources
Resources
@spec list_webhook_deliveries(String.t(), integer(), keyword()) :: {:ok, [GitHub.Hook.DeliveryItem.t()]} | {:error, GitHub.Error.t()}
List deliveries for an organization webhook
Returns a list of webhook deliveries for a webhook configured in an organization.
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."cursor
: Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to thelink
header for the next and previous page cursors.redelivery
resources
Resources
@spec list_webhooks( String.t(), keyword() ) :: {:ok, [GitHub.OrgHook.t()]} | {:error, GitHub.Error.t()}
List organization webhooks
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
options
Options
per_page
: The number of results per page (max 100). For more information, see "Using pagination in the REST API."page
: The page number of the results to fetch. For more information, see "Using pagination in the REST API."
resources
Resources
@spec patch_custom_organization_role(String.t(), integer(), map(), keyword()) :: {:ok, GitHub.Organization.Role.t()} | {:error, GitHub.Error.t()}
Update a custom organization role
Updates an existing custom organization role. Permission changes will apply to all assignees. For more information on custom organization roles, see "Managing people's access to your organization with roles."
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permissions of
write_organization_custom_org_role
in the organization.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec ping_webhook(String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Ping an organization webhook
This will trigger a ping event to be sent to the hook.
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
@spec redeliver_webhook_delivery(String.t(), integer(), integer(), keyword()) :: {:ok, map()} | {:error, GitHub.Error.t()}
Redeliver a delivery for an organization webhook
Redeliver a delivery for a webhook configured in an organization.
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
@spec remove_custom_property(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove a custom property for an organization
Removes a custom property that is defined for an organization.
To use this endpoint, the authenticated user must be one of:
- An administrator for the organization.
- A user, or a user on a team, with the fine-grained permission of
custom_properties_org_definitions_manager
in the organization.
resources
Resources
@spec remove_member(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove an organization member
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.
resources
Resources
@spec remove_membership_for_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
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.
resources
Resources
@spec remove_outside_collaborator(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove outside collaborator from an organization
Removing a user from this list will remove them from all the organization's repositories.
resources
Resources
remove_public_membership_for_authenticated_user(org, username, opts \\ [])
View Source@spec remove_public_membership_for_authenticated_user( String.t(), String.t(), keyword() ) :: :ok | {:error, GitHub.Error.t()}
Remove public organization membership for the authenticated user
Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default.
resources
Resources
@spec remove_security_manager_team(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove a security manager team
Removes the security manager role from a team for an organization. For more information, see "Managing security managers in your organization team from an organization."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec review_pat_grant_request(String.t(), integer(), map(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Review a request to access organization resources with a fine-grained personal access token
Approves or denies a pending request to access organization resources via a fine-grained personal access token.
Only GitHub Apps can use this endpoint.
resources
Resources
@spec review_pat_grant_requests_in_bulk(String.t(), map(), keyword()) :: {:ok, map()} | {:error, GitHub.Error.t()}
Review requests to access organization resources with fine-grained personal access tokens
Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token.
Only GitHub Apps can use this endpoint.
resources
Resources
@spec revoke_all_org_roles_team(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove all organization roles for a team
Removes all assigned organization roles from a team. For more information on organization roles, see "Managing people's access to your organization with roles."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec revoke_all_org_roles_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove all organization roles for a user
Revokes all assigned organization roles from a user. For more information on organization roles, see "Managing people's access to your organization with roles."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec revoke_org_role_team(String.t(), String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove an organization role from a team
Removes an organization role from a team. For more information on organization roles, see "Managing people's access to your organization with roles."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec revoke_org_role_user(String.t(), String.t(), integer(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Remove an organization role from a user
Remove an organization role from a user. For more information on organization roles, see "Managing people's access to your organization with roles."
The authenticated user must be an administrator for the organization to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
scope to use this endpoint.
resources
Resources
@spec set_membership_for_user(String.t(), String.t(), map(), keyword()) :: {:ok, GitHub.OrgMembership.t()} | {:error, GitHub.Error.t()}
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 toadmin
, 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 tomember
, 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.
resources
Resources
set_public_membership_for_authenticated_user(org, username, opts \\ [])
View Source@spec set_public_membership_for_authenticated_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Set public organization membership for the authenticated user
The user can publicize their own membership. (A user cannot publicize the membership for another user.)
Note that you'll need to set Content-Length
to zero when calling out to this endpoint. For more information, see "HTTP method."
resources
Resources
@spec unblock_user(String.t(), String.t(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Unblock a user from an organization
Unblocks the given user on behalf of the specified organization.
resources
Resources
@spec update(String.t(), map(), keyword()) :: {:ok, GitHub.Organization.full()} | {:error, GitHub.Error.t()}
Update an organization
Parameter Deprecation Notice: GitHub will replace and discontinue members_allowed_repository_creation_type
in favor of more granular permissions. The new input parameters are members_can_create_public_repositories
, members_can_create_private_repositories
for all organizations and members_can_create_internal_repositories
for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the blog post.
Updates the organization's profile and member privileges.
With security configurations (beta), your organization can choose a default security configuration which will automatically apply a set of security enablement settings to new repositories in your organization based on their visibility. For targeted repositories, the following attributes will be overridden by the default security configuration:
- advanced_security_enabled_for_new_repositories
- dependabot_alerts_enabled_for_new_repositories
- dependabot_security_updates_enabled_for_new_repositories
- dependency_graph_enabled_for_new_repositories
- secret_scanning_enabled_for_new_repositories
- secret_scanning_push_protection_enabled_for_new_repositories
For more information on setting a default security configuration, see "Enabling security features at scale."
The authenticated user must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need the admin:org
or repo
scope to use this endpoint.
resources
Resources
@spec update_membership_for_authenticated_user(String.t(), map(), keyword()) :: {:ok, GitHub.OrgMembership.t()} | {:error, GitHub.Error.t()}
Update an organization membership for the authenticated user
Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization.
resources
Resources
@spec update_pat_access(String.t(), integer(), map(), keyword()) :: :ok | {:error, GitHub.Error.t()}
Update the access a fine-grained personal access token has to organization resources
Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access.
Only GitHub Apps can use this endpoint.
resources
Resources
@spec update_pat_accesses(String.t(), map(), keyword()) :: {:ok, map()} | {:error, GitHub.Error.t()}
Update the access to organization resources via fine-grained personal access tokens
Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access.
Only GitHub Apps can use this endpoint.
resources
Resources
@spec update_webhook(String.t(), integer(), map(), keyword()) :: {:ok, GitHub.OrgHook.t()} | {:error, GitHub.Error.t()}
Update an organization webhook
Updates a webhook configured in an organization. When you update a webhook,
the secret
will be overwritten. If you previously had a secret
set, you must
provide the same secret
or set a new secret
or the secret will be removed. If
you are only updating individual webhook config
properties, use "Update a webhook
configuration for an organization".
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.
resources
Resources
@spec update_webhook_config_for_org(String.t(), integer(), map(), keyword()) :: {:ok, GitHub.Webhook.Config.t()} | {:error, GitHub.Error.t()}
Update a webhook configuration for an organization
Updates the webhook configuration for an organization. To update more information about the webhook, including the active
state and events
, use "Update an organization webhook ."
You must be an organization owner to use this endpoint.
OAuth app tokens and personal access tokens (classic) need admin:org_hook
scope. OAuth apps cannot list, view, or edit
webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.