Skip to content

GraphQL ​

Marketplace, some privilege checks, and party invites share one HTTP endpoint:

POST /v1/profiles/me/uplay/graphql

The official Connect client sends persisted queries: operationName + variables + the SHA-256 of the stored query. The same route also accepts the GraphQL query source in place of the hash.

Request body ​

ts
type PersistedQuery = {
  operationName: string
  variables: Record<string, unknown>
  query?: string // accepted instead of the hash
  extensions?: {
    persistedQuery: {
      version: 1
      sha256Hash: string
    }
  }
}

Send either extensions.persistedQuery or query. Connect PC sometimes POSTs an array of these objects instead of a single object; the response is then an array too.

Use standard headers with a marketplace (or party) ticket from ticket exchange.

Known operations ​

Full variable notes live on Marketplace. Known hashes:

OperationPurposesha256Hash
GetTradeLimitationsBuy/sell caps + resale locks—
GetBalanceAccount credits (secondaryStoreItem.meta.quantity)—
GetSellableItemsMarketable items + ownership—
CreateBuyOrderPlace a buy order—
CreateSellOrderPlace a sell order—
CancelOrderMutationCancel an active order—
GetTransactionsPendingPending orders (Created)—
GetTransactionsHistoryCompleted / cancelled (Succeeded, Failed)—
GetItemDetailsItem + market data + payment limits—
GetItemPriceHistoryDaily price points—
GetMarketableItemsCatalog search—
GetMarketplaceGameConfigTags, types, currency, privilege—
SendPartyInvitationMutationParty invitea9518dd087c353117145dd0d95e5e4f344210ca012f4e0c834c65bb972faceaf
GetViewerPartiesCaller's parties3ab6d8d776f06300fc4748780e3ab4d7fa4807701e2d11d9b2d303d00cd855f1
SendFriendRequestMutationFriend requestbc99fe5882c985b64a8f3105cdd8cf99f58141e4b9a5a1b945ea1c3e3236c662
GetMultipleUserProfilesProfile cards + linked networks—
GetPlayerPrivilegeBan / privilege check—

Party / friend ops need the party app ID 0a0379c0-…. Marketplace ops need the marketplace app IDs. Variables and response paths are on Marketplace.

Pending vs history ​

GetTransactionsPending filters states: [Created]. GetTransactionsHistory filters states: [Succeeded, Failed]. Same trades field.

Unofficial community documentation. Not affiliated with Ubisoft.