---
title: "Patch one carousel slide"
method: PATCH
path: "/carousels/{projectId}/slide"
tags: ["Project Management"]
---

# Patch one carousel slide

`PATCH /carousels/{projectId}/slide`

## Request

- Base URL: `https://blitzreels.com/api/v1`
- URL: `https://blitzreels.com/api/v1/carousels/{projectId}/slide`
- Auth: API key in header `Authorization`

Patch native slots/media or select a completed custom Remotion frame artifact and crop at the expected revision.

## Path parameters

- `projectId` string, uuid, required

## Request body

- object
  - `expected_revision` integer, required
  - `slide_index` integer, required
  - `slots` object
  - `lines` string[]
  - `template_id` string
  - `media_asset_id` string, uuid
  - `creative_artifact_id` string, uuid
  - `crop` object, nullable
    - `left` number, required
    - `top` number, required
    - `width` number, required
    - `height` number, required

## Response `200`

Successful response

- object
  - `project_id` string, uuid, required
  - `revision` integer, required
  - `name` string, required
  - `platform` 'tiktok_photo' | 'instagram_4x5' | 'linkedin', nullable, required
  - `locale` string, nullable, required
  - `frame` object, required
    - `width` integer, required
    - `height` integer, required
    - `aspect_ratio` string, required
  - `style` object, nullable, required
    - `chip` object
      - `font_family` string
      - `font_weight` union
        - integer
        - string
      - `font_size` integer
      - `color` string
      - `background` string
      - `padding_x` integer
      - `padding_y` integer
      - `radius` integer
      - `max_lines_per_chip` integer
  - `slides` object[], required
    - `index` integer, required
    - `role` 'hook' | 'body' | 'proof' | 'cta', nullable, required
    - `lines` string[], required
    - `slots` object, required
    - `layout` 'chip_stack_ui' | 'chip_stack_face_safe' | 'chip_stack_top' | 'title_body_card', nullable, required
    - `visual` object, required
      - `kind` 'creative_source' | 'media_asset' | 'generate' | 'solid' | 'gradient' | 'html' | 'template', required
      - `media_asset_id` string, uuid
      - `prompt` string
      - `model_id` string
      - `color` string
      - `colors` string[]
      - `html` string
      - `template_id` string
      - `source_media_asset_id` string, uuid
      - `creative_artifact_id` string, uuid
      - `crop` object
        - `left` number, required
        - `top` number, required
        - `width` number, required
        - `height` number, required
      - `creative_source` object
        - `artifact_id` string, uuid, required
        - `project_id` string, uuid, required
        - `source_revision_id` string, uuid, required
        - `source_revision` integer, required
        - `source_hash` string, required
        - `runtime_identity` string, required
        - `composition_id` string, required
        - `frame` integer, required
        - `width` integer, required
        - `height` integer, required
        - `fps` number, required
        - `frame_hash` string, required
        - `media_asset_id` string, uuid, required
        - `controls` object, nullable, required
          - `file` string, ends_with, required
          - `fields` union[], required
            - union
              - …
        - `values` object, required
    - `photo_url` string, nullable
    - `slot_urls` object
  - `templates` object[], required
    - `id` string, required
    - `label` string, required
    - `family` 'photo' | 'designed', required
    - `slots` object[], required
      - `key` string, required
      - `label` string, required
  - `kit` object
    - `themes` object[], required
      - `id` string, uuid, required
      - `name` string, required
      - `scope` 'project' | 'brand', required
      - `fontFamily` string, required
      - `titleColor` string, required
      - `bodyColor` string, required
      - `background` string, required
      - `pageColor` string, required
      - `overlayEnabled` boolean, required
      - `overlayOpacity` integer, required
      - `logoAssetId` string, uuid, nullable
    - `templates` object[], required
      - `id` string, uuid, required
      - `name` string, required
      - `scope` 'project' | 'brand', required
      - `template_id` string, required
      - `slots` object, required
    - `active_theme_id` string, uuid, nullable, required
  - `font_faces` object[]
    - `family` string, required
    - `src` string, required
    - `weight` string, required
    - `style` 'normal' | 'italic' | 'oblique', required
    - `unicodeRange` string, required
  - `can_undo` boolean, required
  - `warnings` object[], required
    - `code` string, required
    - `message` string, required
    - `field` string
    - `repair` string
  - `next_actions` object[], required
    - `method` 'GET' | 'POST' | 'PATCH' | 'DELETE', required
    - `path` string, required
    - `reason` string, required
  - `txid` integer, nullable, required
  - `mutationReceipt` object, required
    - `id` string, uuid, required
    - `key` string, required
    - `operation` string, required
    - `status` 'completed', required
    - `replayed` boolean, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `404`: Not found
- `500`: Internal server error

---

[API](https://skmtc.dev/blitzreels/apis/blitzreels-api.md) · [All operations](https://skmtc.dev/blitzreels/apis/blitzreels-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blitzreels/apis/blitzreels-api/revisions/35608b12471d?raw)
