Skip to content

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