Skip to main content
REST API теперь версия. Дополнительные сведения см. в разделе "О управлении версиями API".

Конечные точки 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 application/vnd.github+json is recommended.

Параметры запроса
Имя., Тип, Description
visibility string Обязательное поле

Denotes whether an email is publicly visible.

Возможные значения: public, private

http_status_code

status_codeDescription
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

patch/user/email/visibility
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 application/vnd.github+json is recommended.

Параметры запроса
Имя., Тип, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

По умолчанию.: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

По умолчанию.: 1

http_status_code

status_codeDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

code_samples

data_residency_notice

request_example

get/user/emails
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/emails

Response

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 application/vnd.github+json is recommended.

Параметры запроса
Имя., Тип, 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 array of emails addresses directly, but we recommend that you pass an object using the emails key.

http_status_code

status_codeDescription
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

post/user/emails
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 application/vnd.github+json is recommended.

Параметры запроса
Имя., Тип, Description
emails array of strings Обязательное поле

Email addresses associated with the GitHub user account.

http_status_code

status_codeDescription
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

delete/user/emails
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: 204

List 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 application/vnd.github+json is recommended.

Параметры запроса
Имя., Тип, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

По умолчанию.: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

По умолчанию.: 1

http_status_code

status_codeDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

404

Resource not found

code_samples

data_residency_notice

request_example

get/user/public_emails
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_emails

Response

Status: 200
[ { "email": "octocat@github.com", "verified": true, "primary": true, "visibility": "public" } ]