igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Variable ChallengeSubmitPhoneScreenConst

    ChallengeSubmitPhoneScreen: ScreenDefinition<
        "ChallengeSubmitPhone",
        "screen",
        {
            step: {
                bloks_action: string;
                challenge_context: string;
                cni: string;
                flow_render_type: 3;
                step_data?: { readonly [key: string]: Json };
                step_name: string;
            };
        },
        {
            step: {
                bloks_action: string;
                challenge_context: string;
                cni: string;
                flow_render_type: 3;
                step_data?: { readonly [key: string]: Json };
                step_name: string;
            };
        },
        {
            step: {
                bloks_action: string;
                challenge_context: string;
                cni: string;
                flow_render_type: 3;
                step_data?: { readonly [key: string]: Json };
                step_name: string;
            };
        },
        never,
        MobileNavigation,
        ChallengeSubmitPhoneActions,
        Record<never, never>,
        never,
        never,
    > = ...

    The phone-number entry of a navigation challenge: Instagram asks for a phone number it can send the security code to, because the account has no usable contact point. Instagram names the step submit_phone; the step's step_data suggests whether WhatsApp is offered (whatsapp, show_whatsapp_otp_choice).

    Reached only as an interruption of a request (OpenChallenge(error)), and usually as the next step of the same challenge; it has no back and is no step of a trail.

    Its one action, submitPhoneNumber(phoneNumber), sends the number to the step's challenge action unchanged and continues into the next step — usually the code entry (ChallengeVerifyCodeScreen), and the challenge's end when the answer is a close. A number the server rejects is the existing typed IgChallengeNavigationSubmitPhoneInvalidPhoneNumberError, carrying the server's text, not a different screen. The app accepts the number with or without a leading country code; the number is the person's input, not a library-generated value. The action runs only while this screen is on top. The interrupted action is never retried.

    Ships with screenshots/submit-phone.webp, the screen as the old class showed it on a test account.

    Unverified against the app. The Android 451 app's behavior on this step is not known: the answer is the challenge module's own sample and its earlier live runs. Seeing the Android app on the challenge's phone entry would settle the screen's text and the request's remaining fields.

    Guide: Challenges