---
title: "Update a story's bible fields, including the outline"
method: PATCH
path: "/stories/{id}"
tags: ["stories"]
---

# Update a story's bible fields, including the outline

`PATCH /stories/{id}`

## Request

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

Provide only the fields to change: logline/genre/tone/etc and the story-level spine (outline).

## Path parameters

- `id` string, uuid, required

## 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 `200`

The updated 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.
- `404`: The resource does not exist or you do not own it.
- `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)
