Moves an asset to the trash, as deleting it in the web app does: it leaves the library and every session, and GET /assets/{assetId} returns not_found. It is permanently deleted 30 days later (purgeAfter); until then PATCH with trashed: false restores it. A session whose chosen image was this asset goes back to following its newest generation. Trashing an already-trashed asset is a no-op. To take an asset out of one session only, use DELETE /sessions/{sessionId}/assets. Free.
Authorization
bearerAuth assets:writeIn: header
Scope: assets:write
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/assets/string"{ "id": "string", "type": "image", "name": "string", "url": "http://example.com", "thumbnailUrl": "http://example.com", "preview": { "url": "http://example.com", "width": 0, "height": 0, "mimeType": "string" }, "width": 0, "height": 0, "duration": 0, "mimeType": "string", "source": "string", "sourceProcessId": "string", "trainingId": "string", "draft": { "finishableUntil": "2019-08-24T14:15:22Z" }, "favorite": true, "sessionId": "string", "createdAt": "2019-08-24T14:15:22Z", "links": { "self": "string" }, "trashed": true, "purgeAfter": "2019-08-24T14:15:22Z"}{ "error": { "code": "string", "message": "string", "requestId": "string" }}{ "error": { "code": "string", "message": "string", "requestId": "string" }}{ "error": { "code": "string", "message": "string", "requestId": "string" }}{ "error": { "code": "string", "message": "string", "requestId": "string" }}{ "error": { "code": "string", "message": "string", "requestId": "string" }}Run canvas cards POST
Runs generation cards (image-gen, video-gen, text-gen) in wiring order and charges team credits as each card starts. A card starts once the cards feeding it have finished and reads their selected output; a card fed by one that is still generating waits for it. scope selection (default) runs exactly nodeIds; downstream also runs every card they feed. Omit nodeIds to run every generation card. Each card gets a new version that holds this run's settings, so editing a card while it waits does not change what it makes. The run continues on the server with no client connected; poll GET /canvas/runs/{runId}. dryRun: true quotes the run (creditsEstimated per card and canStart) without starting or charging anything. The balance must cover the estimate up front (insufficient_credits otherwise); LLM cards on an included model draw from Included Agent Usage first. Always send an Idempotency-Key on real runs. Uses the processes:write scope.
Favorite or restore an asset PATCH
Sets an asset's favorite flag, or restores it from the trash with trashed: false (trashed: true trashes it, like DELETE). Send only the fields to change; unknown fields are rejected. A trashed asset returns not_found unless the request sets trashed. Free.