Sobre tokens de acesso do usuário
Nota: os tokens de acesso do usuário que expiram são, atualmente, um recurso opcional e estão sujeitos a alterações. Para aceitar ou recusar o recurso de vencimento de token, confira "Ativando recursos opcionais para aplicativos do GitHub". Para obter mais informações, confira "Como expirar tokens de acesso de usuário para servidor para Aplicativos do GitHub".
Um token de acesso do usuário é um tipo de token OAuth. Ao contrário de um token OAuth tradicional, o token de acesso do usuário não usa escopos. Em vez disso, ele usa permissões refinadas. Um token de acesso do usuário só tem permissões que o usuário e o aplicativo têm. Por exemplo, se o aplicativo recebeu permissão para gravar o conteúdo de um repositório, mas o usuário só pode ler o conteúdo, o token de acesso do usuário só pode ler o conteúdo.
Da mesma forma, um token de acesso do usuário só pode acessar recursos que o usuário e o aplicativo podem acessar. Por exemplo, se um aplicativo receber acesso ao repositório A
e B
, e o usuário puder acessar o repositório B
e C
, o token de acesso do usuário poderá acessar o repositório B
, mas não A
ou C
. Use a API REST para verificar quais instalações e quais repositórios em uma instalação um token de acesso do usuário pode acessar. Para obter mais informações, confira GET /user/installations
e GET /user/installations/{installation_id}/repositories
em "Instalações do Aplicativo do GitHub".
Quando você faz solicitações de API com um token de acesso do usuário, os limites de taxa para os tokens de acesso do usuário se aplicam. Para obter mais informações, confira "Limites de taxa para aplicativos GitHub".
Por padrão, o token de acesso do usuário expira após oito horas. Use um token de atualização para regenerar um token de acesso do usuário. Para obter mais informações, confira "Atualizar tokens de acesso do usuário".
Os usuários podem revogar a autorização de um GitHub App. Para obter mais informações, confira "Vencimento e revogação de token". Se um usuário revogar a autorização de um GitHub App, o aplicativo receberá o webhook github_app_authorization
. O GitHub Apps não pode cancelar a assinatura deste evento. Se o aplicativo receber esse webhook, você deverá parar de chamar a API em nome do usuário que revogou o token. Se o aplicativo continuar usando um token de acesso revogado, ele receberá o erro 401 Bad Credentials
. Para obter mais informações sobre esse webhook, confira "Eventos e cargas de webhook".
Você deve manter seguros os tokens de acesso do usuário e os tokens de atualização. Para obter mais informações, confira "Práticas recomendadas para criar um aplicativo do GitHub".
Como usar o fluxo do aplicativo Web para gerar um token de acesso do usuário
Se o aplicativo for executado no navegador, você deverá usar o fluxo do aplicativo Web para gerar um token de acesso do usuário. Para ver um tutorial sobre como usar o fluxo de aplicativo Web, confira "Criando um botão "Logon com o GitHub" com um Aplicativo GitHub".
-
Direcione o usuário para essa URL e adicione todos os parâmetros de consulta necessários da seguinte lista de parâmetros:
https://github.com/login/oauth/authorize
. Por exemplo, esta URL especifica os parâmetrosclient_id
estate
:https://github.com/login/oauth/authorize?client_id=12345&state=abcdefg
.Parâmetro de consulta Tipo Descrição client_id
string
Necessário. A ID do cliente do GitHub App. A ID do cliente é diferente da ID do aplicativo. Encontre a ID do aplicativo na página de configurações do aplicativo.
No caso de aplicativos de propriedade do usuário, a página de configurações éhttps://github.com/settings/apps/APP-SLUG
.
Para aplicativos de propriedade da organização, a página de configurações éhttps://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
SubstituaAPP-SLUG
pelo nome com campo de dados dinâmico do aplicativo eORGANIZATION
pelo nome com campo de dados dinâmico da organização. Por exemplo,https://github.com/organizations/octo-org/settings/apps/octo-app
.redirect_uri
string
A URL no seu aplicativo para o qual os usuários serão enviados após a autorização. Isso precisa ser uma correspondência exata com uma das URLs fornecidas como uma "URL de retorno de chamada" nas configurações do aplicativo e não pode conter parâmetros adicionais. state
string
Quando especificado, o valor deve conter uma cadeia de caracteres aleatória para proteção contra ataques falsificados e pode conter outros dados arbitrários. login
string
Quando especificado, o fluxo do aplicativo Web solicitará aos usuários uma conta específica que possam usar para entrar e autorizar seu aplicativo. allow_signup
boolean
Indica se os usuários não autenticados terão a opção de se inscrever no GitHub durante o fluxo do OAuth. O padrão é true
. Usefalse
quando uma política proibir inscrições. -
Se o usuário aceitar sua solicitação de autorização, o GitHub redirecionará o usuário para uma das URLs de retorno de chamada nas configurações de aplicativo e fornecerá um parâmetro de consulta
code
que você poderá usar na próxima etapa para criar um token de acesso do usuário. Se você especificouredirect_uri
na etapa anterior, essa URL de retorno de chamada será usada. Caso contrário, a primeira URL de retorno de chamada na página de configurações do aplicativo será usada.Se você especificou o parâmetro
state
na etapa anterior, o GitHub também incluirá um parâmetrostate
. Se o parâmetrostate
não corresponder ao parâmetrostate
que você enviou na etapa anterior, a solicitação não poderá ser confiável e o fluxo do aplicativo Web deverá ser anulado. -
Troque o
code
da etapa anterior por um token de acesso do usuário fazendo uma solicitaçãoPOST
para essa URL com os seguintes parâmetros de consulta:https://github.com/login/oauth/access_token
Parâmetro de consulta Tipo Descrição client_id
string
Necessário. A ID do cliente do GitHub App. A ID do cliente é diferente da ID do aplicativo. Encontre a ID do aplicativo na página de configurações do aplicativo.
No caso de aplicativos de propriedade do usuário, a página de configurações éhttps://github.com/settings/apps/APP-SLUG
.
Para aplicativos de propriedade da organização, a página de configurações éhttps://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
SubstituaAPP-SLUG
pelo nome com campo de dados dinâmico do aplicativo eORGANIZATION
pelo nome com campo de dados dinâmico da organização. Por exemplo,https://github.com/organizations/octo-org/settings/apps/octo-app
.client_secret
string
Necessário. O segredo do cliente para seu GitHub App. Você pode gerar um segredo do cliente na página de configurações do aplicativo. code
string
Necessário. O código que você recebeu na etapa anterior. redirect_uri
string
A URL no seu aplicativo para o qual os usuários serão enviados após a autorização. Ela deve ser uma correspondência exata de uma das URLs que você forneceu como uma "URL de retorno de chamada" ao configurar o GitHub App e não pode conter parâmetros adicionais. -
O GitHub dará uma resposta que inclui os seguintes parâmetros:
Parâmetro de resposta Tipo Descrição access_token
string
O token de acesso do usuário. O token começa com ghu_
.expires_in
integer
O número de segundos até a expiração do access_token
. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O valor sempre será28800
(oito horas).refresh_token
string
O token de atualização. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O token começa com ghr_
.refresh_token_expires_in
integer
O número de segundos até a expiração do refresh_token
. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O valor sempre será15811200
(seis meses).scope
string
Os escopos que o token tem. Esse valor sempre será uma cadeia de caracteres vazia. Ao contrário de um token OAuth tradicional, o token de acesso do usuário é limitado às permissões que o seu aplicativo e o usuário têm. token_type
string
O tipo de token. O valor sempre será bearer
. -
Use o token de acesso do usuário da etapa anterior para fazer solicitações de API em nome do usuário. Inclua o token de acesso do usuário no cabeçalho
Authorization
de uma solicitação de API. Por exemplo:curl --request GET \ --url "https://api.github.com/user" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer USER_ACCESS_TOKEN" \ --header "X-GitHub-Api-Version: 2022-11-28"
Como usar o fluxo do dispositivo para gerar um token de acesso do usuário
Observação: o fluxo do dispositivo está em versão beta pública e sujeito a alterações.
Se o aplicativo não tiver periféricos ou não tiver acesso a um navegador, use o fluxo do dispositivo para gerar um token de acesso do usuário. Por exemplo, as ferramentas da CLI, Raspberry Pis simples e os aplicativos da área de trabalho devem usar o fluxo do dispositivo. Para ver um tutorial que usa o fluxo do dispositivo, confira "Criando uma CLI com um Aplicativo GitHub".
Para usar o fluxo do dispositivo, primeiro você precisa habilitá-lo nas configurações do aplicativo. Para obter mais informações sobre como habilitar o fluxo do dispositivo, confira "Modificar um aplicativo GitHub".
O fluxo do dispositivo usa a Concessão de Autorização de Dispositivo do OAuth 2.0.
-
Envie uma solicitação
POST
parahttps://github.com/login/device/code
com um parâmetro de consultaclient_id
. A ID do cliente é diferente da ID do aplicativo. Encontre a ID do aplicativo na página de configurações do aplicativo.- No caso de aplicativos de propriedade do usuário, a página de configurações é
https://github.com/settings/apps/APP-SLUG
. - Para aplicativos de propriedade da organização, a página de configurações é
https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
Substitua
APP-SLUG
pelo nome com campo de dados dinâmico do aplicativo eORGANIZATION
pelo nome com campo de dados dinâmico da organização. Por exemplo,https://github.com/organizations/octo-org/settings/apps/octo-app
. - No caso de aplicativos de propriedade do usuário, a página de configurações é
-
O GitHub dará uma resposta que inclui os seguintes parâmetros de consulta:
Parâmetro de resposta Tipo Descrição device_code
string
Um código de verificação usado para verificar o dispositivo. Esse código tem 40 caracteres. user_code
string
Um código de verificação que o seu aplicativo deve exibir para que o usuário possa inserir o código em um navegador. Este código tem 8 caracteres com um hífen no meio. Por exemplo, WDJB-MJHT
.verification_uri
string
A URL em que os usuários precisam inserir o user_code
. A URL é:https://github.com/login/device
.expires_in
integer
O número de segundos antes que o device_code
e ouser_code
expirem. O padrão é 900 segundos (ou 15 minutos).interval
integer
O número mínimo de segundos que precisa transcorrer para que você possa fazer uma nova solicitação de token de acesso ( POST https://github.com/login/oauth/access_token
) a fim de concluir a autorização do dispositivo. Se você fizer uma solicitação antes do intervalo transcorrer, atingirá o limite de taxa e receberá o erroslow_down
. O padrão é 5 segundos. -
Solicite que o usuário insira o
user_code
da etapa anterior nahttps://github.com/login/device
.Se o usuário não inserir o código antes da hora de
expires_in
transcorrer, o código será inválido. Nesse caso, você deve reiniciar o fluxo do dispositivo. -
Sonde
POST https://github.com/login/oauth/access_token
com os parâmetros de consultaclient_id
,device_code
egrant_type
(descritos abaixo) até que os códigos do dispositivo e do usuário expirem ou o usuário tenha autorizado o aplicativo com sucesso inserindo ouser_code
.Parâmetro de consulta Tipo Descrição client_id
string
Necessário. A ID do cliente do GitHub App. device_code
string
Necessário. O código de verificação do dispositivo que você recebeu na etapa anterior. grant_type
string
Necessário. O tipo de concessão precisa ser urn:ietf:params:oauth:grant-type:device_code
.repository_id
string
A ID de um único repositório que o token de acesso do usuário pode acessar. Se o GitHub App ou o usuário não puder acessar o repositório, isso será ignorado. Use esse parâmetro para restringir ainda mais o acesso do token de acesso do usuário. Não sonde esse ponto de extremidade com uma frequência mais alta do que a frequência indicada por
interval
. Se você fizer isso, atingirá o limite de taxa e receberá o erroslow_down
. A resposta de erroslow_down
adiciona cinco segundos ao últimointerval
.Até que o usuário insira o código, GitHub responderá com 200 status e um parâmetro de consulta de resposta
error
.Nome do erro Descrição authorization_pending
Este erro ocorre quando a solicitação de autorização está pendente e o usuário ainda não inseriu o código do usuário. É esperado que o aplicativo continue sondando o POST https://github.com/login/oauth/access_token
com uma frequência não mais rápida do que a frequência especificada porinterval
.slow_down
Quando você recebe o erro slow_down
, cinco segundos extras são adicionados aointerval
ou ao período mínimo necessário entre as solicitações por meio dePOST https://github.com/login/oauth/access_token
. Por exemplo, se o intervalo inicial exigir, pelo menos, cinco segundos entre as solicitações e você receber a resposta de erroslow_down
, você precisará aguardar, no mínimo, dez segundos antes de fazer uma nova solicitação para um token. A resposta de erro inclui o novointerval
que você precisa usar.expired_token
Se o código do dispositivo expirar, você verá o erro token_expired
. Você deve fazer uma nova solicitação para um código de dispositivo.unsupported_grant_type
O tipo de concessão precisa ser urn:ietf:params:oauth:grant-type:device_code
e precisa ser incluído como um parâmetro de entrada quando a solicitação de token OAuthPOST https://github.com/login/oauth/access_token
é sondada.incorrect_client_credentials
Para o fluxo do dispositivo, você deve passar o ID de cliente do aplicativo, que pode ser encontrado na página de configurações do aplicativo. A ID do cliente é diferente da ID do aplicativo e do segredo do cliente. incorrect_device_code
O device_code
fornecido não é válido.access_denied
Quando um usuário clicar em Cancelar durante o processo de autorização, você receberá o erro access_denied
e o usuário não poderá usar o código de verificação novamente.device_flow_disabled
O fluxo do dispositivo não foi habilitado nas configurações do aplicativo. Para obter mais informações sobre como habilitar o fluxo do dispositivo, confira "Modificar um aplicativo GitHub". -
Depois que o usuário inserir o
user_code
, o GitHub terá uma resposta que inclui os seguintes parâmetros de consulta:Parâmetro de resposta Tipo Descrição access_token
string
O token de acesso do usuário. O token começa com ghu_
.expires_in
integer
O número de segundos até a expiração do access_token
. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O valor sempre será28800
(oito horas).refresh_token
string
O token de atualização. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O token começa com ghr_
.refresh_token_expires_in
integer
O número de segundos até a expiração do refresh_token
. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O valor sempre será15811200
(seis meses).scope
string
Os escopos que o token tem. Esse valor sempre será uma cadeia de caracteres vazia. Ao contrário de um token OAuth tradicional, o token de acesso do usuário é limitado às permissões que o seu aplicativo e o usuário têm. token_type
string
O tipo de token. O valor sempre será bearer
. -
Use o token de acesso do usuário da etapa anterior para fazer solicitações de API em nome do usuário. Inclua o token de acesso do usuário no cabeçalho
Authorization
de uma solicitação de API. Por exemplo:curl --request GET \ --url "https://api.github.com/user" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer USER_ACCESS_TOKEN" \ --header "X-GitHub-Api-Version: 2022-11-28"
Como gerar um token de acesso do usuário quando um usuário instala seu aplicativo
Se você selecionar Solicitar autorização do usuário (OAuth) durante a instalação nas configurações do aplicativo, o GitHub iniciará o fluxo do aplicativo Web imediatamente depois que um usuário instalar seu aplicativo.
Você pode gerar um token de acesso do usuário com esse método, independentemente de o aplicativo estar instalado em uma conta de usuário ou em uma conta de organização. No entanto, se o aplicativo tiver sido instalado em uma conta de organização, você precisará usar o fluxo do aplicativo Web ou o fluxo do dispositivo para gerar um token de acesso do usuário para outros usuários da organização.
-
Quando um usuário instalar seu aplicativo, o GitHub redirecionará o usuário para
https://github.com/login/oauth/authorize?client_id=CLIENT_ID
, em queCLIENT_ID
é a ID do cliente do aplicativo. -
Se o usuário aceitar sua solicitação de autorização, o GitHub redirecionará o usuário para a primeira URL de retorno de chamada nas configurações do aplicativo e fornecerá um parâmetro de consulta
code
.Caso você deseje controlar a URL de retorno de chamada que é usada, não selecione Solicitar autorização do usuário (OAuth) durante a instalação. Em vez disso, direcione os usuários pelo fluxo completo do aplicativo Web e especifique o parâmetro
redirect_uri
. -
Troque o
code
da etapa anterior por um token de acesso do usuário fazendo uma solicitaçãoPOST
para essa URL com os seguintes parâmetros de consulta:https://github.com/login/oauth/access_token
Parâmetro de consulta Tipo Descrição client_id
string
Necessário. A ID do cliente do GitHub App. A ID do cliente é diferente da ID do aplicativo. Encontre a ID do aplicativo na página de configurações do aplicativo.
No caso de aplicativos de propriedade do usuário, a página de configurações éhttps://github.com/settings/apps/APP-SLUG
.
Para aplicativos de propriedade da organização, a página de configurações éhttps://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
SubstituaAPP-SLUG
pelo nome com campo de dados dinâmico do aplicativo eORGANIZATION
pelo nome com campo de dados dinâmico da organização. Por exemplo,https://github.com/organizations/octo-org/settings/apps/octo-app
.client_secret
string
Necessário. O segredo do cliente para seu GitHub App. Você pode gerar um segredo do cliente na página de configurações do aplicativo. code
string
Necessário. O código que você recebeu na etapa anterior. redirect_uri
string
A URL no seu aplicativo para o qual os usuários serão enviados após a autorização. Ela deve ser uma correspondência exata de uma das URLs que você forneceu como uma "URL de retorno de chamada" ao configurar o GitHub App e não pode conter parâmetros adicionais. -
O GitHub dará uma resposta que inclui os seguintes parâmetros:
Parâmetro de resposta Tipo Descrição access_token
string
O token de acesso do usuário. O token começa com ghu_
.expires_in
integer
O número de segundos até a expiração do access_token
. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O valor sempre será28800
(oito horas).refresh_token
string
O token de atualização. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O token começa com ghr_
.refresh_token_expires_in
integer
O número de segundos até a expiração do refresh_token
. Se você desabilitar a expiração de tokens de acesso do usuário, esse parâmetro será omitido. O valor sempre será15811200
(seis meses).scope
string
Os escopos que o token tem. Esse valor sempre será uma cadeia de caracteres vazia. Ao contrário de um token OAuth tradicional, o token de acesso do usuário é limitado às permissões que o seu aplicativo e o usuário têm. token_type
string
O tipo de token. O valor sempre será bearer
. -
Use o token de acesso do usuário da etapa anterior para fazer solicitações de API em nome do usuário. Inclua o token de acesso do usuário no cabeçalho
Authorization
de uma solicitação de API. Por exemplo:curl --request GET \ --url "https://api.github.com/user" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer USER_ACCESS_TOKEN" \ --header "X-GitHub-Api-Version: 2022-11-28"
Como usar um token de atualização para gerar um token de acesso do usuário
Por padrão, os tokens de acesso do usuário expiram após oito horas. Se você receber um token de acesso do usuário com uma expiração, também receberá um token de atualização. O token de atualização expira após seis meses. Use esse token de atualização para regenerar um token de acesso do usuário. Para obter mais informações, confira "Atualizar tokens de acesso do usuário".
O GitHub incentiva fortemente você a usar tokens de acesso do usuário que expiram. Se você já recusou o uso de tokens de acesso do usuário que expiram, mas deseja habilitar esse recurso de novo, confira "Ativando recursos opcionais para aplicativos do GitHub".
Pontos de extremidade com suporte para tokens de acesso do usuário
Executores de ações
- Listar os aplicativos executores de um repositório
- Listar os executores auto-hospedados de um repositório
- Obter um executor auto-hospedado de um repositório
- Excluir um executor auto-hospedado de um repositório
- Criar um token de registro para um repositório
- Criar um token de remoção para um repositório
- Listar os aplicativos executores de uma organização
- Listar os executores auto-hospedados de uma organização
- Obter um executor auto-hospedado de uma organização
- Excluir um executor auto-hospedado de uma organização
- Criar um token de registro para uma organização
- Criar um token de remoção para uma organização
Segredos de ações
- Obter uma chave pública do repositório
- Listar os segredos do repositório
- Obter um segredo do repositório
- Criar ou atualizar um segredo do repositório
- Excluir um segredo do repositório
- Obter uma chave pública da organização
- Listar os segredos da organização
- Obter um segredo da organização
- Criar ou atualizar um segredo da organização
- Listar os repositórios selecionados de um segredo da organização
- Definir os repositórios selecionados para um segredo da organização
- Adicionar o repositório selecionado a um segredo da organização
- Remover o repositório selecionado de um segredo da organização
- Excluir um segredo da organização
Artifacts
- Listar os artefatos de um repositório
- Listar os artefatos de execução de fluxo de trabalho
- Obter um artefato
- Excluir um artefato
- Baixar um artefato
Execuções de verificação
- Criar uma execução de verificação
- Obter uma execução de verificação
- Atualizar uma execução de verificação
- Listar as anotações da execução de verificação
- Listar as execuções de verificação em um conjunto de verificações
- Listar as execuções de verificação de uma referência do Git
conjuntos de verificações
- Criar um conjunto de verificações
- Obter um conjunto de verificações
- Solicitar um conjunto de verificações novamente
- Atualizar as preferências de conjuntos de verificações do repositório
- Listar os conjuntos de verificações de uma referência do Git
Códigos de conduta
Status da implementação
Implantações
Eventos
Feeds
Blobs do Git
Confirmações do Git
Refs do Git
- Criar uma referência
- Obter uma referência
- Listar as referências correspondentes
- Atualizar uma referência
- Excluir uma referência
Tags do Git
Árvores do Git
Modelos do Gitignore
Instalações
Limites de interação
- Obter as restrições de interação de uma organização
- Definir as restrições de interação de uma organização
- Remover as restrições de interação de uma organização
- Obter as restrições de interação de um repositório
- Definir as restrições de interação de um repositório
- Remover as restrições de interação de um repositório
Responsáveis pelo problema
Comentários do problema
- Listar os comentários de um problema
- Criar um comentário de um problema
- Listar os comentários de um problema de um repositório
- Obter um comentário de um problema
- Atualizar um comentário de um problema
- Excluir um comentário de um problema
Eventos do problema
Linha do tempo do problema
Problemas
- Listar os problemas atribuídos ao usuário autenticado
- Listar os destinatários
- Verificar se um usuário pode ser atribuído
- Listar os problemas de um repositório
- Criar um problema
- Obter um problema
- Atualizar um problema
- Bloquear um problema
- Desbloquear um problema
Trabalhos
- Obter um trabalho de uma execução de fluxo de trabalho
- Baixar os logs de trabalho de uma execução de fluxo de trabalho
- Listar os trabalhos de uma execução de fluxo de trabalho
Rótulos
- Listar os rótulos de um problema
- Adicionar rótulos a um problema
- Definir os rótulos de um problema
- Remover todos os rótulos de um problema
- Remover um rótulo de um problema
- Listar os rótulos de um repositório
- Criar um rótulo
- Obter um rótulo
- Atualizar um rótulo
- Excluir um rótulo
- Obter os rótulos de cada problema em um marco
Licenças
Markdown
Meta
Marcos
Hooks da organização
- Listar os webhooks de uma organização
- Criar um webhook de uma organização
- Obter um webhook de uma organização
- Atualizar um webhook de uma organização
- Excluir um webhook de uma organização
- Executar ping em um webhook de uma organização
Convites da organização
- Listar os convites pendentes de uma organização
- Criar um convite de uma organização
- Listar as equipes de convite de uma organização
Integrantes da organização
- Listar os membros de uma organização
- Verificar a associação a uma organização de um usuário
- Remover um membro de uma organização
- Obter a associação a uma organização de um usuário
- Definir a associação a uma organização de um usuário
- Remover a associação a uma organização de um usuário
- Listar os membros públicos de uma organização
- Verificar a associação a uma organização pública de um usuário
- Definir a associação a uma organização pública do usuário autenticado
- Remover a associação a uma organização pública do usuário autenticado
Colaboradores externos da organização
- Listar os colaboradores externos de uma organização
- Converter um membro de uma organização em um colaborador externo
- Remover os colaboradores externos de uma organização
Projetos da aquipe da organização
- Listar os projetos de equipe
- Verificar as permissões da equipe em um projeto
- Adicionar ou atualizar as permissões de projeto de equipe
- Remover um projeto de uma equipe
Repositórios da equipe da organização
- Listar os repositórios da equipe
- Verificar as permissões da equipe em um repositório
- Adicionar ou atualizar as permissões de repositório da equipe
- Remover um repositório de uma equipe
Sincronizar equipe da organização
- Listar os grupos de IdP de uma equipe
- Criar ou atualizar as conexões de grupo de IdP
- Listar os grupos de IdP de uma organização
Equipes da organização
- Listar as equipes
- Criar uma equipe
- Obter uma equipe pelo nome
- Atualizar uma equipe
- Excluir uma equipe
- Listar os convites pendentes de uma equipe
- Listar os membros da equipe
- Obter a associação a uma equipe de um usuário
- Adicionar ou atualizar a associação a uma equipe de um usuário
- Remover a associação a uma equipe de um usuário
- Listar as equipes filho
- Listar as equipes do usuário autenticado
Organizações
- Listar organizações
- Obter uma organização
- Atualizar uma organização
- Listar as associações a uma organização do usuário autenticado
- Obter a associação a uma organização do usuário autenticado
- Atualizar a associação a uma organização do usuário autenticado
- Listar as organizações do usuário autenticado
- Listar as organizações de um usuário
Autorizações de credencial das organizações
- Listar as autorizações de SSO do SAML de uma organização
- Remover uma autorização de SSO do SAML de uma organização
Scim das organizações
- Listar as identidades provisionadas do SCIM
- Provisionar e convidar um usuário do SCIM
- Obter informações de provisionamento do SCIM de um usuário
- Definir as informações do SCIM de um usuário provisionado
- Atualizar um atributo de um usuário do SCIM
- Excluir um usuário do SCIM de uma organização
Importação de fonte
- Obter um status de importação
- Iniciar uma importação
- Atualizar uma importação
- Cancelar uma importação
- Obter os autores do commit
- Mapear o autor de um commit
- Obter arquivos grandes
- Atualizar a preferência de LFS do Git
Colaboradores do projeto
- Listar os colaboradores do projeto
- Adicionar um colaborador do projeto
- Remover um colaborador do projeto
- Obter a permissão de projeto para um usuário
Projetos
- Listar os projetos da organização
- Criar um projeto da organização
- Obter um projeto
- Atualizar um projeto
- Excluir um projeto
- Listar as colunas do projeto
- Criar uma coluna do projeto
- Obter uma coluna do projeto
- Atualizar uma coluna do projeto
- Excluir uma coluna do projeto
- Listar os cartões do projeto
- Criar um cartão de projeto
- Mover uma coluna do projeto
- Obter um cartão do projeto
- Atualizar um cartão do projeto
- Excluir um cartão do projeto
- Mover um cartão do projeto
- Listar os projetos do repositório
- Criar um projeto do repositório
Commentários pull
- Listar os comentários de revisão em uma solicitação de pull
- Criar um comentário de revisão para uma solicitação de pull
- Listar os comentários de revisão em um repositório
- Obter um comentário de revisão para uma solicitação de pull
- Atualizar um comentário de revisão para uma solicitação de pull
- Excluir um comentário de revisão para uma solicitação de pull
Eventos de revisão de pull request
Solicitações de revisão de pull request
- Listar os revisores solicitados para uma solicitação de pull
- Solicitar revisores para uma solicitação de pull
- Remover os revisores solicitados de uma solicitação de pull
Revisões de pull request
- Listar as revisões para uma solicitação de pull
- Criar uma revisão para uma solicitação de pull
- Obter uma revisão para uma solicitação de pull
- Atualizar uma revisão para uma solicitação de pull
- Listar os comentários para uma revisão de solicitação de pull
Pulls
- Listar as solicitações de pull
- Criar uma solicitação de pull
- Obter uma solicitação de pull
- Atualizar uma solicitação de pull
- Listar os commits em uma solicitação de pull
- Listar os arquivos de solicitações de pull
- Verificar se uma solicitação de pull foi mesclada
- Mesclar uma solicitação de pull (botão Mesclar)
Reações
- Excluir uma reação
- Listar as reações a um comentário sobre um commit
- Criar uma reação a um comentário sobre um commit
- Listar as reações a um problema
- Criar uma reação a um problema
- Listar as reações a um comentário sobre um problema
- Criar uma reação a um comentário sobre um problema
- Listar as reações a um comentário de revisão de solicitação de pull
- Verifique se a URL remota foi adicionada com seu nome de repositório.
- Excluir uma reação a um comentário sobre um commit
- Excluir uma reação a um problema
- Excluir uma reação a um comentário sobre um commit
- Excluir uma reação de comentário de solicitação de pull
Repositórios
- Listar os repositórios da organização
- Criar um repositório para o usuário autenticado
- Obter um repositório
- Atualizar um repositório
- Excluir um repositório
- Comparar dois commits
- Listar os colaboradores do repositório
- Listar os forks
- Criar um fork
- Listar as linguagens do repositório
- Listar as marcas do repositório
- Listar as equipes do repositório
- Transferir um repositório
- Listar os repositórios públicos
- Listar os repositórios do usuário autenticado
- Listar os repositórios de um usuário
- Criar um repositório usando um modelo de repositório
Atividade do repositório
- Listar os observadores de favoritos
- Listar os inspetores
- Listar os repositórios adicionados aos favoritos por um usuário
- Verificar se um repositório foi adicionado aos favoritos pelo usuário autenticado
- Adicionar um repositório aos favoritos para o usuário autenticado
- Remover dos favoritos um repositório do usuário autenticado
- Listar os repositórios inspecionados por um usuário
Correções de segurança automatizadas no repositório
- Habilitar as correções de segurança automatizadas
- Desabilitar as correções de segurança automatizadas
Branches do repositório
- Listar os branches
- Obter um branch
- Obter uma proteção do branch
- Atualizar uma proteção do branch
- Excluir uma proteção do branch
- Obter uma proteção do branch do administrador
- Definir uma proteção do branch do administrador
- Excluir uma proteção do branch do administrador
- Obter uma proteção de revisão da solicitação de pull
- Atualizar uma proteção de revisão da solicitação de pull
- Excluir uma proteção de revisão da solicitação de pull
- Obter uma proteção de assinatura do commit
- Criar uma proteção de assinatura do commit
- Excluir uma proteção de assinatura do commit
- Obter uma proteção contra verificações de status
- Atualizar uma proteção de verificação de status
- Remover uma proteção de verificação de status
- Obter todos os contextos de verificação de status
- Adicionar contextos de verificação de status
- Definir contextos de verificação de status
- Remover contextos de verificação de status
- Obter restrições de acesso
- Excluir restrições de acesso
- Listar as equipes com acesso ao branch protegido
- Adicionar restrições de acesso da equipe
- Definir restrições de acesso da equipe
- Remover uma restrição de acesso da equipe
- Listar as restrições de usuário do branch protegido
- Adicionar restrições de acesso do usuário
- Definir restrições de acesso do usuário
- Remover restrições de acesso do usuário
- Mesclar uma ramificação
Colaboradores do repositório
- Listar os colaboradores do repositório
- Verificar se um usuário é colaborador de um repositório
- Adicionar um colaborador do repositório
- Remover um colaborador do repositório
- Obter permissões de repositório de um usuário
Comentários do commit do repositório
- Listar os comentários sobre um commit de um repositório
- Obter um comentário sobre um commit
- Atualizar um comentário sobre um commit
- Excluir um comentário sobre um commit
- Listar os comentários sobre um commit
- Criar um comentário sobre um commit
Commits do repositório
- Listar os commits
- Obter um commit
- Listar os branches do commit principal
- Listar as solicitações de pull associados ao commit
Comunidade do repositório
Conteúdo do repositório
- Baixar um arquivo do repositório
- Obter o conteúdo de um repositório
- Criar ou atualizar o conteúdo de um arquivo
- Excluir um arquivo
- Obter o README de um repositório
- Obter a licença de um repositório
Envio de eventos do repositório
Hooks do repositório
- Listar os webhooks de um repositório
- Criar um webhook de um repositório
- Obter um webhook de um repositório
- Atualizar um webhook de um repositório
- Excluir um webhook de um repositório
- Executar ping em um webhook de um repositório
- Testar o webhook de um repositório de push
Convites do repositório
- Listar os convites de um repositório
- Atualizar um convite de um repositório
- Excluir um convite de um repositório
- Listar os convites de um repositório do usuário autenticado
- Aceitar um convite de um repositório
- Recusar um convite de um repositório
Chaves de repositório
- Listar as chaves de implantação
- Criar uma chave de implantação
- Obter uma chave de implantação
- Excluir uma chave de implantação
Páginas do repositório
- Obter um site do GitHub Pages
- Criar um site do GitHub Pages
- Atualizar informações sobre um site do GitHub Pages
- Excluir um site do GitHub Pages
- Listar os builds do GitHub Pages
- Solicitar um build do GitHub Pages
- Obter um build do GitHub Pages
- Obter o último build do Pages
Versões do repositório
- Listar versões
- Criar uma versão
- Obter uma versão
- Atualizar uma versão
- Excluir uma versão
- Listar os ativos da versão
- Obter um ativo da versão
- Atualizar um ativo da versão
- Excluir um ativo da versão
- Obter a última atualização
- Obter uma versão pelo nome da marca
Estatísticas do repositório
- Obter as atividades semanais do commit
- Obter o último ano de atividades do commit
- Obter todas as atividades do commit do contribuidor
- Obter a contagem semanal de commits
- Obter a contagem de commits por hora para cada dia
Alertas de vulnerabilidade de repositório
Root
Pesquisar
- Buscar um código
- Pesquisar commits
- Pesquisar rótulos
- Pesquisar repositórios
- Pesquisar tópicos
- Pesquisar usuários
Status
- Obter o status combinado de uma referência específica
- Listar os status de commit de uma referência
- Criar um status de commit
Tópicos
Tráfego
- Obter os clones de um repositório
- Obter os principais caminhos de referência
- Obter as principais fontes de referência
- Obter as exibições de página
Bloquear usuário
- Listar os usuários bloqueados pelo usuário autenticado
- Verificar se um usuário foi bloqueado pelo usuário autenticado
- Listar os usuários bloqueados por uma organização
- Verificar se um usuário foi bloqueado por uma organização
- Bloquear um usuário de uma organização
- Desbloquear um usuário de uma organização
- Bloquear um usuário
- Desbloquear um usuário
Emails do Usuário
- Configurar a visibilidade do email principal do usuário autenticado
- Listar os endereços de email do usuário autenticado
- Adicionar endereços de email
- Excluir endereços de email
- Listar os endereços de email públicos do usuário autenticado
Seguidores do usuário
- Listar os seguidores de um usuário
- Listar as pessoas que um usuário segue
- Verificar se uma pessoa é seguida pelo usuário autenticado
- Seguir um usuário
- Deixar de seguir um usuário
- Verificar se um usuário segue outro usuário
Chaves Gpg do usuário
- Listar as chaves GPG do usuário autenticado
- Criar uma chave GPG do usuário autenticado
- Obter uma chave GPG do usuário autenticado
- Excluir uma chave GPG do usuário autenticado
- Listar as chaves GPG de um usuário
Chaves públicas do usuário
- Listar as chaves SSH públicas do usuário autenticado
- Criar uma chave SSH pública do usuário autenticado
- Obter uma chave SSH pública do usuário autenticado
- Excluir uma chave SSH pública do usuário autenticado
- Listar as chaves públicas de um usuário
Usuários
- Obter o usuário autenticado
- Listar as instalações de aplicativos acessíveis ao token de acesso do usuário
- Listar as assinaturas do usuário autenticado
- Listar usuários
- Obter um usuário
Execuções do fluxo de trabalho
- Listar as execuções de fluxo de trabalho de um repositório
- Obter uma execução de fluxo de trabalho
- Cancelar uma execução de fluxo de trabalho
- Baixar os logs de uma execução de fluxo de trabalho
- Excluir logs de uma execução de fluxo de trabalho
- Executar um fluxo de trabalho novamente
- Listar as execuções de fluxo de trabalho
- Obter o uso de uma execução de fluxo de trabalho