---
title: "Update keyframe information"
method: PATCH
path: "/v1/assets/{asset_id}/keyframes/{keyframe_id}/"
---

# Update keyframe information

`PATCH /v1/assets/{asset_id}/keyframes/{keyframe_id}/`

## Request

- Base URL: `https://app.iconik.io/API/files`
- URL: `https://app.iconik.io/API/files/v1/assets/{asset_id}/keyframes/{keyframe_id}/`
- Auth: none declared. Required headers: `App-ID`, `Auth-Token`
- TypeScript: <https://skmtc.dev/iconik/apis/iconik-files/docs/v1/assets/:asset_id/keyframes/:keyframe_id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Required roles:
 - can_write_keyframes

## Path parameters

- `asset_id` string, required
- `keyframe_id` string, required

## Headers

- `App-ID` string, required
- `Auth-Token` string, required

## Request body

- KeyframeUpdateSchema
  - `content_type` string
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `filename` string
  - `format` string, nullable
  - `is_custom_keyframe` boolean
  - `is_public` boolean
  - `name` string
  - `resolution` ResolutionType
    - `height` integer
    - `width` integer
  - `rotation` integer, nullable
  - `size` integer, nullable
  - `status` 'OPEN' | 'GROWING' | 'AWAITED' | 'CLOSED' | 'FAILED' | 'ARCHIVED' | 'MISSING' | 'REDISCOVERED' | 'DELETED'
  - `storage_id` string, uuid
  - `time_code` TimeCodeType
    - `frames_number` integer
    - `is_drop_frame` boolean
    - `time_base` TimeBaseType
      - `denominator` integer
      - `numerator` integer
  - `type` 'KEYFRAME_MAP' | 'KEYFRAME' | 'POSTER', required
  - `url` string

## Response `200`

Returns a keyframe that was updated

- KeyframeSchema
  - `asset_id` string, uuid, nullable
  - `collection_id` string, uuid, nullable
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `filename` string
  - `format` string, nullable
  - `id` string, uuid
  - `is_custom_keyframe` boolean
  - `is_public` boolean
  - `name` string
  - `resolution` ResolutionType
    - `height` integer
    - `width` integer
  - `rotation` integer, nullable
  - `size` integer, nullable
  - `status` 'OPEN' | 'GROWING' | 'AWAITED' | 'CLOSED' | 'FAILED' | 'ARCHIVED' | 'MISSING' | 'REDISCOVERED' | 'DELETED'
  - `storage_id` string, uuid
  - `storage_method` string
  - `time_code` TimeCodeType
    - `frames_number` integer
    - `is_drop_frame` boolean
    - `time_base` TimeBaseType
      - `denominator` integer
      - `numerator` integer
  - `type` 'KEYFRAME_MAP' | 'KEYFRAME' | 'POSTER', required
  - `upload_credentials` object
  - `upload_headers` object
  - `upload_method` string
  - `upload_url` string
  - `url` string
  - `version_id` string, uuid, nullable

## Other responses

- `400`: Bad request
- `401`: Token is invalid
- `404`: Keyframe for this asset doesn't exist
- `default`: Error response

---

[API](https://skmtc.dev/iconik/apis/iconik-files.md) - [All operations](https://skmtc.dev/iconik/apis/iconik-files/llms.txt) - [OpenAPI document](https://skmtc.dev/iconik/apis/iconik-files/revisions/ed57d13791a2?raw)
