Email Verification

Discord accounts typically require email verification to unlock full functionality. While this is usually done during account registration, users can add or change their email address at any time.

Registering with an Email Address

When registering a new account, users typically provide an email address to verify their account during the standard registration process.

Adding an Email Address

Users can add an email address to their account at any time. This is required for certain features, or, in some cases, for anti-abuse purposes. Having an email address associated with your account is recommended.

To add an email address, clients must first send a request to the Modify Current User endpoint with the email address the user wishes to add. This will send a verification link to the email address that redirects to the official Discord client with a verification token present in the URL's fragment (e.g. https://discord.com/verify#token=eyJpZCI6ODUyODkyMjk3NjYxOTA2OTkzLCJlbWFpbCI6Im5lbGx5QGRpc2NvcmRhcHAuY29tIn0.Z6pQDg.pKCZBaaiodflO6FZhdttm6B_z74). After receiving the token, clients can then procede to verify the change to complete the process.

Changing Your Email Address

Users can change their email address at any time.If the current email address is verified, the user will need to have access to it to initiate the change. In this case, clients must first send a request to the Send Email Change Challenge endpoint, which will send a verification code to the user's current email address. After receiving the code, clients can then send a request to the Verify Email Change Code endpoint with the code to receive a verification token that can be used to change the user's email address via the Modify Current User endpoint.

If the current email address is not verified, clients can directly send a request to the Modify Current User endpoint with the new email address, similar to adding an email address.

Finally, the user must verify the new email address as outlined in the above flow.

Reverifying Your Email Address

Users may be prompted to reverify their email address for anti-abuse purposes.

In this case, a verification link will be automatically sent to the email address on file. If the user has not received a link, clients can choose to resend it. The link should be used to verify the email address as outlined in the adding an email address flow.

Removing Your Email Address

Users cannot remove the registered email address from their account. Instead, they must change it to a new one or delete their account entirely.

Endpoints

Verify Email Address

POST/auth/verify

Verifies an email address and links it to the user's account. Fires a User Update Gateway event.

JSON Params
FieldTypeDescription
tokenstringThe verification token received via email
Response Body
FieldTypeDescription
user_idstringThe ID of the user whose email was verified
token 1?stringThe authentication token for the user

1 A token is not returned if the user has MFA enabled and valid authorization is not provided.

Resend Verification Email

POST/auth/verify/resend

Resends a verification link to the user's email address. Requires that the user's account has an email address marked as unverified. Returns a 204 empty response on success.

Send Email Change Challenge

PUT/users/@me/email

Sends an email to the current user with a verification code to initiate the email change process. Returns a 204 empty response on success.

Verify Email Change Code

POST/users/@me/email/verify-code

Verifies the email change code sent to the user's email address. If successful, the returned token can be used with the Modify Current User endpoint to change the user's email address.

JSON Params
FieldTypeDescription
codestringThe verification code
Response Body
FieldTypeDescription
tokenstringThe token to use for email verification