Points de terminaison d’API REST pour les utilisateurs de l’entreprise
Utilisez l’API REST pour suspendre, annuler la suspension, promouvoir et rétrograder d’utilisateurs sur votre entreprise.
À propos de l’administration des utilisateurs
Ces points de terminaison sont uniquement disponibles pour les administrateurs de site authentifiés. Les utilisateurs normaux recevront une réponse 403
.
Note
Ces points de terminaison prennent uniquement en charge l’authentification à l’aide d’un personal access token (classic). Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».
List public keys
Jetons d’accès affinés pour « List public keys »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « List public keys »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
direction string The direction to sort the results by. Default: Peut être: |
sort string Default: Peut être: |
since string Only show public keys accessed after the given time. |
Codes d’état de la réponse HTTP pour « List public keys »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List public keys »
Exemple de requête
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/keys
Response
Status: 200
[
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"id": 2,
"url": "https://HOSTNAME/user/keys/2",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
"created_at": "2020-06-11T21:31:57Z",
"verified": false,
"read_only": false,
"last_used": "2020-06-11T22:31:57Z",
"user_id": 1,
"repository_id": 2
},
{
"key": "9Og8iYjAyymI9LvABpJerYrMxURPc8r+dB7TJyvv1234",
"id": 3,
"url": "https://HOSTNAME/user/keys/2",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
"created_at": "2020-06-11T21:31:57Z",
"verified": false,
"read_only": false,
"last_used": "2020-06-11T22:31:57Z",
"user_id": 1,
"repository_id": 2
}
]
Delete a public key
Jetons d’accès affinés pour « Delete a public key »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Delete a public key »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
key_ids string ObligatoireThe unique identifier of the key. |
Codes d’état de la réponse HTTP pour « Delete a public key »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Delete a public key »
Exemple de requête
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/keys/KEY_IDS
Response
Status: 204
List personal access tokens
Lists personal access tokens for all users, including admin users.
Jetons d’accès affinés pour « List personal access tokens »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « List personal access tokens »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
Codes d’état de la réponse HTTP pour « List personal access tokens »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List personal access tokens »
Exemple de requête
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/tokens
Response
Status: 200
[
{
"id": 2,
"url": "https://enterprise.octocat.com/api/v3/authorizations/2",
"app": {
"name": "My personal access token",
"url": "https://docs.github.com/enterprise/rest/enterprise-admin/users#list-personal-access-tokens",
"client_id": "00000000000000000000"
},
"token": "ghp_16C7e42F292c6912E7710c838347Ae178B4a",
"hashed_token": "23cffb2fab1b0a62747863eba88cb9327e561f2f7a0c8661c0d9b83146cb8d45",
"token_last_eight": "Ae178B4a",
"note": "My personal access token",
"note_url": null,
"created_at": "2019-04-24T21:49:02Z",
"updated_at": "2019-04-24T21:49:02Z",
"scopes": [
"admin:business",
"admin:gpg_key",
"admin:org",
"admin:org_hook",
"admin:pre_receive_hook",
"admin:public_key",
"admin:repo_hook",
"delete_repo",
"gist",
"notifications",
"repo",
"user",
"write:discussion"
],
"fingerprint": null
}
]
Delete a personal access token
Deletes a personal access token. Returns a 403 - Forbidden
status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error.
Jetons d’accès affinés pour « Delete a personal access token »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Delete a personal access token »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
token_id integer ObligatoireThe unique identifier of the token. |
Codes d’état de la réponse HTTP pour « Delete a personal access token »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Delete a personal access token »
Exemple de requête
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/tokens/TOKEN_ID
Response
Status: 204
Create a user
If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also update the LDAP mapping for the user.
The login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send "octo_cat"
as the login, a user named "octo-cat"
will be created.
If the login name or email address is already associated with an account, the server will return a 422
response.
Jetons d’accès affinés pour « Create a user »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Create a user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
login string ObligatoireThe user's username. |
email string Required for built-in authentication. The user's email address. This parameter can be omitted when using CAS, LDAP, or SAML. For more information, see "About authentication for your enterprise." |
suspended boolean Whether to set the user as suspended when the user is created. Default: |
Codes d’état de la réponse HTTP pour « Create a user »
Code d’état | Description |
---|---|
201 | Created |
Exemples de code pour « Create a user »
Exemple de requête
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/users \
-d '{"login":"monalisa","email":"octocat@github.com"}'
Response
Status: 201
{
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/users/octocat/received_events",
"type": "User",
"site_admin": false
}
Update the username for a user
Jetons d’accès affinés pour « Update the username for a user »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Update the username for a user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Nom, Type, Description |
---|
login string ObligatoireThe user's new username. |
Codes d’état de la réponse HTTP pour « Update the username for a user »
Code d’état | Description |
---|---|
202 | Accepted |
Exemples de code pour « Update the username for a user »
Exemple de requête
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/users/USERNAME \
-d '{"login":"thenewmonalisa"}'
Response
Status: 202
{
"message": "Job queued to rename user. It may take a few minutes to complete.",
"url": "https://HOSTNAME/user/1"
}
Delete a user
Deleting a user will delete all their repositories, gists, applications, and personal settings. Suspending a user is often a better option.
You can delete any user account except your own.
Jetons d’accès affinés pour « Delete a user »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Delete a user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Codes d’état de la réponse HTTP pour « Delete a user »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Delete a user »
Exemple de requête
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/users/USERNAME
Response
Status: 204
Create an impersonation OAuth token
Jetons d’accès affinés pour « Create an impersonation OAuth token »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Create an impersonation OAuth token »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Nom, Type, Description |
---|
scopes array of strings ObligatoireA list of scopes. |
Codes d’état de la réponse HTTP pour « Create an impersonation OAuth token »
Code d’état | Description |
---|---|
200 | Response when getting an existing impersonation OAuth token |
201 | Response when creating a new impersonation OAuth token |
Exemples de code pour « Create an impersonation OAuth token »
Exemples de requête
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/users/USERNAME/authorizations \
-d '{"scopes":["public_repo"]}'
Response when getting an existing impersonation OAuth token
Status: 200
{
"id": 1,
"url": "https://HOSTNAME/authorizations/1",
"scopes": [
"public_repo"
],
"token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
"token_last_eight": "Ae178B4a",
"hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8",
"app": {
"url": "http://my-github-app.com",
"name": "my github app",
"client_id": "abcde12345fghij67890"
},
"note": "optional note",
"note_url": "http://optional/note/url",
"updated_at": "2011-09-06T20:39:23Z",
"created_at": "2011-09-06T17:26:27Z",
"expires_at": "2011-10-06T17:26:27Z",
"fingerprint": "jklmnop12345678"
}
Delete an impersonation OAuth token
Jetons d’accès affinés pour « Delete an impersonation OAuth token »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Delete an impersonation OAuth token »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Codes d’état de la réponse HTTP pour « Delete an impersonation OAuth token »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Delete an impersonation OAuth token »
Exemple de requête
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/admin/users/USERNAME/authorizations
Response
Status: 204
Promote a user to be a site administrator
Note that you'll need to set Content-Length
to zero when calling out to this endpoint. For more information, see "HTTP method."
Jetons d’accès affinés pour « Promote a user to be a site administrator »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Promote a user to be a site administrator »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Codes d’état de la réponse HTTP pour « Promote a user to be a site administrator »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Promote a user to be a site administrator »
Exemple de requête
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/users/USERNAME/site_admin
Response
Status: 204
Demote a site administrator
You can demote any user account except your own.
Jetons d’accès affinés pour « Demote a site administrator »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Demote a site administrator »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Codes d’état de la réponse HTTP pour « Demote a site administrator »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Demote a site administrator »
Exemple de requête
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/users/USERNAME/site_admin
Response
Status: 204
Suspend a user
If your GitHub instance uses LDAP Sync with Active Directory LDAP servers, Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a 403
response.
You can suspend any user account except your own.
Note that, if you choose not to pass any parameters, you'll need to set Content-Length
to zero when calling out to this endpoint. For more information, see "HTTP method."
Jetons d’accès affinés pour « Suspend a user »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Suspend a user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Nom, Type, Description |
---|
reason string The reason the user is being suspended. This message will be logged in the audit log. If you don't provide a |
Codes d’état de la réponse HTTP pour « Suspend a user »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Suspend a user »
Exemple de requête
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/users/USERNAME/suspended \
-d '{"reason":"Suspended during leave of absence."}'
Response
Status: 204
Unsuspend a user
If your GitHub instance uses LDAP Sync with Active Directory LDAP servers, this API is disabled and will return a 403
response. Active Directory LDAP-authenticated users cannot be unsuspended using the API.
Jetons d’accès affinés pour « Unsuspend a user »
Ce point de terminaison ne fonctionne pas avec les jetons d’accès utilisateur d’application GitHub, les jetons d’accès d’installation d’application GitHub ou les jetons d’accès personnels affinés.
Paramètres pour « Unsuspend a user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Nom, Type, Description |
---|
reason string The reason the user is being unsuspended. This message will be logged in the audit log. If you don't provide a |
Codes d’état de la réponse HTTP pour « Unsuspend a user »
Code d’état | Description |
---|---|
204 | No Content |
Exemples de code pour « Unsuspend a user »
Exemple de requête
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/users/USERNAME/suspended \
-d '{"reason":"Unsuspended after leave of absence."}'
Response
Status: 204