---
title: "Ingest Offers"
method: POST
path: "/api/admin/ingest"
tags: ["admin"]
---

# Ingest Offers

`POST /api/admin/ingest`

## 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/admin/ingest`
- Auth: none declared

Accept a batch of scraped observations.

⚠️ Unauthenticated. This must not be exposed publicly — bind it to the
private interface, or put an API key in front of it, before deploying.
Anyone who can reach this can rewrite every price on the site.

## Request body

- IngestOfferIn[]
  - `storeCode` string, required
  - `gameSlug` string, required
  - `platform` string, required
  - `region` string, required
  - `edition` string, required
  - `slug` string, nullable
  - `priceCents` integer, required
  - `currency` string
  - `listPriceCents` integer, nullable
  - `feeCents` integer
  - `inStock` boolean
  - `sellerRating` integer, nullable
  - `externalId` string, nullable
  - `freeToKeep` boolean

## Response `200`

Successful Response

- IngestResultOut
  - `received` integer, required
  - `offersCreated` integer, required
  - `offersUpdated` integer, required
  - `priceChangesRecorded` integer, required
  - `unknownGames` string[]
  - `unknownStores` string[]

## Other responses

- `422`: Validation Error

---

[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/57333a690301?raw)
