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": 44,
"text_preset": "tiktok",
"text_width": "narrow"
},
"pack_assignments": null
}
}
}
Slideshows
Update Slideshow
Update slideshow metadata, settings, product link, or full slide 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": 44,
"text_preset": "tiktok",
"text_width": "narrow"
},
"pack_assignments": null
}
}
}
Apply a partial update to a slideshow.
Path Parameters
string
required
Slideshow UUID.
Body Parameters
string
Optional title override.
string
Optional status update:
draft or rendered.string
Optional:
educational or personal.string (UUID) | null
Optional product link update. Set
null to detach.object
array
Optional full slide replacement array.
Show Slide Payload
Show Slide Payload
array
required
At least one element per slide. Element fields:
content, x, y,
optional id, font_size, width, height, editable, style_preset,
font_family, background_color, text_color, border_radius.string | null
required
Background image URL or
null.string[] | null
Optional collage image URLs.
string | null
2x2, 1+2, vertical, or horizontal.object
Optional filter object with numeric fields:
brightness, contrast, saturation, hue, blur, grayscale,
sepia, invert, drop_shadow, opacity.array
Optional overlays (
id, image_url, x, y, width, height,
rotation, opacity).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": 44,
"text_preset": "tiktok",
"text_width": "narrow"
},
"pack_assignments": null
}
}
}
Error Responses
400 invalid_json- body is not valid JSON422 invalid_payload- schema validation failed or body is empty404 not_found- slideshow is missing/outside key scope404 product_not_found- referencedproduct_iddoes not exist403 forbidden_product_access- referencedproduct_idis outside key scope401- authentication failed (missing/invalid/revoked token)402 subscription_required- active Creator/Professional/Business plan required403 tier_not_allowed- Scheduler tier cannot use Partner API500 update_failed- unexpected update failure
