---
title: "Rename a result: a table read, or a finished pitch deck or trailer (free)."
method: PATCH
path: "/artifacts/{artifactId}"
tags: ["Artifacts"]
---

# Rename a result: a table read, or a finished pitch deck or trailer (free).

`PATCH /artifacts/{artifactId}`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/artifacts/{artifactId}`
- Auth: HTTP bearer

Renames a result. A table read is called by the script it performs, so its new name is that script's title (the episode's, where it is one), as its share page and the Writers Lab show it; the pages are never touched. A finished pitch deck or trailer is renamed as its deck or trailer is. Free and reversible (rename it again). Any other kind of result is refused (400 `validation_failed`). Scope: `story:write`.

## Request body

- ArtifactRenameRequest: A new name. A pitch deck or trailer takes null (or an empty string) to go back to its automatic name; a plan and a result always keep one.
  - `title` string, nullable, required: The new name, at most 200 characters (trimmed).

## Response `200`

The renamed result.

- RenamedArtifact: Renames a result. A table read is called by the script it performs, so its new name is that script's title (the episode's, where it is one), as its share page and the Writers Lab show it; the pages are never touched. A finished pitch deck or trailer is renamed as its deck or trailer is. Free and reversible (rename it again).
  - `artifactId` string, required
  - `type` 'table_read' | 'pitch_deck' | 'trailer', required
  - `title` string, required: The name it has now.
  - `scriptId` string, nullable, required: A table read: the script it performs, whose title it is.
  - `jobId` string, nullable, required: A pitch deck or trailer: its job id, which the deck and trailer endpoints take.

## Other responses

- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: The story artifact does not exist or is owned by another account.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/64c1102ccb2f?raw)
