---
title: "News Cover"
method: GET
path: "/media/news/covers/{post_id}/{version}/{width}.{fmt}"
tags: ["media"]
---

# News Cover

`GET /media/news/covers/{post_id}/{version}/{width}.{fmt}`

## 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/media/news/covers/{post_id}/{version}/{width}.{fmt}`
- Auth: none declared

A news post's cover at one width, converted from its stored source on the
first request and written once (gcg/services/news_covers.py).

The version is in the path and goes up with every picture a post stores,
so the bytes behind one URL never change and are cached for a year as
`immutable` — unlike a game cover above, whose key is the game alone. No
database read: the source at that version is the whole answer, and a
version a post has moved past is pruned, so it 404s here like any other.

## Path parameters

- `post_id` integer, required
- `version` integer, required
- `width` integer, required
- `fmt` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-20** `962824bb76da`: 1 info
  - api operation id `news_cover_media_news_covers__post_id___version___width___fmt__get` removed and replaced with `news_cover_media_news_covers__post_id___version___width___fmt__head`
- **2026-10-19** `57333a690301`: 1 info
  - api operation id `news_cover_media_news_covers__post_id___version___width___fmt__head` removed and replaced with `news_cover_media_news_covers__post_id___version___width___fmt__get`

[Operation history](https://skmtc.dev/getcheapgames/apis/getcheapgames-api/changes/media/news/covers/:post_id/:version/:width.:fmt/get.md)

---

[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)
