View Source GitHub.Orgs (GitHub REST API Client v0.2.0)

Provides API endpoints related to orgs

Link to this section Summary

Functions

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 an organization invitation

Create an organization webhook

Delete an organization

Delete an organization webhook

Get an organization

Get an organization membership for the authenticated user

Get organization membership for a user

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

Ping an organization webhook

Redeliver a delivery for an organization webhook

Remove an organization member

Remove organization membership for a user

Remove outside collaborator from an organization

Remove public organization membership for the authenticated user

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

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 Functions

Link to this function

add_security_manager_team(org, team_slug, opts \\ [])

View Source
@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."

To use this endpoint, you must be an administrator for the organization, and you must use an access token with the write:org scope.

GitHub Apps must have the administration organization read-write permission to use this endpoint.

resources

Resources

Link to this function

block_user(org, username, opts \\ [])

View Source
@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

Link to this function

cancel_invitation(org, invitation_id, opts \\ [])

View Source
@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

Link to this function

check_blocked_user(org, username, opts \\ [])

View Source
@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

Link to this function

check_membership_for_user(org, username, opts \\ [])

View Source
@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

Link to this function

check_public_membership_for_user(org, username, opts \\ [])

View Source
@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

Link to this function

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

Link to this function

create_invitation(org, body, opts \\ [])

View Source
@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. See "Secondary rate limits" and "Dealing with secondary rate limits" for details.

resources

Resources

Link to this function

create_webhook(org, body, opts \\ [])

View Source
@spec create_webhook(String.t(), map(), keyword()) ::
  {:ok, GitHub.OrgHook.t()} | {:error, GitHub.Error.t()}

Create an organization webhook

Here's how you can create a hook that posts payloads in JSON format:

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

Link to this function

delete_webhook(org, hook_id, opts \\ [])

View Source
@spec delete_webhook(String.t(), integer(), keyword()) ::
  :ok | {:error, GitHub.Error.t()}

Delete an organization webhook

resources

Resources

Link to this function

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.

To use this endpoint, you must be an organization owner or be member of a team with the security manager role. A token with the 'write:org' scope is also required.

GitHub Apps must have the organization_administration:write permission to use this endpoint.

For more information, see "Managing security managers in your organization."

resources

Resources

@spec get(
  String.t(),
  keyword()
) :: {:ok, GitHub.Organization.full()} | {:error, GitHub.Error.t()}

Get an organization

To see many of the organization response values, you need to be an authenticated organization owner with the admin:org scope. 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.

GitHub Apps with the Organization plan permission can use this endpoint to retrieve information about an organization's GitHub plan. See "Authenticating with GitHub Apps" for details. For an example response, see 'Response with GitHub plan information' below."

resources

Resources

Link to this function

get_membership_for_authenticated_user(org, opts \\ [])

View Source
@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

Link to this function

get_membership_for_user(org, username, opts \\ [])

View Source
@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

Link to this function

get_webhook(org, hook_id, opts \\ [])

View Source
@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."

resources

Resources

Link to this function

get_webhook_config_for_org(org, hook_id, opts \\ [])

View Source
@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 ."

Access tokens must have the admin:org_hook scope, and GitHub Apps must have the organization_hooks:read permission.

resources

Resources

Link to this function

get_webhook_delivery(org, hook_id, delivery_id, opts \\ [])

View Source
@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.

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 on GitHub.

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

resources

Resources

Link to this function

list_app_installations(org, opts \\ [])

View Source
@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. You must be an organization owner with admin:read scope to use this endpoint.

options

Options

  • per_page: The number of results per page (max 100).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_blocked_users(org, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_failed_invitations(org, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_for_authenticated_user(opts \\ [])

View Source
@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.

OAuth scope requirements

This 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. OAuth requests with insufficient scope receive a 403 Forbidden response.

options

Options

  • per_page: The number of results per page (max 100).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_for_user(username, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_invitation_teams(org, invitation_id, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_members(org, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_memberships_for_authenticated_user(opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_outside_collaborators(org, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_pat_grant_repositories(org, pat_id, opts \\ [])

View Source
@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 call this API, using the organization_personal_access_tokens: read permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

options

Options

  • per_page: The number of results per page (max 100).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

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 call this API, using the organization_personal_access_token_requests: read permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

options

Options

  • per_page: The number of results per page (max 100).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_pat_grant_requests(org, opts \\ [])

View Source
@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 call this API, using the organization_personal_access_token_requests: read permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

options

Options

  • per_page: The number of results per page (max 100).
  • page: Page number of the results to fetch.
  • 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

Link to this function

list_pat_grants(org, opts \\ [])

View Source
@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 call this API, using the organization_personal_access_tokens: read permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

options

Options

  • per_page: The number of results per page (max 100).
  • page: Page number of the results to fetch.
  • 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

Link to this function

list_pending_invitations(org, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.
  • role: Filter invitations by their member role.
  • invitation_source: Filter invitations by their invitation source.

resources

Resources

Link to this function

list_public_members(org, opts \\ [])

View Source
@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).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

list_security_manager_teams(org, opts \\ [])

View Source
@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."

To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the read:org scope.

GitHub Apps must have the administration organization read permission to use this endpoint.

resources

Resources

Link to this function

list_webhook_deliveries(org, hook_id, opts \\ [])

View Source
@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.

options

Options

  • per_page: The number of results per page (max 100).
  • cursor: Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the link header for the next and previous page cursors.
  • redelivery

resources

Resources

Link to this function

list_webhooks(org, opts \\ [])

View Source
@spec list_webhooks(
  String.t(),
  keyword()
) :: {:ok, [GitHub.OrgHook.t()]} | {:error, GitHub.Error.t()}

List organization webhooks

options

Options

  • per_page: The number of results per page (max 100).
  • page: Page number of the results to fetch.

resources

Resources

Link to this function

ping_webhook(org, hook_id, opts \\ [])

View Source
@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.

resources

Resources

Link to this function

redeliver_webhook_delivery(org, hook_id, delivery_id, opts \\ [])

View Source
@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.

resources

Resources

Link to this function

remove_member(org, username, opts \\ [])

View Source
@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

Link to this function

remove_membership_for_user(org, username, opts \\ [])

View Source
@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

Link to this function

remove_outside_collaborator(org, username, opts \\ [])

View Source
@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

Link to this function

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

Link to this function

remove_security_manager_team(org, team_slug, opts \\ [])

View Source
@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."

To use this endpoint, you must be an administrator for the organization, and you must use an access token with the admin:org scope.

GitHub Apps must have the administration organization read-write permission to use this endpoint.

resources

Resources

Link to this function

review_pat_grant_request(org, pat_request_id, body, opts \\ [])

View Source
@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 call this API, using the organization_personal_access_token_requests: write permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

resources

Resources

Link to this function

review_pat_grant_requests_in_bulk(org, body, opts \\ [])

View Source
@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 call this API, using the organization_personal_access_token_requests: write permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

resources

Resources

Link to this function

set_membership_for_user(org, username, body, opts \\ [])

View Source
@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 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.

resources

Resources

Link to this function

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

resources

Resources

Link to this function

unblock_user(org, username, opts \\ [])

View Source
@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

Link to this function

update(org, body, opts \\ [])

View Source
@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.

Enables an authenticated organization owner with the admin:org scope or the repo scope to update the organization's profile and member privileges.

resources

Resources

Link to this function

update_membership_for_authenticated_user(org, body, opts \\ [])

View Source
@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

Link to this function

update_pat_access(org, pat_id, body, opts \\ [])

View Source
@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 call this API, using the organization_personal_access_tokens: write permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

resources

Resources

Link to this function

update_pat_accesses(org, body, opts \\ [])

View Source
@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 call this API, using the organization_personal_access_tokens: write permission.

Note: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.

resources

Resources

Link to this function

update_webhook(org, hook_id, body, opts \\ [])

View Source
@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."

resources

Resources

Link to this function

update_webhook_config_for_org(org, hook_id, body, opts \\ [])

View Source
@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 ."

Access tokens must have the admin:org_hook scope, and GitHub Apps must have the organization_hooks:write permission.

resources

Resources