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

    Variable DirectThreadDetailsSchemaConst

    DirectThreadDetailsSchema: Union<
        readonly [
            Struct<
                {
                    is_group: Literal<false>;
                    peer_user_fbid: optionalKey<String>;
                    peer_user_id: optionalKey<String>;
                    thread_title: String;
                    thread_v2_id: String;
                },
            >,
            Struct<
                {
                    is_group: Literal<true>;
                    lead_user_id: optionalKey<String>;
                    thread_title: String;
                    thread_v2_id: String;
                },
            >,
        ],
    > = ...

    What the thread details hub is opened with and keeps, a sum on whether the thread is a group: each kind holds only the facts that exist for it.

    • A one-to-one thread names its peer, the thread's own user (users[0]), which the thread screen carries from its answer — one source for both ids: peer_user_id is the pk the sharing-info query sends and peer_user_fbid the Facebook-side id (fbid_v2, the inbox row's person) the profile-updates query sends (run-direct-feed-theme 92); the sharing-info answer carries neither. The peer is also the person the hub asks about when it comes back in front.
    • A group names its first participant, lead_user_id: the person the hub asks GetUserSharingInfo about when it comes back in front (the 451 direct-actions-group 105 names the group's first member). It sends no profile updates, so it holds no Facebook-side id.