Конечные точки REST API для сообщений электронной почты
Используйте REST API для управления адресами электронной почты прошедших проверку подлинности пользователей.
Сведения об администрировании электронной почты
Если URL-адрес запроса не содержит {username} параметр, ответ будет использоваться для пользователя, вошедшего в систему (и необходимо передать сведения о проверке подлинности с запросом). Дополнительная приватная информация, например, включена ли у пользователя двухфакторная аутентификация, включается при аутентификации через OAuth с объёмом user .
Set primary email visibility for the authenticated user
Sets the visibility for your primary email addresses.
fine_grained_access
works_with_fine_grained_tokens:
permission_set:
- "Email addresses" user permissions (write)
Параметры для «Set primary email visibility for the authenticated user»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
visibility string Обязательное полеDenotes whether an email is publicly visible. Возможные значения: |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
code_samples
data_residency_notice
request_example
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/user/email/visibility \
-d '{"visibility":"private"}'Response
Status: 200[
{
"email": "octocat@github.com",
"primary": true,
"verified": true,
"visibility": "private"
}
]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
works_with_fine_grained_tokens:
permission_set:
- "Email addresses" user permissions (read)
Параметры для «List email addresses for the authenticated user»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." По умолчанию.: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." По умолчанию.: |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
code_samples
data_residency_notice
request_example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/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
works_with_fine_grained_tokens:
permission_set:
- "Email addresses" user permissions (write)
Параметры для «Add an email address for the authenticated user»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
emails array of strings Обязательное полеAdds 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_status_code
| 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
data_residency_notice
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" \
https://api.github.com/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
works_with_fine_grained_tokens:
permission_set:
- "Email addresses" user permissions (write)
Параметры для «Delete an email address for the authenticated user»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
emails array of strings Обязательное полеEmail addresses associated with the GitHub user account. |
http_status_code
| 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
data_residency_notice
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" \
https://api.github.com/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
works_with_fine_grained_tokens:
permission_set:
- "Email addresses" user permissions (read)
allows_public_read_access
Параметры для «List public email addresses for the authenticated user»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." По умолчанию.: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." По умолчанию.: |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
code_samples
data_residency_notice
request_example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/user/public_emailsResponse
Status: 200[
{
"email": "octocat@github.com",
"verified": true,
"primary": true,
"visibility": "public"
}
]