Update Story#
Updates an existing Story by external ID. Can update titles (when UpdateTitles is true) and append new pages or update page properties.
- Workflow ID:
update-story
Example Request#
{
"workflows": ["update-story"],
"mediaUrls": [
"https://cdn.example.com/videos/story-ext-200-page-03.mp4"
],
"metadata": {
"StoryExternalId": "story-ext-200",
"UpdateTitles": true,
"StoryTitle": "Updated Matchday Wrap",
"ShortDisplayTitle": "Matchday Wrap",
"LongDisplayTitle": "Matchday Wrap — Updated",
"CategoryIds": ["football", "late-breaking"],
"CategorySchedules": [{ "ExternalId": "football" }],
"ThumbnailUrl": "https://cdn.example.com/images/story-200-thumb.jpg",
"IconUrl": "https://cdn.example.com/images/story-200-icon.png",
"CustomSizeThumbnailUrl": "https://cdn.example.com/images/story-200-custom.png",
"https://cdn.example.com/videos/story-ext-200-page-03.mp4": {
"Duration": 7,
"SortOrder": 3,
"IsHidden": false,
"SkipUpdatingAsset": false,
"SkipProcessing": false,
"ExternalId": "page-ext-200-03",
"ActionLinkId": "11111111-1111-1111-1111-111111111111"
}
}
}
Metadata#
| Key | Type | Required | Remarks |
|---|---|---|---|
StoryExternalId |
string | Yes | Root-level. External ID of the story to update. |
UpdateTitles |
boolean | No | Root-level. When true, updates the story titles provided below. |
StoryTitle |
string | No | Root-level. New story title when UpdateTitles is true. |
ShortDisplayTitle |
string | No | Root-level. New short display title when UpdateTitles is true. |
LongDisplayTitle |
string | No | Root-level. New long display title when UpdateTitles is true. |
CategoryIds |
ArrayOf(string) | No | Root-level. Category external IDs to associate with the story. |
CategorySchedules |
ArrayOf(object) | No | Root-level. Rich category schedule entries. |
ThumbnailUrl |
string | No | Root-level. Present for parity; not applied during update. |
IconUrl |
string | No | Root-level. Present for parity; not applied during update. |
CustomSizeThumbnailUrl |
string | No | Root-level. Present for parity; not applied during update. |
Duration |
integer | No | Per-media. Page duration in seconds. |
SortOrder |
integer | No | Per-media. Page order within the story. |
IsHidden |
boolean | No | Per-media. Whether the page is hidden. |
SkipUpdatingAsset |
boolean | No | Per-media. If true, do not update existing asset if present. |
SkipProcessing |
boolean | No | Per-media. If true, skip media processing for this page. |
ActionLinkId |
Guid | No | Per-media. Associate an action link for new pages. |
ExternalId |
string | No | Per-media. External identifier for the page asset. |
TemplateMetadata |
object | No | Per-media. Template-specific values when using templates. |
cURL Example#
curl -X POST "https://integrations.usestoryteller.com/api/workflows/execute" \
-H "x-storyteller-api-key: $ST_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<'JSON'
{
"workflows": ["update-story"],
"mediaUrls": ["https://cdn.example.com/videos/story-ext-200-page-03.mp4"],
"metadata": {
"StoryExternalId": "story-ext-200",
"UpdateTitles": true,
"StoryTitle": "Updated Matchday Wrap",
"https://cdn.example.com/videos/story-ext-200-page-03.mp4": {
"Duration": 7,
"SortOrder": 3
}
}
}
JSON