# [OAuth2.0] Complete auth by email Completes authentication by the user email address and a confirmation code. The code lifetime is 3 minutes. This call is used only with the Start auth by email call. The workflow of using this call: 1. The application opens an authentication form so the user can enter their email address. 2. The user enters their email address. 3. The application sends the Start auth by email request to the Xsolla Login server: a. If the parameter send_link is true, after this request, you should send the Get confirmation code request to make email contain the confirmation code and link. b. If the parameter send_link is false or not passed, the email will contain the confirmation code only. 4. The Xsolla Login server sends the email and returns the ID of the confirmation code. 5. The application shows a field so the user can fill in the confirmation code. 6. The user enters the received confirmation code or follows the link. 7. The application sends this request to the Xsolla Login server with the received ID. 8. The user is considered as authorized. Endpoint: POST /oauth2/login/email/confirm Version: v1 ## Query parameters: - `client_id` (integer, required) Your application ID. Get it after creating an OAuth 2.0 client. ## Request fields (application/json): - `code` (string, required) Confirmation code. - `email` (string, required) User email address. - `operation_id` (string, required) ID of the confirmation code. You can find its value in the response to a previous request. ## Response 200 fields (application/json): - `login_url` (string, required) URL generated from the redirect_uri with additional parameters. The code parameter is the user authentication code which must be exchanged to a JWT. Example: "http://someurl.com?token=XXXXXXX" ## Response 400 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 401 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 404 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 422 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 429 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information.