---
title: "Post Canvas Intent"
method: POST
path: "/api/agent-chat/workflows/{workflow_id}/canvas-intent"
tags: ["AgentChat"]
---

# Post Canvas Intent

`POST /api/agent-chat/workflows/{workflow_id}/canvas-intent`

## Request

- Base URL: `https://api.qomplement.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.qomplement.com/api/agent-chat/workflows/{workflow_id}/canvas-intent`
- Auth: HTTP bearer

Forward a canvas gesture to the Kirbi Manager Agent.

The agent receives the intent as a coordinator-tagged run; it has access
to ``get_workflow_state`` and ``update_workflow`` tools so it can decide
whether/how to mutate the workflow. The frontend listens on the existing
``/workflows/{id}/events/stream`` SSE channel for ``workflow_updated``
events to refresh the canvas.

Returns the runtime's run id so the caller can subscribe to its stream
via ``GET /api/agent-chat/runs/{run_id}/stream``.

## Path parameters

- `workflow_id` string, required

## Request body

- CanvasIntentRequest: A structured gesture captured on the workflow canvas. ``kind`` is one of the keys in ``_INTENT_NL_TEMPLATES`` (e.g. ``move_connector``, ``reorder_nodes``, ``delete_node``). ``payload`` is a kind-specific dict that the template substitutes into a natural-language instruction for the Kirbi Manager Agent. Frontends MAY pass new ``kind`` values that the backend does not yet template — the fallback path will still forward the raw payload so the agent can reason about it.
  - `kind` string, required
  - `payload` object
  - `user_facing_summary` string, nullable
  - `model` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-09** `6fe617c112ef`: 1 info
  - endpoint added
- **2026-08-29** `7a7c8e2b5afc`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/qomplement/apis/qomplement-api/changes/api/agent-chat/workflows/:workflow_id/canvas-intent/post.md)

---

[API](https://skmtc.dev/qomplement/apis/qomplement-api.md) - [All operations](https://skmtc.dev/qomplement/apis/qomplement-api/llms.txt) - [OpenAPI document](https://skmtc.dev/qomplement/apis/qomplement-api/revisions/6fe617c112ef?raw)
