Edit a brief
Partial update. While an ACTIVE compose job references this brief the edit is refused (409 conflict) — finish, resume, or abandon the job first; the Director never has its input edited out from under it.
API key auth. Prefix cf_live_ for production orgs, cf_test_ for sandbox.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/briefs/string" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "projectId": "string", "kind": "authored", "sourceSuggestionId": "string", "name": "string", "goal": "string", "audience": "string", "platform": "string", "format": { "aspectRatio": "16:9", "fps": 24, "resolution": "hd" }, "durationSec": 1, "tone": "string", "cta": "string", "locale": "string", "hook": "string", "caption": "string", "beats": [ { "id": "string", "intent": "string", "durationSec": 1, "source": { "mediaId": "string", "startSec": 0, "endSec": 1 } } ], "mustIncludes": [ "string" ], "references": [ "string" ], "captions": { "styleId": "string", "emphasisPhrases": [ "string" ] }, "motionStyle": { "textAnimation": "string", "transitions": "string", "colorMood": "string", "captionStyle": "string" }, "seededGraphics": [ { "id": "string", "startTime": 0, "duration": 1, "source": { "kind": "media", "mediaId": "string", "trim": { "start": 0, "end": 0 }, "excludedRanges": [ { "start": 0, "end": 0, "reason": "string" } ], "volume": 0, "muted": true, "playbackRate": 1, "sync": "video", "kenBurns": "in", "volumeDb": 0, "fadeInMs": 0, "fadeOutMs": 0, "loop": true, "reframe": { "segments": [ { "startSec": 0, "endSec": 1, "focus": { "mode": "frame-center" }, "intent": "string", "zoom": 1, "ease": { "in": 0, "out": 0 }, "bias": { "x": -0.3, "y": -0.3 } } ] } }, "kind": "video", "opacity": 0, "scale": 1, "rotation": 0, "position": { "x": 0, "y": 0 }, "region": { "x": 0, "y": 0, "w": 1, "h": 1 }, "fit": "cover", "effects": [ { "primitiveId": "string", "params": { "property1": null, "property2": null } } ], "transitionIn": { "type": "string", "duration": 1 } } ], "exclusions": [ "overlay" ], "gates": { "holdAt": [ "content" ], "autoApprove": true, "reviewMode": "agent" }, "quote": { "composeUsd": 0, "renderUsdPerExport": 0, "estimatedJourneyUsd": 0, "revisionCyclesIncluded": 0 }, "createdAt": 0, "updatedAt": 0}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}List briefs (optionally scoped to a project) GET
DEFAULT lists human-authored briefs only. Machine-minted clip briefs (suggest_briefs output) are opt-in: ?kind=clip lists just them, ?kind=all lists everything. Any other kind value is a 400, never silently empty.
Get a checkpoint packet GET
The full approval packet: the stage artifact under review, presigned storyboard/eval stills, critic verdicts (incl. lock_violation entries), the money triple {thisStep, jobSpendSoFar, estimatedJourneyTotal}, and the recorded decision once resolved. Answer an `awaiting` packet with POST /v1/checkpoints/{id}/resume.