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

    Type Alias IosIgpapiOptions

    IosIgpapiOptions: (
        | { checkpoint?: undefined; seed: string; snapshot?: undefined }
        | {
            checkpoint?: undefined;
            seed?: undefined;
            snapshot: MobileSnapshot | object;
        }
        | { checkpoint: unknown; seed?: undefined; snapshot?: undefined }
    ) & {
        dangerAcceptInvalidCerts?: boolean;
        http3AttemptTimeoutMs?: number;
        network?: MobileNetwork;
        protocolMode?: TransportProtocolMode;
        proxy?: string;
        pushToken?: string;
        requestTimeoutMs?: number;
    }

    Options of the iOS app layer (IosApp).

    Use seed for a fresh deterministic virtual device, snapshot to restore a session exported with ExportSnapshot, or checkpoint to continue a checkpointed process — the screen restores then put the process state and the screen stack back over this client.

    Exactly one stored form, like the launch input: seed, snapshot and checkpoint are three forms of one slot, so a second one beside the first is a type error rather than a value the build silently resolves in one order. A continued process (a checkpoint) is the very client state the checkpoint carries, so it takes no network or pushToken either: the build refuses them with the declared SnapshotDecodeError instead of building a client every restore then refuses.

    The snapshot and the checkpoint cross storage, so each is accepted as an object only (owner decision, 2026-10-24: never JSON text — the caller parses what its storage returns), and the checkpoint is unknown on purpose: the build decodes it itself — text, a damaged value, one of another format or one taken on another platform is the declared SnapshotDecodeError, never a process that quietly diverges.

    Type Declaration

    • { checkpoint?: undefined; seed: string; snapshot?: undefined }
    • { checkpoint?: undefined; seed?: undefined; snapshot: MobileSnapshot | object }
    • { checkpoint: unknown; seed?: undefined; snapshot?: undefined }
    • OptionaldangerAcceptInvalidCerts?: boolean

      Allow invalid TLS certificates in the native transport.

      This is useful for local debugging setups, but should stay disabled for normal production traffic.

    • Optionalhttp3AttemptTimeoutMs?: number

      How long the transport tries HTTP/3 before falling back in auto mode.

    • Optionalnetwork?: MobileNetwork

      The network the device is on (default: cellular LTE for a new device; a restored snapshot keeps the network it was saved with). Pass { kind: 'wifi' } to present the device on Wi-Fi; when set it also replaces a restored snapshot's network.

    • OptionalprotocolMode?: TransportProtocolMode

      Protocol mode of the native transport (default auto: try HTTP/3 like the iOS app, fall back to HTTP/2 when it does not get through). http2 / http3 force one channel; the transport enforces them.

    • Optionalproxy?: string

      HTTP(S) proxy URL passed to the native transport.

    • OptionalpushToken?: string

      The device's APNs push token from the platform push SDK. It is a device fact (MobileDeviceState.pushToken), not a flow input: IosAppLaunchFlow reads it from the device, push/register is skipped when the device holds none, and a restored snapshot keeps the token it was saved with. When set it replaces a restored snapshot's token.

    • OptionalrequestTimeoutMs?: number

      Timeout of every API request in milliseconds (default 60 000). A timed-out request is abandoned, not cancelled: an action may still be carried out by the server, so a retry can duplicate it.