projects

Apply targeted edits

Apply an atomic batch of ops to the project head. Returns the new version, the ids touched, a compact diff, and validation that rides along for free. Pass if_version for optimistic concurrency (409 on mismatch). apply_template replaces the composition with a template's and records the template as the project's source.

post/v1/projects/{project_id}/ops

Request

  • Base URL: https://api.framelane.io
  • URL: https://api.framelane.io/v1/projects/{project_id}/ops
  • Auth: HTTP bearer

Path parameters

project_idstring required

Request body

if_versioninteger nullable

Optimistic concurrency: reject with 409 if the head version differs.

author'user' | 'agent'

Who authored a version -- the human owner or an agent acting on their behalf.

run_idstring nullable

Agent run correlation id, stamped on the new version.

Example request

{
  "ops": [
    {
      "transition": {
        "duration": 0.5,
        "from_id": "video_01",
        "to_id": "video_02",
        "z_index": 1
      }
    }
  ],
  "if_version": 3
}

Response

Successful Response

versioninteger required

The new head version.

editor_urlstring nullable

Open the edited project in the authenticated console.

okboolean required

True when the new head has no error-severity violations.

changed_idsstring[]

Element ids the ops touched.

Changes

No recorded changes to this operation across all 1 revision of this API.