---
title: "Create Post"
method: POST
path: "/api/admin/social/posts"
tags: ["social"]
---

# Create Post

`POST /api/admin/social/posts`

## 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/social/posts`
- Auth: none declared

A post written by hand.

Refused up front for anything the worker would only fail on later — an
unknown network, one that cannot take this media, one that is not
connected, a caption over its limit. Every reason is returned at once, so
a composer can show them all rather than making someone fix them one by
one.

## Headers

- `authorization` string

## Request body

- PostIn
  - `body` string, required
  - `media` 'none' | 'image' | 'video'
  - `networks` string[]
  - `stories` string[]
  - `game_id` integer, nullable
  - `hashtags` boolean
  - `due_at` string, date-time, nullable
  - `video_id` integer, nullable
  - `on_bio` boolean, nullable
  - `x_link` boolean, nullable
  - `tiktok_mode` 'inbox' | 'private', nullable
  - `template` string, nullable

## Response `201`

Successful Response

- PostOut
  - `id` integer, required
  - `kind` string, required
  - `game_id` integer, nullable, required
  - `title` string, nullable, required
  - `link` string, nullable, required
  - `body` string, required
  - `media` string, required
  - `currency` string, nullable, required
  - `price_cents` integer, nullable, required
  - `was_cents` integer, nullable, required
  - `store_count` integer, nullable, required
  - `created_by` string, required
  - `created_at` string, date-time, required
  - `on_bio` boolean
  - `x_link` boolean
  - `tiktok_mode` 'inbox' | 'private'
  - `template` string
  - `video` GcgRoutersSocialVideoOut: An uploaded clip: where the networks fetch it, and what the admin measured.
    - `id` integer, required
    - `url` string, required
    - `name` string, required
    - `seconds` number, required
    - `width` integer, required
    - `height` integer, required
    - `bytes` integer, required
    - `created_at` string, date-time, required
  - `deliveries` DeliveryOut[], required
    - `id` integer, required
    - `network` string, required
    - `placement` string, required
    - `state` string, required
    - `caption` string, required
    - `due_at` string, date-time, required
    - `attempts` integer, required
    - `last_error` string, nullable, required
    - `url` string, nullable, required
    - `sent_at` string, date-time, nullable, required
    - `views` integer, nullable
    - `likes` integer, nullable
    - `comments` integer, nullable
    - `shares` integer, nullable
    - `stats_at` string, date-time, nullable
    - `released_at` string, date-time, nullable
    - `template` string, nullable
    - `planned_at` string, date-time, nullable
    - `planned_why` string, nullable
  - `planned_at` string, date-time, nullable

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