Optional ReadonlyadsAds delivery state the request reports.
Optional Readonlyserving?: booleanThe request asks for a feed that can carry ads. The iOS 451 app sends
its ads header group (x-ads-opt-out, x-cm-*, x-device-id, x-fb,
x-messenger, x-whatsapp, family_device_id) only on such feeds
(feed/timeline, feed/injected_reels_media, discover/topical_explore).
Optional ReadonlyanalyticsHow the app classifies the request in x-fb-request-analytics-tags.
Optional ReadonlyapiAnalytics?: booleanWhether the request carries the API-analytics header group (priority,
x-fb-friendly-name, x-fb-request-analytics-tags). Defaults to present;
false on the launcher/mobileconfig config-sync surface, which the app
sends without the group.
Optional ReadonlycriticalApi?: booleancritical_api request category (feed surfaces).
Optional ReadonlyheadFeedOrder?: booleanrequest_feed_order: head in the application tags: the head load of a feed.
Optional Readonlyprefetch?: booleanThe prefetch analytics purpose (the default purpose is fetch).
Optional ReadonlybloksBloks rendering state the request reports.
Optional ReadonlyprismControl?: booleanThe neutral control palette of the Bloks prism theme instead of the
active (indigo) theme. Set on session-start jobs that the app still
issues to the main host (e.g. push/register), which therefore cannot be
marked session-start scope without changing their host.
Optional ReadonlybodyRequest payload shape; derived by the edge from the request itself.
Optional ReadonlyexperimentsExperiment (QE) state the request carries.
Optional ReadonlysaltIds?: booleanx-ig-salt-ids.
Optional ReadonlygraphqlGraphQL request intent.
Optional Readonlyprefetch?: booleanThe prefetch analytics purpose of the minimal GraphQL family.
Optional Readonlypurpose?: booleanx-graphql-request-purpose.
Optional ReadonlyidentifiersClient identifiers the request stamps.
Optional ReadonlyfamilyDevice?: booleanx-ig-family-device-id.
Optional ReadonlymachineId?: booleanx-mid.
Optional ReadonlymetaUsdid?: booleanx-meta-usdid.
Optional ReadonlypigeonSession?: booleanx-pigeon-session-id.
Optional ReadonlyintegrityDevice integrity proofs the request carries.
Optional Readonlyattestation?: booleanx-ig-attest-params.
Optional ReadonlynavigationNavigation state the request reports.
Optional Readonlychain?: booleanx-ig-nav-chain; derived from the recorded navigation when not set.
Optional ReadonlynetworkDevice network state the request reports.
Optional Readonlyproperties?: booleanx-fb-network-properties. The iOS 451 app reports it on every API
request except the sessionless config sync, which declares false.
Optional ReadonlytransportTransport-level capabilities the app toggles per request. These do not produce a TypeScript-materialized header: the native transport owns the header, and the declared flag only opts it out.
Optional ReadonlyappNetSession?: booleanx-fb-appnetsession-nid / -sid. The iOS transport profile emits the
pair by default and the Android profile emits it on cellular (see
transportClientOptions); false suppresses it for requests the app
sends without it. iOS 451: the first requests of an app start (/rmd,
IGOneLinkMiddlewarePageQuery, feed/reels_tray, feed/timeline,
SUBSDataQuery) and the sessionless launcher/mobileconfig config sync.
Android 448: feed/reels_tray, feed/timeline and the sessionless
launcher/mobileconfig config sync — the shared
SESSIONLESS_CONFIG_SYNC_FEATURES set covers its every sender, both
cold-start calls and the password-key fallback (the reference capture
also lacks the pair on launcher/sync_ep_config, which the library does
not send).
Optional ReadonlyfriendlyNameDefault?: booleanThe transport's URL-derived default x-fb-friendly-name. The transport
emits it for any /api/v1 request the caller does not set one on;
false suppresses the default. Wired from the analytics.apiAnalytics
facet, so launcher/mobileconfig (which the app sends without a friendly
name) opts out through the same feature.
Optional ReadonlygraphqlClientLibrary?: booleanx-graphql-client-library. The transport injects pando on GraphQL URLs
when the request sets no value; false suppresses that default for the
GraphQL calls the app sends outside its Pando client — in the iOS 451
captures OdinTigonDataTask and api/v1/wwwgraphql/ig/query/.
Optional ReadonlytigonRetry?: booleanx-tigon-is-retry. The transport emits it by default; false suppresses
it for requests the app issues without the Tigon retry marker — currently
the Direct pending-requests preview poll in the 448 Android capture.
Optional ReadonlyzeroZero-rating / routing-map state the request reports.
Optional ReadonlynetworkInterface?: booleanzero-http-network-interface; derived from the zero-campaign state when
not set. A later, separate state from the routing map: the 448 capture
carries x-fb-rmd before the interface appears.
Optional ReadonlyrmdMap?: booleanx-fb-rmd; derived from routing-map state when not set.
Explicit per-request wire capabilities, grouped by the app state they describe. Request builders set them in
RequestContext.features; the platform edge derives the rest from the request and session state. A feature says the request may carry a header group; whether it is sent is the platform header resolver's decision, and its value the materializer's.