auth.signIn

Signs in a user with a validated phone number.

API section: Registration/Authorization

auth.signIn#8d52a951 flags:# phone_number:string phone_code_hash:string phone_code:flags.0?string email_verification:flags.1?EmailVerification = auth.Authorization;

Parameters

NameTypeDescription
flags # Bit mask: a field written flags.N?T is present only when bit N is set.
phone_number string Phone number in international format, without the plus.
phone_code_hash string Hash issued when the code was requested. The code is not accepted without it.
phone_code flags.0?string Confirmation code from the message.
email_verification flags.1?EmailVerification

Result

auth.Authorization

Possible errors

Read out of the handler itself — this is what the server actually returns for this method.

CodeTypeWhat it means
400 PHONE_CODE_EXPIRED The code has expired — request a new one.
400 PHONE_CODE_INVALID The confirmation code did not match.
401 SESSION_PASSWORD_NEEDED Two-factor protection is on: continue the login with the password.

Common to every call

CodeTypeWhat it means
401 AUTH_KEY_UNREGISTERED The server does not know this session: the key was revoked, expired, or the call was made before authorisation.
401 API_ID_INVALID This api_id was never issued or has been blocked. Keys come from my.ansible.su.
400 CONNECTION_LAYER_INVALID The client did not declare a layer, or declared one the server does not know.
420 FLOOD_WAIT_X Too often. Do not retry for X seconds — the number arrives in the error text.
500 INTERNAL A failure on our side. The request may be retried; if it keeps failing, it is a bug of ours.

Related pages

Types used here