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

    Variable MobileSnapshotSchemaConst

    MobileSnapshotSchema: decodeTo<
        toType<
            Struct<
                {
                    application: Struct<
                        {
                            adaptiveUi: optional<Boolean>;
                            APP_VERSION: String;
                            APP_VERSION_CODE: String;
                            BLOKS_VERSION_ID: String;
                            bloksClientContext: optional<
                                Struct<{ keys: $Array<Literals<(...)>> }>,
                            >;
                            bloksInfraTheme: optional<String>;
                            bloksPrismExtendedPalette: optional<
                                Struct<{ gray: Boolean; polish: Boolean }>,
                            >;
                            bloksThemeParams: optional<
                                $Array<
                                    Struct<{ design_system_name: String; value: $Array<(...)> }>,
                                >,
                            >;
                            BREADCRUMB_KEY: String;
                            CAPABILITIES: String;
                            directInboxMode: optional<Number>;
                            directSearchGenAiBotsLimit: optional<Number>;
                            FACEBOOK_ANALYTICS_APPLICATION_ID: String;
                            FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<String>;
                            GRAPHQL_DOC_IDS: optional<$Record<String, String>>;
                            GRAPHQL_GZIP_MIN_BYTES: optional<Number>;
                            GRAPHQL_OMIT_PRETTY: optional<Boolean>;
                            GRAPHQL_SERVER_TIMESTAMPS: optional<
                                Union<readonly [Literal<"true">, Literal<"timestamp">]>,
                            >;
                            launchWire: optional<Literal<"451">>;
                            mediaLikeWire: optional<Literals<readonly ["rest", "graphql"]>>;
                            mediaNoteWire: optional<Literals<readonly ["451", "450"]>>;
                            mediaRepostWire: optional<
                                Literals<readonly ["note-with-text", "editor"]>,
                            >;
                            reelsTrayPageSize: optional<Number>;
                            shoppingExperiments: optional<$Array<String>>;
                            SUPPORTED_CAPABILITIES: $Array<
                                Struct<{ name: String; value: String }>,
                            >;
                            ufiActionFlowActions: optional<
                                $Array<Literals<readonly ["like", "comment"]>>,
                            >;
                            ZERO_HEADERS: optional<
                                Struct<
                                    {
                                        authenticated: Struct<{ balance: ...; eh: ... }>;
                                        "logged-out": Struct<{ balance: ...; eh: ... }>;
                                        "rmd-evaluated": Struct<{ balance: ...; eh: ... }>;
                                    },
                                >,
                            >;
                        },
                    >;
                    cookies: Unknown;
                    device: Struct<
                        {
                            adid: String;
                            adsOptOut: optional<Boolean>;
                            androidDevicePerformanceClass: optional<Number>;
                            aymhAccounts: optional<$Array<$Record<String, Unknown>>>;
                            battery: optional<
                                Union<
                                    readonly [
                                        Struct<{ kind: ...; startedAtMs: ...; startLevel: ... }>,
                                        Struct<
                                            {
                                                kind: ...;
                                                percentPerHour: ...;
                                                startedAtMs: ...;
                                                startLevel: ...;
                                            },
                                        >,
                                    ],
                                >,
                            >;
                            build: String;
                            cloudTrustToken: optional<String>;
                            currentKeyboardLanguage: optional<String>;
                            descriptor: String;
                            deviceStatus: optional<$Record<String, Unknown>>;
                            familyDeviceSynced: optional<Boolean>;
                            familyId: String;
                            fbnsKey: optional<Struct<{ createdAt: Number; publicKey: String }>>;
                            flashCallPermissionsStatus: optional<
                                Struct<
                                    {
                                        ANSWER_PHONE_CALLS: Literals<readonly [(...), (...)]>;
                                        READ_CALL_LOG: Literals<readonly [(...), (...)]>;
                                        READ_PHONE_STATE: Literals<readonly [(...), (...)]>;
                                    },
                                >,
                            >;
                            gmsCallRetrieverEligibility: optional<
                                Literals<readonly ["eligible", "not_eligible"]>,
                            >;
                            gpuMemoryMb: optional<Number>;
                            hasCameraPermission: optional<Boolean>;
                            hasGoogleAdId: optional<Boolean>;
                            hasNotificationPermission: optional<Boolean>;
                            id: String;
                            isFoldable: optional<Boolean>;
                            isLayoutRTL: Boolean;
                            keyboardLanguage: optional<String>;
                            language: String;
                            lastPushRegistration: optional<Struct<{ at: Number }>>;
                            location: optional<Struct<{ lat: Number; lng: Number }>>;
                            mobileConfig: optional<
                                Struct<
                                    {
                                        accounts: optional<$Record<(...), (...)>>;
                                        appVersion: optional<String>;
                                        sessionless: optional<$Record<(...), (...)>>;
                                    },
                                >,
                            >;
                            network: optional<
                                Union<
                                    readonly [
                                        Struct<{ kind: ...; radio: ... }>,
                                        Struct<{ kind: ... }>,
                                    ],
                                >,
                            >;
                            networkInfo: optional<
                                Struct<
                                    {
                                        active_subscriptions_info: Null;
                                        default_subscription_info: Struct<
                                            {
                                                group_id_level_1: ...;
                                                is_data_roaming: ...;
                                                is_esim: ...;
                                                is_gsm_roaming: ...;
                                                is_mobile_data_enabled: ...;
                                                is_sim_sms_capable: ...;
                                                network_operator: ...;
                                                network_type: ...;
                                                signal_strength: ...;
                                                sim_carrier_id: ...;
                                                sim_carrier_id_name: ...;
                                                sim_operator: ...;
                                                sim_operator_name: ...;
                                                sim_state: ...;
                                            },
                                        >;
                                        is_active_network_cellular: Number;
                                        is_airplane_mode: Number;
                                        is_device_sms_capable: Number;
                                        is_wifi: Number;
                                        sim_count: Number;
                                    },
                                >,
                            >;
                            networkSessionId: optional<String>;
                            phoneId: String;
                            pigeonIdentities: optional<
                                $Record<
                                    String,
                                    Struct<
                                        {
                                            config: optional<(...)>;
                                            hmacTtl: optional<(...)>;
                                            sampling: optional<(...)>;
                                        },
                                    >,
                                >,
                            >;
                            pushHpkeIdentity: optional<
                                Struct<
                                    { keystoreId: String; privKeyPem: String; pubKeyB64: String },
                                >,
                            >;
                            pushToken: optional<String>;
                            radioType: optional<String>;
                            ramSizeInGb: optional<Number>;
                            rmd: optional<Struct<{ kind: Literals<readonly [(...), (...)]> }>>;
                            rmdNoValidMapTimes: optional<
                                Struct<{ recvTime: String; reqTime: String }>,
                            >;
                            systemLanguages: optional<$Array<String>>;
                            systemLocale: optional<String>;
                            timezoneName: optional<String>;
                            timezoneOffset: String;
                            usdidIdentity: optional<
                                Struct<
                                    {
                                        kid: String;
                                        privKeyPem: String;
                                        pubKeySpkiB64: String;
                                        uuid: String;
                                    },
                                >,
                            >;
                            uuid: String;
                            videoEncoders: optional<
                                $Record<
                                    String,
                                    $Array<
                                        Struct<
                                            {
                                                bitrate: ...;
                                                complexity: ...;
                                                encoder_name: ...;
                                                frame_rate: ...;
                                                height: ...;
                                                height_alignment: ...;
                                                max_instances: ...;
                                                width: ...;
                                                width_alignment: ...;
                                            },
                                        >,
                                    >,
                                >,
                            >;
                            zeroAttestationIdentity: optional<
                                Struct<
                                    { keyHash: String; privKeyPem: String; uploadedAtMs: Number },
                                >,
                            >;
                        },
                    >;
                    session: Struct<
                        {
                            appStartPhase: optional<Literal<"cold">>;
                            appStartTimeMs: optional<Number>;
                            authorization: optional<String>;
                            bandwidth: optional<
                                Struct<
                                    {
                                        bytes: Number;
                                        carried: optional<Literal<(...)>>;
                                        ms: Number;
                                        stack: optional<Struct<(...)>>;
                                    },
                                >,
                            >;
                            challenge: optional<$Record<String, Unknown>>;
                            checkpoint: optional<$Record<String, Unknown>>;
                            clientSessionIdLifetime: Number;
                            directInboxCache: optional<Struct<{ threads: $Array<Struct<(...)>> }>>;
                            directInboxSeqId: optional<Number>;
                            directLoadedThreads: optional<$Array<String>>;
                            dsUserId: optional<String>;
                            familyDeviceIdBound: optional<Boolean>;
                            fbidV2: optional<String>;
                            igWWWClaim: optional<String>;
                            lastCreationMode: optional<
                                Literals<readonly ["post", "reel", "story"]>,
                            >;
                            metaAiConsent: optional<
                                Struct<
                                    {
                                        cacheTimeSeconds: Number;
                                        fetchedAtSeconds: Number;
                                        nuxType: String;
                                        requiresNux: Boolean;
                                        text: String;
                                        version: String;
                                    },
                                >,
                            >;
                            metaSubsEntrypointSessions: optional<
                                $Record<
                                    String,
                                    Struct<
                                        { expiresAtMs: Number; refreshAtMs: Number; sessionId: String },
                                    >,
                                >,
                            >;
                            msgrRegion: optional<String>;
                            noteCtasFetchedAtMs: optional<Number>;
                            passwordEncryptionKeyId: optional<String>;
                            passwordEncryptionPubKey: optional<String>;
                            pigeonSessionIdLifetime: Number;
                            popularKeywordsRefreshedAtMs: optional<Number>;
                            profileInfoFetches: optional<
                                $Record<
                                    String,
                                    Struct<
                                        { atMs: Number; userFbid: optional<(...)>; username: String },
                                    >,
                                >,
                            >;
                            quickPromotionCooldown: optional<
                                Struct<{ defaultMs: Number; slots: $Record<String, Number> }>,
                            >;
                            quickPromotionImpressions: optional<
                                $Record<
                                    String,
                                    Struct<{ lastSurface: String; surfaces: $Record<(...), (...)> }>,
                                >,
                            >;
                            regionHint: optional<String>;
                            rmdEvaluationStarted: optional<Boolean>;
                            rur: optional<String>;
                            sessionStartPhase: optional<Literal<"starting">>;
                            shbid: optional<String>;
                            shbts: optional<String>;
                            thumbnailCacheBustingValue: Number;
                            xMetaUsdid: optional<String>;
                            xMid: optional<String>;
                            zeroInterface: optional<Boolean>;
                            zeroPhase: optional<
                                Literals<
                                    readonly ["logged-out", "authenticated", "rmd-evaluated"],
                                >,
                            >;
                        },
                    >;
                },
            >,
        >,
        Struct<
            {
                application: Struct<
                    {
                        adaptiveUi: optional<Boolean>;
                        APP_VERSION: String;
                        APP_VERSION_CODE: String;
                        BLOKS_VERSION_ID: String;
                        bloksClientContext: optional<
                            Struct<
                                { keys: $Array<Literals<readonly [(...), (...), (...), (...)]>> },
                            >,
                        >;
                        bloksInfraTheme: optional<String>;
                        bloksPrismExtendedPalette: optional<
                            Struct<{ gray: Boolean; polish: Boolean }>,
                        >;
                        bloksThemeParams: optional<
                            $Array<
                                Struct<{ design_system_name: String; value: $Array<String> }>,
                            >,
                        >;
                        BREADCRUMB_KEY: String;
                        CAPABILITIES: String;
                        directInboxMode: optional<Number>;
                        directSearchGenAiBotsLimit: optional<Number>;
                        FACEBOOK_ANALYTICS_APPLICATION_ID: String;
                        FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<String>;
                        GRAPHQL_DOC_IDS: optional<$Record<String, String>>;
                        GRAPHQL_GZIP_MIN_BYTES: optional<Number>;
                        GRAPHQL_OMIT_PRETTY: optional<Boolean>;
                        GRAPHQL_SERVER_TIMESTAMPS: optional<
                            Union<readonly [Literal<"true">, Literal<"timestamp">]>,
                        >;
                        launchWire: optional<Literal<"451">>;
                        mediaLikeWire: optional<Literals<readonly ["rest", "graphql"]>>;
                        mediaNoteWire: optional<Literals<readonly ["451", "450"]>>;
                        mediaRepostWire: optional<
                            Literals<readonly ["note-with-text", "editor"]>,
                        >;
                        reelsTrayPageSize: optional<Number>;
                        RMD_NO_VALID_MAP_TIMES: optional<Unknown>;
                        shoppingExperiments: optional<$Array<String>>;
                        SUPPORTED_CAPABILITIES: $Array<Struct<{ name: String; value: String }>>;
                        ufiActionFlowActions: optional<
                            $Array<Literals<readonly ["like", "comment"]>>,
                        >;
                        ZERO_HEADERS: optional<
                            Struct<
                                {
                                    authenticated: Struct<{ balance: String; eh: String }>;
                                    "logged-out": Struct<{ balance: String; eh: String }>;
                                    "rmd-evaluated": Struct<{ balance: String; eh: String }>;
                                },
                            >,
                        >;
                    },
                >;
                cookies: Unknown;
                device: Struct<
                    {
                        adid: String;
                        adsOptOut: optional<Boolean>;
                        androidDevicePerformanceClass: optional<Number>;
                        aymhAccounts: optional<$Array<$Record<String, Unknown>>>;
                        battery: optional<
                            Union<
                                readonly [
                                    Struct<
                                        {
                                            kind: Literal<(...)>;
                                            startedAtMs: Number;
                                            startLevel: Number;
                                        },
                                    >,
                                    Struct<
                                        {
                                            kind: Literal<(...)>;
                                            percentPerHour: Number;
                                            startedAtMs: Number;
                                            startLevel: Number;
                                        },
                                    >,
                                ],
                            >,
                        >;
                        batteryLevel: optional<Unknown>;
                        build: String;
                        cloudTrustToken: optional<String>;
                        connectionType: optional<Unknown>;
                        currentKeyboardLanguage: optional<String>;
                        descriptor: String;
                        deviceStatus: optional<$Record<String, Unknown>>;
                        familyDeviceSynced: optional<Boolean>;
                        familyId: String;
                        fbnsKey: optional<Struct<{ createdAt: Number; publicKey: String }>>;
                        flashCallPermissionsStatus: optional<
                            Struct<
                                {
                                    ANSWER_PHONE_CALLS: Literals<readonly ["GRANTED", "DENIED"]>;
                                    READ_CALL_LOG: Literals<readonly ["GRANTED", "DENIED"]>;
                                    READ_PHONE_STATE: Literals<readonly ["GRANTED", "DENIED"]>;
                                },
                            >,
                        >;
                        gmsCallRetrieverEligibility: optional<
                            Literals<readonly ["eligible", "not_eligible"]>,
                        >;
                        gpuMemoryMb: optional<Number>;
                        hasCameraPermission: optional<Boolean>;
                        hasGoogleAdId: optional<Boolean>;
                        hasNotificationPermission: optional<Boolean>;
                        id: String;
                        isCharging: optional<Unknown>;
                        isFoldable: optional<Boolean>;
                        isLayoutRTL: Boolean;
                        keyboardLanguage: optional<String>;
                        language: String;
                        lastPushRegistration: optional<Struct<{ at: Number }>>;
                        location: optional<Struct<{ lat: Number; lng: Number }>>;
                        mobileConfig: optional<
                            Struct<
                                {
                                    accounts: optional<$Record<String, $Record<(...), (...)>>>;
                                    appVersion: optional<String>;
                                    sessionless: optional<$Record<String, $Record<(...), (...)>>>;
                                },
                            >,
                        >;
                        network: optional<
                            Union<
                                readonly [
                                    Struct<{ kind: Literal<(...)>; radio: Literal<(...)> }>,
                                    Struct<{ kind: Literal<(...)> }>,
                                ],
                            >,
                        >;
                        networkInfo: optional<
                            Struct<
                                {
                                    active_subscriptions_info: Null;
                                    default_subscription_info: Struct<
                                        {
                                            group_id_level_1: NullOr<(...)>;
                                            is_data_roaming: Number;
                                            is_esim: NullOr<(...)>;
                                            is_gsm_roaming: Number;
                                            is_mobile_data_enabled: Number;
                                            is_sim_sms_capable: NullOr<(...)>;
                                            network_operator: Union<(...)>;
                                            network_type: NullOr<(...)>;
                                            signal_strength: Number;
                                            sim_carrier_id: Number;
                                            sim_carrier_id_name: NullOr<(...)>;
                                            sim_operator: Union<(...)>;
                                            sim_operator_name: String;
                                            sim_state: Number;
                                        },
                                    >;
                                    is_active_network_cellular: Number;
                                    is_airplane_mode: Number;
                                    is_device_sms_capable: Number;
                                    is_wifi: Number;
                                    sim_count: Number;
                                },
                            >,
                        >;
                        networkSessionId: optional<String>;
                        phoneId: String;
                        pigeonIdentities: optional<
                            $Record<
                                String,
                                Struct<
                                    {
                                        config: optional<Struct<(...)>>;
                                        hmacTtl: optional<Struct<(...)>>;
                                        sampling: optional<Struct<(...)>>;
                                    },
                                >,
                            >,
                        >;
                        pushHpkeIdentity: optional<
                            Struct<
                                { keystoreId: String; privKeyPem: String; pubKeyB64: String },
                            >,
                        >;
                        pushToken: optional<String>;
                        radioType: optional<String>;
                        ramSizeInGb: optional<Number>;
                        rmd: optional<
                            Struct<
                                { kind: Literals<readonly ["no-valid-map", "url-eligible"]> },
                            >,
                        >;
                        rmdNoValidMapTimes: optional<
                            Struct<{ recvTime: String; reqTime: String }>,
                        >;
                        systemLanguages: optional<$Array<String>>;
                        systemLocale: optional<String>;
                        timezoneName: optional<String>;
                        timezoneOffset: String;
                        usdidIdentity: optional<
                            Struct<
                                {
                                    kid: String;
                                    privKeyPem: String;
                                    pubKeySpkiB64: String;
                                    uuid: String;
                                },
                            >,
                        >;
                        uuid: String;
                        videoEncoders: optional<
                            $Record<
                                String,
                                $Array<
                                    Struct<
                                        {
                                            bitrate: Tuple<(...)>;
                                            complexity: Tuple<(...)>;
                                            encoder_name: String;
                                            frame_rate: Tuple<(...)>;
                                            height: Tuple<(...)>;
                                            height_alignment: Number;
                                            max_instances: Number;
                                            width: Tuple<(...)>;
                                            width_alignment: Number;
                                        },
                                    >,
                                >,
                            >,
                        >;
                        zeroAttestationIdentity: optional<
                            Struct<
                                { keyHash: String; privKeyPem: String; uploadedAtMs: Number },
                            >,
                        >;
                    },
                >;
                session: Struct<
                    {
                        adsOptOut: optional<Unknown>;
                        appStartPhase: optional<Literal<"cold">>;
                        appStartTimeMs: optional<Number>;
                        authorization: optional<String>;
                        bandwidth: optional<
                            Struct<
                                {
                                    bytes: Number;
                                    carried: optional<Literal<true>>;
                                    ms: Number;
                                    stack: optional<
                                        Struct<
                                            {
                                                downloadBwAvgBps: ...;
                                                downloadBweMeanBps: ...;
                                                downloadBwStddevBps: ...;
                                                rttAvgMs: ...;
                                                rttStddevMs: ...;
                                                uploadBwAvgBps: ...;
                                                uploadBwe: ...;
                                                uploadBwStddevBps: ...;
                                            },
                                        >,
                                    >;
                                },
                            >,
                        >;
                        challenge: optional<$Record<String, Unknown>>;
                        checkpoint: optional<$Record<String, Unknown>>;
                        clientSessionIdLifetime: Number;
                        directInboxCache: optional<
                            Struct<
                                {
                                    threads: $Array<
                                        Struct<
                                            {
                                                is_group: ...;
                                                items: ...;
                                                last_activity_at: ...;
                                                muted: ...;
                                                thread_id: ...;
                                                thread_title: ...;
                                                thread_v2_id: ...;
                                                users: ...;
                                            },
                                        >,
                                    >;
                                },
                            >,
                        >;
                        directInboxSeqId: optional<Number>;
                        directLoadedThreads: optional<$Array<String>>;
                        dsUserId: optional<String>;
                        familyDeviceIdBound: optional<Boolean>;
                        fbidV2: optional<String>;
                        igWWWClaim: optional<String>;
                        lastCreationMode: optional<
                            Literals<readonly ["post", "reel", "story"]>,
                        >;
                        metaAiConsent: optional<
                            Struct<
                                {
                                    cacheTimeSeconds: Number;
                                    fetchedAtSeconds: Number;
                                    nuxType: String;
                                    requiresNux: Boolean;
                                    text: String;
                                    version: String;
                                },
                            >,
                        >;
                        metaSubsEntrypointSessions: optional<
                            $Record<
                                String,
                                Struct<
                                    { expiresAtMs: Number; refreshAtMs: Number; sessionId: String },
                                >,
                            >,
                        >;
                        msgrRegion: optional<String>;
                        navChain: optional<Unknown>;
                        navigation: optional<Unknown>;
                        noteCtasFetchedAtMs: optional<Number>;
                        passwordEncryptionKeyId: optional<String>;
                        passwordEncryptionPubKey: optional<String>;
                        pigeonSessionIdLifetime: Number;
                        popularKeywordsRefreshedAtMs: optional<Number>;
                        profileInfoFetches: optional<
                            $Record<
                                String,
                                Struct<
                                    { atMs: Number; userFbid: optional<String>; username: String },
                                >,
                            >,
                        >;
                        quickPromotionCooldown: optional<
                            Struct<{ defaultMs: Number; slots: $Record<String, Number> }>,
                        >;
                        quickPromotionImpressions: optional<
                            $Record<
                                String,
                                Struct<{ lastSurface: String; surfaces: $Record<String, Number> }>,
                            >,
                        >;
                        regionHint: optional<String>;
                        rmd: optional<Unknown>;
                        rmdEvaluationStarted: optional<Boolean>;
                        rur: optional<String>;
                        sessionStartPhase: optional<Literal<"starting">>;
                        shbid: optional<String>;
                        shbts: optional<String>;
                        thumbnailCacheBustingValue: Number;
                        xMetaUsdid: optional<String>;
                        xMid: optional<String>;
                        zeroInterface: optional<Boolean>;
                        zeroPhase: optional<
                            Literals<readonly ["logged-out", "authenticated", "rmd-evaluated"]>,
                        >;
                    },
                >;
            },
        >,
        never,
        never,
    > = ...

    A snapshot as the caller stored it, read into the current model; the decoded value is a MobileSnapshot. Every path that accepts a snapshot, a checkpoint's client state included, decodes through this schema, so all of them settle a stored snapshot identically. A legacy field that is dropped is logged (Effect.logWarning of its StoredSnapshotFieldDropped) in the decoding Effect's own logger.