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 ReadonlymediaPublish?: booleanThe request publishes what an upload sent (media/configure*): the app
classifies it as a media upload (request_category: media_upload) and sends
it with the upload's priority (u=1, i), as the 451 app does when it publishes.
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 ReadonlyserializePayload?: booleanx-ig-bloks-serialize-payload: true on a GraphQL document request: the
app stamps it on some graphql/query documents (the profile timeline,
the top search results). REST requests carry it whatever they declare.
Optional ReadonlybodyRequest payload shape; derived by the edge from the request itself.
Optional ReadonlydirectDirect-surface request intent. The app stamps x-msgr-region on the
requests its Direct stack issues (the direct_v2/* REST calls and the
Direct GraphQL queries), and only when the session holds a Direct message
region; the regionHint marker is the FX accounts-badge probe, whose value
is the session's direct-region hint.
Optional Readonlyregion?: booleanx-msgr-region from the session's Direct message region.
Optional ReadonlyregionHint?: booleanx-msgr-region from the session's direct-region hint (the empty served value).
Optional ReadonlyexperimentsProcess state the request reports beside its own fields. The group keeps its historical name; its one member is not an experiment id.
Optional ReadonlysaltIds?: booleanx-ig-salt-ids: the app's running user flows (MobileUserFlows), set by
the edge from state on the session's REST requests; a request cannot
declare the value.
Optional ReadonlygraphqlGraphQL request intent.
Optional ReadonlyeagerDict?: booleanx-ig-validate-null-in-legacy-eager-dict: the app stamps it on the
documents it sends to graphql/query, in a process that began with a stored
session. The edge derives it from the request's path; like every declared
feature it is merged over the derived one, so a builder that declares it
overrides the path, and no request family declares it today.
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 navigation state when not set.
Optional ReadonlynetworkDevice network state the request reports.
Optional ReadonlylastConnectionType?: booleanx-ig-last-connection-type. The stories-tray request reports the
connection type it was loaded on (the 451 warm launch's tray, in a process
that began with a stored session; no process that began logged out carries
it).
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. Most do not
produce a TypeScript-materialized header: the native transport owns the
header, and the declared flag only opts it out. appNetSession also opts
the Android tasos family out (its presence itself is the process fact, not
this flag; the iOS resolver reads the same declared opt-out).
Optional ReadonlyappNetSession?: booleanx-fb-appnetsession-nid / -sid. The iOS transport profile emits the
pair by default; the Android profile is opted in when the app process
began with a stored session (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 448 app also sends no
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 only on the
Pando GraphQL URLs (graphql_www, graphql/query) 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 app
OdinTigonDataTask (and api/v1/wwwgraphql/ig/query/, which carries no
transport default at all).
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 of the 448 Android app.
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 app
sends 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.