Emails

Management of email addresses via the API requires that you authenticate through basic auth, or through OAuth with a correct scope for the endpoint.

List email addresses for a user

Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the user:email scope.

GET /user/emails

Response

Status: 200 OK
Link: <https://api.github.com/resource?page=2>; rel="next",
      <https://api.github.com/resource?page=5>; rel="last"
[
  {
    "email": "octocat@github.com",
    "verified": true,
    "primary": true,
    "visibility": "public"
  }
]

List public email addresses for a user

Lists your publicly visible email address. This endpoint is accessible with the user:email scope.

GET /user/public_emails

Response

Status: 200 OK
Link: <https://api.github.com/resource?page=2>; rel="next",
      <https://api.github.com/resource?page=5>; rel="last"
[
  {
    "email": "octocat@github.com",
    "verified": true,
    "primary": true,
    "visibility": "public"
  }
]

Add email address(es)

If your GitHub Enterprise Server instance has LDAP Sync enabled and the option to synchronize emails enabled, this API is disabled and will return a 403 response. Users managed in LDAP won't be able to add or delete an email address via the API with these options enabled.

This endpoint is accessible with the user scope.

POST /user/emails

Parameters

Name Type Description
emails array of strings Required. Adds one or more email addresses to your GitHub Enterprise 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.

Example

{
  "emails": ["octocat@github.com", "support@github.com"]
}

Response

Status: 201 Created
[
  {
    "email": "octocat@octocat.org",
    "primary": false,
    "verified": false,
    "visibility": "public"
  },
  {
    "email": "octocat@github.com",
    "primary": false,
    "verified": false,
    "visibility": null
  },
  {
    "email": "support@github.com",
    "primary": false,
    "verified": false,
    "visibility": null
  }
]

Delete email address(es)

If your GitHub Enterprise Server instance has LDAP Sync enabled and the option to synchronize emails enabled, this API is disabled and will return a 403 response. Users managed in LDAP won't be able to add or delete an email address via the API with these options enabled.

This endpoint is accessible with the user scope.

DELETE /user/emails

Parameters

Name Type Description
emails array of strings Required. Deletes one or more email addresses from your GitHub Enterprise 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.

Example

{
  "emails": ["octocat@github.com", "support@github.com"]
}

Response

Status: 204 No Content