Points de terminaison d’API REST pour les e-mails
Utilisez l’API REST pour gérer les adresses e-mail des utilisateurs authentifiés.
À propos de l’administration de la messagerie
Si une URL de requête n’inclut pas de paramètre {username}, la réponse est destinée à l’utilisateur connecté (et vous devez transmettre des informations d’authentification avec votre demande). Des informations privées supplémentaires, telles que si un utilisateur a activé l’authentification à deux facteurs, sont incluses lors de l’authentification de base via l’authentification de base ou OAuth avec l’étendue user .
List email addresses for the authenticated user
Lists all of your email addresses, and specifies which one is visible to the public.
OAuth app tokens and personal access tokens (classic) need the user:email scope to use this endpoint.
Fine-grained access tokens for "List email addresses for the authenticated user"
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
- "Email addresses" user permissions (read)
Paramètres pour «List email addresses for the authenticated user »
| 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." Par défaut: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Par défaut: |
HTTP response status codes for "List email addresses for the authenticated user"
| Status code | Description |
|---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "List email addresses for the authenticated user"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/user/emailsResponse
Status: 200[
{
"email": "octocat@github.com",
"verified": true,
"primary": true,
"visibility": "public"
}
]Add an email address for the authenticated user
OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Fine-grained access tokens for "Add an email address for the authenticated user"
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
- "Email addresses" user permissions (write)
Paramètres pour «Add an email address for the authenticated user »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
emails array of strings RequisAdds one or more email addresses to your GitHub account. Must contain at least one email address. Note: Alternatively, you can pass a single email address or an |
HTTP response status codes for "Add an email address for the authenticated user"
| Status code | Description |
|---|---|
201 | Created |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Code samples for "Add an email address for the authenticated user"
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/user/emails \
-d '{"emails":["octocat@github.com","mona@github.com","octocat@octocat.org"]}'Response
Status: 201[
{
"email": "octocat@octocat.org",
"primary": false,
"verified": false,
"visibility": "public"
},
{
"email": "octocat@github.com",
"primary": false,
"verified": false,
"visibility": null
},
{
"email": "mona@github.com",
"primary": false,
"verified": false,
"visibility": null
}
]Delete an email address for the authenticated user
OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
Fine-grained access tokens for "Delete an email address for the authenticated user"
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
- "Email addresses" user permissions (write)
Paramètres pour «Delete an email address for the authenticated user »
| Nom, Type, Description |
|---|
accept string Setting to |
| Nom, Type, Description |
|---|
emails array of strings RequisEmail addresses associated with the GitHub user account. |
HTTP response status codes for "Delete an email address for the authenticated user"
| Status code | Description |
|---|---|
204 | No Content |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Code samples for "Delete an email address for the authenticated user"
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/user/emails \
-d '{"emails":["octocat@github.com","mona@github.com"]}'Response
Status: 204List public email addresses for the authenticated user
Lists your publicly visible email address, which you can set with the Set primary email visibility for the authenticated user endpoint.
OAuth app tokens and personal access tokens (classic) need the user:email scope to use this endpoint.
Fine-grained access tokens for "List public email addresses for the authenticated user"
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
- "Email addresses" user permissions (read)
This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.
Paramètres pour «List public email addresses for the authenticated user »
| 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." Par défaut: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Par défaut: |
HTTP response status codes for "List public email addresses for the authenticated user"
| Status code | Description |
|---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "List public email addresses for the authenticated user"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/user/public_emailsResponse
Status: 200[
{
"email": "octocat@github.com",
"verified": true,
"primary": true,
"visibility": "public"
}
]