Skip to main content
Collaboration

Review & Approvals

Leave notes pinned to a moment, a clip, or a spot on canvas, resolve them, and gate a cut behind a set number of approvals.

Review center is where feedback on a composition lives. Notes are anchored to an exact place in the edit, so nobody has to write "around the middle of the second shot". It is for anyone who reviews cuts: the editor, a producer, a client with commenter access.

Open Review center

Go to /review/<compositionId>, using the composition's numeric ID. The page loads its comment threads and its checkpoints together.

Leave an anchored note

The Add anchored note card attaches feedback to the playhead, a clip, or an element on canvas.

Choose the anchor: Time, Clip, or Canvas.

Fill the value box. For Time it is Seconds. For Clip and Canvas it is the Element ID.

Type the note in Leave precise feedback... and press Comment, or press Enter.

Each thread appears below with a badge showing its anchor type and value, the author, and the time it was written.

Resolve and reopen

Every thread carries one button. Resolve closes it and fades the card. The same button then reads Reopen and brings it back. Klipeo records who resolved it and when.

Replies to a thread go through POST /api/comments/{id}. The Review center screen does not have a reply box, so a reply has to come from the API today.

Who can comment

Commenting, replying, and resolving all need the same permission. Creating a review and restoring a checkpoint need edit permission.

AccessComment, reply, resolveCreate a review, restore a checkpoint
OwnerYesYes
AdminYesYes
EditorYesYes
CommenterYesNo
ViewerNoNo

Access comes from owning the project, from a project collaborator invite, or from workspace membership. For anyone who is not the project owner, an active paid plan on the billing account is checked on every request.

Version history

The right side of Review center lists checkpoints, newest first. Each one shows its message, the first 10 characters of its git commit SHA or Live snapshot when there is no commit, and the time it was taken. The restore button asks "Restore this checkpoint as the current composition?" before it does anything.

Restoring writes the snapshot into the live composition room and into the saved composition, and it logs an entry to the project activity. Checkpoints come from committing on your branch, which is covered in Projects on GitHub.

Approvals

A review is a named request for sign-off on a project, with a number of approvals it needs before it counts as approved. Reviews have API support but no screen yet, so they are driven through the endpoints below.

Prop

Type

Create one with POST /api/projects/{id}/reviews and list them with GET /api/projects/{id}/reviews, newest update first. A review starts with status open.

A reviewer decides with POST /api/reviews/{id}/decision, sending decision as either approved or changes_requested, plus an optional body. Each reviewer holds one decision. Sending a second one replaces the first rather than adding a vote.

The review's status is recalculated on every decision:

  • Any changes_requested sets the status to changes_requested.
  • Otherwise, once the count of approvals reaches requiredApprovals, the status becomes approved.
  • Otherwise it stays open.

Changes requested is not permanent

Status is derived from the decisions on file. When the reviewer who asked for changes switches to approved, the next recalculation can move the review to approved.

Project activity

GET /api/projects/{id}/activity returns what happened on the project, newest first, up to 200 entries with ?limit=. Starting a thread records a summary such as "Started a time-anchored review thread", and a restore records "Restored checkpoint:" with the checkpoint message. Anyone with project access can read it.

When something fails

What you seeWhy
The page loads with no threads and no checkpointsYou do not have access to the project that owns the composition
Comment or resolve is refusedYou have viewer access, or the plan on the billing account is not active
Restore is refusedRestoring needs edit access
Restore fails outrightThe live composition room could not be written, so nothing is changed
A decision is refusedDeciding needs at least commenter access on the project

On this page