---
title: "Promo Interstitial"
method: GET
path: "/api/out/promo/{slug}"
tags: ["outbound"]
---

# Promo Interstitial

`GET /api/out/promo/{slug}`

## 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/out/promo/{slug}`
- Auth: none declared

The coupon handed over on the way out of a banner.

A banner used to be a bare 302, and the code it applies to sat in a strip
on the home page — which meant the page gave away the one thing worth
clicking for before anybody clicked. The code now lives here, on the way
out, where it is worth something to both sides.

This half does NOT redirect and does NOT know the destination, exactly as
the offer interstitial does not: `/go` owns both. That split is what keeps
the tracked URL server-side, and it is why a crawler or a link preview that
merely FETCHES this page gets HTML and stops there.

Falls straight through to the redirect when there is no live code for the
store. A scratch card over an empty promise is worse than no scratch card,
and it would put a page between a reader and a shop for nothing.

## Path parameters

- `slug` string, required

## Query parameters

- `src` string, nullable

## Response `200`

Successful Response

## 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/962824bb76da?raw)
