Skip to main content
PATCH
/
api
/
partner
/
v1
/
slideshows
/
{slideshowId}
curl --request PATCH \
  --url https://www.genviral.io/api/partner/v1/slideshows/2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0 \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "5 discipline quotes (v2)",
  "settings": {
    "aspect_ratio": "9:16",
    "advanced_settings": {
      "text_width": "narrow"
    }
  }
}'
{
  "ok": true,
  "code": 200,
  "message": "Slideshow updated",
  "data": {
    "id": "2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0",
    "title": "5 discipline quotes (v2)",
    "status": "draft",
    "slideshow_type": "educational",
    "product_id": null,
    "slide_count": 5,
    "settings": {
      "image_pack_id": "11111111-1111-1111-1111-111111111111",
      "aspect_ratio": "9:16",
      "slideshow_type": "educational",
      "advanced_settings": {
        "font_size": "default",
        "text_preset": "tiktok",
        "text_width": "narrow"
      },
      "pack_assignments": null
    }
  }
}
Apply a partial update to a slideshow.

Path Parameters

slideshowId
string
required
Slideshow UUID.

Body Parameters

title
string
Optional title override.
status
string
Optional status update: draft or rendered.
slideshow_type
string
Optional: educational or personal.
product_id
string (UUID) | null
Optional product link update. Set null to detach.
settings
object
Optional partial settings patch.
slides
array
Optional full slide replacement array.
Body cannot be empty. Send at least one updatable field.
If you update slides on a slideshow currently in rendered status, the API automatically resets it to draft and clears render artifacts (preview_image_url, last_rendered_at, and per-slide rendered_image_url).
curl --request PATCH \
  --url https://www.genviral.io/api/partner/v1/slideshows/2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0 \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "5 discipline quotes (v2)",
  "settings": {
    "aspect_ratio": "9:16",
    "advanced_settings": {
      "text_width": "narrow"
    }
  }
}'
{
  "ok": true,
  "code": 200,
  "message": "Slideshow updated",
  "data": {
    "id": "2ab58bb0-0c39-45c0-a4d5-b6852f9d7fc0",
    "title": "5 discipline quotes (v2)",
    "status": "draft",
    "slideshow_type": "educational",
    "product_id": null,
    "slide_count": 5,
    "settings": {
      "image_pack_id": "11111111-1111-1111-1111-111111111111",
      "aspect_ratio": "9:16",
      "slideshow_type": "educational",
      "advanced_settings": {
        "font_size": "default",
        "text_preset": "tiktok",
        "text_width": "narrow"
      },
      "pack_assignments": null
    }
  }
}

Error Responses

  • 400 invalid_json - body is not valid JSON
  • 422 invalid_payload - schema validation failed or body is empty
  • 404 not_found - slideshow is missing/outside key scope
  • 404 product_not_found - referenced product_id does not exist
  • 403 forbidden_product_access - referenced product_id is outside key scope
  • 401 - authentication failed (missing/invalid/revoked token)
  • 402 subscription_required - active Creator/Professional/Business plan required
  • 403 tier_not_allowed - Scheduler tier cannot use Partner API
  • 500 update_failed - unexpected update failure