Update asset
update_assetUpdate an asset's editable metadata: title, description, tags (replaces existing), status, custom field values, or move it to a different board. Only the fields you pass are changed — omit a field to leave it as-is. fields is where custom field VALUES are set; call list_custom_fields first for the exact spelling.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Full set of manual tags to apply (replaces existing) | |
| title | No | New title | |
| token | Yes | Asset token | |
| fields | No | Custom field values, keyed by field name: { "Priority": "High" }. For an option field, both the field name and the value must match an existing field and one of its options EXACTLY (see list_custom_fields) — one that does not exist comes back as an error naming the valid fields or options, while the rest of the update is still saved. The built-in Status field is set with `status`, not here. Typed fields take a plain string instead: a date field an ISO date (YYYY-MM-DD), a person field a member token (from list_members), a url field an http(s) URL; "" clears a typed field, and an unparseable value fails the whole update. list_custom_fields gives each field's `field_type` and exact name. Each supplied value REPLACES the asset's previous value for that field; custom fields omitted from the map remain unchanged. A value written on a group also applies to its members. | |
| status | No | Status label | |
| description | No | New description | |
| ai_generated | No | Mark the asset as produced by an AI tool. Prefer setting this when you CREATE the asset: on uploads that go through upload_prepare/upload_complete it also suppresses automatic duplicate merging and grouping, and that runs once the upload finishes — setting it later records the marker but cannot undo a merge. | |
| organization | No | Workspace slug, as returned by list_organizations. Omit it when the account has a single workspace — it is then resolved from your token. Pass it only when the account has several, or when you mean a workspace other than the obvious one. | |
| ai_agent_payload | No | Free-form JSON metadata stored with the asset — for example generation settings such as model and seed, or a source job id. Playbook never interprets it. Max 4096 BYTES of serialised JSON; anything larger is REJECTED, never truncated. A write REPLACES the whole object, so read the asset first if you mean to keep existing keys. You can read it back per asset (get_asset, or list/search with get_ai_payload=true) but you CANNOT search or filter on it — do not try to find assets by payload contents. | |
| collection_token | No | Board token to move the asset to |