Changelog

v1.1.0 — attach a story to many widgets on create

Added

  • widgets on POST /v1/stories
    Same contract as PUT /v1/stories/:id. The first entry is the primary widget. Response: data.alias (primary) + data.aliases (every attached widget). Each widgets[alias] may carry audiences, productPages, removeProductPages (PUT), widgetOrder, order, schedule, widgetCoverMediaId, widgetPresetAlias, widgetLabel.

  • Shopping interaction
    pages[].interaction supports type: shopping with productIds, buttonType, buttonLabel, shoppingIcon.

Changed

  • On create, only title and pages (min. 1 page) are required. Send widgetAlias or widgets (at least one key), never both (400). widgetPresetAlias is required only when creating a widget that does not exist.
  • Root widgetAlias, widgetPresetAlias, widgetCoverMediaId, order, productPages, schedule are per-widget defaults; prefer widgets.
  • On PUT, productPages / removeProductPages live inside widgets[alias], not at the root. A 200 means the story was persisted and publish started, not that widgets are live.

Fixed

  • Samples now use https://partner-api.join-stories.com/v1/... (no /v1/story, no /stories without /v1, no http://, no /upload-media).

Note

  • Create / update / delete can take up to 360 s. A multi-store PUT needs a client timeout ≥ 360 s.

v1.0.2 — February 26, 2025

Added

  • jsonLd in getContainer Response
    The getContainer endpoint now returns a jsonLd key containing the structured data of the container. This field is only present when the jsonLd=true query parameter is provided.
    For an example of the returned data, refer to the documentation.

v1.0.1 — April 2, 2025

Added

  • alias in createStory Response
    The createStory endpoint now returns the final widget alias used. This is useful when the provided alias is modified through normalization (e.g., removal of special characters) before being saved.

Fixed

  • More Precise Error Codes
    A selection of endpoints now return more specific and descriptive error codes.

v1.0.0 — March 27, 2025

Added

  • CTA Interactions
    A new interaction type cta is now supported, allowing stories to include call-to-action elements.

  • Parameter: widgetPresetKeepStories
    Added a new optional parameter widgetPresetKeepStories to widget-related endpoints. This controls whether existing stories are retained when a widget preset is applied.

  • API Versioning
    Versioning has been introduced across all endpoints. Endpoints are now accessible via versioned paths (e.g., /v1/...), supporting backward compatibility for future updates.

Changed

  • Unified Media Type
    The separate types image and video have been merged into a single media type. This change applies across request payloads and responses for consistency.

  • getTemplates Response Format
    The response structure of the getTemplates endpoint has been updated to match that of the story creation endpoint, ensuring consistent data formats.

  • Enhanced GET /stories Endpoint
    The GET /stories response now includes story pages and interactions, providing a complete view of story content and behavior.