---
title: "Update a story"
method: PATCH
path: "/api/v1/stories/{id}"
tags: ["Stories"]
---

# Update a story

`PATCH /api/v1/stories/{id}`

## Request

- Base URL: `https://api.atono.io`
- URL: `https://api.atono.io/api/v1/stories/{id}`
- Auth: API key in header `X-API-KEY`

## Path parameters

- `id` string, required

## Request body

- RequestStoryUpdateResource
  - `data` StoryUpdateResource, required: A story represents a piece of planned work in Atono, typically written from the user's perspective. It includes a user story statement, acceptance criteria, and optional context to guide implementation or review.
    - `type` string, required: Identifies the type of resource.
    - `id` string, uuid, required: The unique identifier for the resource, typically a UUID.
    - `attributes` StoryUpdateResourceAttributes: Contains the structured data fields that describe the resource, such as properties, settings, and timestamps.
      - `title` string, nullable: The title of the story.
      - `content` ContentChunk29[], nullable: The user story statement shown at the top of the story (e.g., "As a… I want to… so that…").
        - `type` 'DISPLAY_HTML' | 'TEXT' | 'PERSONA', required: The type of content chunk. - `DISPLAY_HTML`: HTML-formatted content. - `TEXT`: Plain text content. - `PERSONA`: The "As a..." persona from the user story.
        - `value` string, required: The content in this chunk.
      - `additionalContent` ContentChunk31[], nullable: Optional notes added below the acceptance criteria, often used for background info, technical notes, decisions, or context for the team.
        - `type` 'DISPLAY_HTML' | 'TEXT', required: The type of content chunk. - `DISPLAY_HTML`: HTML-formatted content. - `TEXT`: Plain text content.
        - `value` string, required: The content in this chunk.
    - `relationships` StoryUpdateResourceRelationships: Contains references to other related resources.
      - `acceptanceCriteria` AcceptanceCriteriaReplaceResource
        - `data` AcceptanceCriterionUpdateResource[], required
          - `type` string, required: Identifies the type of resource.
          - `id` string, uuid, nullable: ID of the acceptance criterion to update. If `null`, a new criterion will be created. Preserving the ID is important when tracking usage metrics for individual criteria.
          - `attributes` AcceptanceCriterionUpdateResourceAcceptanceCriterionBacklogItemAttributes: Contains the structured data fields that describe the resource, such as properties, settings, and timestamps.
            - `description` string, nullable: Description of the acceptance criterion.
            - `position` integer, nullable: The desired position of this acceptance criterion in the list. The first AC is at position `0`. Atono will attempt to insert the AC at this position, but the actual result may vary depending on the existing structure. For example, if no other criteria exist, the item will be added at position 0 regardless of the value provided.
            - `level` integer, nullable: The desired nesting level of the criterion. Level `0` indicates a root level criterion; higher values represent subcriteria.
            - `aiAgentName` string, nullable, required
      - `assignee` SingleRelationshipUpdate
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
      - `team` SingleRelationshipUpdate
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
      - `workflowStep` SingleRelationshipUpdate
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
      - `linkedItems` MultipleRelationshipsUpdate
        - `data` ResourceIdentifier[], required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
      - `epic` SingleRelationshipUpdate
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.

## Response `200`

Successfully updated the story.

- SingleResourceBodyStoryResource
  - `data` StoryResource: A story represents a piece of planned work in Atono, typically written from the user's perspective. It includes a user story statement, acceptance criteria, and optional context to guide implementation or review.
    - `type` string: Identifies the type of resource.
    - `id` string, uuid: The unique identifier for the resource, typically a UUID.
    - `attributes` StoryResourceAttributes: Contains the structured data fields that describe the resource, such as properties, settings, and timestamps.
      - `title` string: The title of the story.
      - `handle` string: A unique identifier for the story, shown in the Atono application as the item ID (e.g., `STORY-123`).
      - `position` integer: Indicates the story's position within its current workflow step, where `0` is the topmost item. Position is relative to the step and team backlog.
      - `content` ContentChunk17[], nullable: The user story statement shown at the top of the story (e.g., "As a… I want to… so that…").
        - `type` 'DISPLAY_HTML' | 'TEXT' | 'PERSONA', required: The type of content chunk. - `DISPLAY_HTML`: HTML-formatted content. - `TEXT`: Plain text content. - `PERSONA`: The "As a..." persona from the user story.
        - `value` string, required: The content in this chunk.
      - `additionalContent` ContentChunk19[], nullable: Optional notes added below the acceptance criteria, often used for background info, technical notes, decisions, or context for the team.
        - `type` 'DISPLAY_HTML' | 'TEXT', required: The type of content chunk. - `DISPLAY_HTML`: HTML-formatted content. - `TEXT`: Plain text content.
        - `value` string, required: The content in this chunk.
      - `cycleTimeMode` 'NORMAL' | 'OUTLIER'
      - `stalenessIndicatorSnoozeUntil` string, date-time: The date and time until which the staleness indicator is hidden for this story in its current step and team backlog. Once the date passes, the indicator is shown again if the story is still stale.
      - `createdAt` string, date-time: The date and time the story was created.
      - `updatedAt` string, date-time: The date and time the story was last updated.
      - `doneAt` string, date-time: The date and time when the story was completed.
      - `deleted` boolean: Indicates whether the story has been deleted.
    - `relationships` StoryResourceRelationships: Contains references to other related resources.
      - `acceptanceCriteria` MultipleRelationships
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier[], nullable, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
      - `assignee` SingleRelationship
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
      - `team` SingleRelationship
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
      - `workflowStep` SingleRelationship
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
      - `featureFlag` SingleRelationship
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
      - `creator` SingleRelationship
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
      - `attachments` MultipleRelationships
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier[], nullable, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
      - `epic` SingleRelationship
        - `links` RelationshipLinks, required
          - `self` string, uri, nullable, required
          - `related` string, uri, nullable, required
        - `data` ResourceIdentifier, required
          - `type` string, required: Identifies the type of the linked resource.
          - `id` string, required: The unique identifier of the linked resource.
        - `meta` unknown, required
  - `errors` ProblemDetail[]: A list of errors returned with the response, if the request could not be completed. Each object includes details about a specific issue.
    - `id` string: A unique identifier for this specific error occurrence. Useful for debugging and support.
    - `links` object, nullable: Links related to the error. May include a URL to relevant documentation or support resources.
    - `status` integer: The HTTP status code associated with the error (e.g., 400, 404, 422).
    - `code` string: An internal code that identifies the type or category of the error.
    - `title` string: A short summary of the problem.
    - `source` ProblemSource: Identifies the part of the request that caused the error. Only one source is present per error.
      - `pointer` string, nullable: Specifies the path to the field in the request body that caused the error.
      - `parameter` string, nullable: Identifies a query parameter in the request URL that caused the error.
      - `header` string, nullable: Identifies the request header that caused the error.
    - `detail` string: Additional information about the error, intended to provide more context than the title.
    - `meta` unknown
  - `meta` unknown
  - `included` unknown[]: A list of related resources included in the response, either automatically by the API or in response to an include parameter in the request. Each item contains a full resource object (e.g., users, teams, acceptance criteria).
    - unknown
  - `links` unknown

## Other responses

- `404`: The story could not be found, or one of the requested related resources (include) does not exist.

---

[API](https://skmtc.dev/atono/apis/backend-api.md) · [All operations](https://skmtc.dev/atono/apis/backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/atono/apis/backend-api/revisions/78a57b1d8c3d?raw)
