Skip to content
DELETE/user/emails/{email}

Never your primary address (make another primary first) and never your last confirmed one. Needs your account password; every confirmed address, the removed one included, is told. People only.

Give the address in the path, URL-encoded: DELETE /user/emails/ada.l%40example.org. Answers 409 for your primary address or your last confirmed one.

Name Type Required Description
email string Yes The address to remove.

Send a JSON object. Names are snake_case, as in responses; the camelCase spelling is accepted too.

Name Type Required Description
password string Yes Your account password, to confirm it is you. An account that signs in only with GitHub changes its addresses on g1t.sh.
curl -X DELETE https://api.g1t.sh/user/emails/email \
-H "Authorization: Bearer $G1T_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"password": "…"
}'

A successful request answers 200 with:

{
"emails": [
{
"email": "ada@example.com",
"verified": true,
"primary": true,
"backup": false,
"created_at": "2026-09-01T10:00:00.000Z",
"verified_at": "2026-09-01T10:02:11.000Z"
},
{
"email": "ada@acme.com",
"verified": true,
"primary": false,
"backup": true,
"created_at": "2026-10-02T09:30:00.000Z",
"verified_at": "2026-10-02T09:31:40.000Z"
},
{
"email": "ada.l@example.org",
"verified": false,
"primary": false,
"backup": false,
"created_at": "2026-10-05T14:12:03.000Z",
"verified_at": null
}
],
"private_email": true,
"block_private_pushes": false,
"noreply": "6c1d0efg+ada@users.noreply.g1t.sh",
"commit_email": "6c1d0efg+ada@users.noreply.g1t.sh",
"limit": 10
}

A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.

Status Code When
401 unauthenticated A token is required, or the one sent is not valid.
403 forbidden The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository.
404 not_found It does not exist, or you cannot see it.
409 conflict The request conflicts with the current state.
422 invalid The input is not valid. message says which field and why.