---
title: "Post Add"
method: POST
path: "/api/account/wishlist/add"
tags: ["wishlist"]
---

# Post Add

`POST /api/account/wishlist/add`

## Request

- Base URL: `https://api.getcheapgames.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getcheapgames.com/api/account/wishlist/add`
- Auth: none declared

The game on the wishlist, in the market and money the visitor is on, or
the item it already is: pressing the heart twice, or on two devices at
once, makes one item and changes nothing. A target here is "Set alert"
on a game the page took for not wishlisted; when it already was (added
on another device meanwhile), the alert asked for is set on it all the
same, as `/target` would, rather than dropped without a word.

## Response `200`

Successful Response

- WishlistItemOut: One wishlisted game, priced as a card for the item's own market.
  - `id` integer, required
  - `game` GameCardOut, required: A game as a listing renders it. Declared rather than derived from `GameOut` so the wire shape of a listing is readable in one place. The fields a listing never fills — description, the edition family, package contents — are simply absent instead of being serialised as a screenful of nulls.
    - `slug` string, required
    - `title` string, required
    - `releaseYear` integer, nullable, required
    - `releaseDate` string, date, nullable
    - `publisher` string, required
    - `genres` string[], required
    - `steamAppId` integer, nullable
    - `coverBase` string, nullable
    - `priceHistory` integer[]
    - `kind` string
    - `isFree` boolean
    - `freeToKeep` boolean
    - `giveaway` GcgSchemasGiveawayOut: A giveaway on another store than Steam: what the claim button says and where it goes (`catalog.GIVEAWAY_ELSEWHERE`). Steam's own is the game's `free_to_keep`, whose link the client builds from the appid.
      - `platform` string, required
      - `claimUrl` string, nullable
      - `endsAt` string, date-time, nullable
    - `playUrl` string, nullable
    - `edition` string, nullable
    - `franchise` string, nullable
    - `offers` OfferCardOut[]
      - `store` StoreRefOut, required: The store fields a client needs to render an offer. Embedded in each offer rather than referenced by id: it removes a client-side join and a second request, and six short records across a response is nothing next to the round trip it saves.
        - `code` string, required
        - `name` string, required
        - `accent` string, required
        - `kind` string, required
      - `currency` string, required
      - `listPriceCents` integer, nullable, required
      - `feeCents` integer, required
      - `totalCents` integer, required
      - `platform` string, required
      - `inStock` boolean, required
  - `targetCents` integer, nullable, required
  - `currency` string, required
  - `country` string, required
  - `createdAt` string, date-time, required
  - `best` WishlistBestOut, required: The cheapest usable offer for the item (gcg/wishlist/pricing.py): in stock, keyed for a region covering the item's country, fees included, in the item's own currency. Never converted.
    - `totalCents` integer, required
    - `currency` string, required
    - `store` StoreRefOut, required: The store fields a client needs to render an offer. Embedded in each offer rather than referenced by id: it removes a client-side join and a second request, and six short records across a response is nothing next to the round trip it saves.
      - `code` string, required
      - `name` string, required
      - `accent` string, required
      - `kind` string, required
  - `reached` boolean, required

---

[API](https://skmtc.dev/getcheapgames/apis/getcheapgames-api.md) · [All operations](https://skmtc.dev/getcheapgames/apis/getcheapgames-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getcheapgames/apis/getcheapgames-api/revisions/962824bb76da?raw)
