---
title: "Create a story"
method: POST
path: "/stories"
tags: ["stories"]
---

# Create a story

`POST /stories`

## Request

- Base URL: `https://aistoryhub.co/api/v1`
- URL: `https://aistoryhub.co/api/v1/stories`
- Auth: HTTP bearer

## Request body

- StoryCreate
  - `title` string, required
  - `description` string
  - `genre` string
  - `tense` string
  - `language` string
  - `mood` string
  - `time_period` string
  - `tone` string
  - `pov` string
  - `banned_words` string[]
  - `target_word_count` integer

## Response `201`

The created story.

- Story
  - `id` string, uuid
  - `title` string
  - `description` string, nullable
  - `genre` string, nullable
  - `tense` string, nullable
  - `language` string, nullable
  - `mood` string, nullable
  - `time_period` string, nullable
  - `tone` string, nullable
  - `pov` string, nullable
  - `status` string, nullable
  - `is_public` boolean
  - `word_count` integer
  - `target_word_count` integer, nullable
  - `cover_image_url` string, uri, nullable
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable

## Other responses

- `400`: The request body or parameters are invalid.
- `401`: Missing, malformed, invalid, revoked, or expired token.
- `403`: The token lacks the scope this endpoint requires.
- `429`: Too many requests. Retry after the delay in the `Retry-After` header.

---

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