Edit a procedure
Only the fields you send are touched, but the WHOLE procedure is re-validated, so a rename cannot leave a body that breaks its tier’s rules. `type` cannot be changed — the content shape depends on it; delete and re-create instead. `enabled: false` is the one change that takes effect WITHOUT a publish: it is checked live at dispatch, even against an already-published snapshot. Required scope: `bots.write`.
/bot-procedures/{procedureId}Authorization
ApiKeyAuth An external API key, sent as Authorization: Bearer mflo_…. Scopes are checked per route; see each operation’s description.
In: header
Path Parameters
uuidRequest 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
curl -X PATCH "https://example.com/bot-procedures/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "botId": "58ed41f0-04bf-402f-9853-7143ef7dd5ce", "name": "string", "type": "FREE_FORM", "trigger": "string", "content": null, "position": 0, "enabled": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }}List a bot’s procedures GET
A procedure is one of two things. FREE_FORM is a playbook the model reaches for MID-CALL when its `trigger` matches what the caller raised — the trigger is the only part the model ever sees, and the body is injected as a framed tool result; it steers behaviour and grants no new capability. DETERMINISTIC is an ordered flow compiled into the call itself at publish, reachable only as the bot’s entry flow or via `sub_procedure`. `content` ships in full here, so one call reads the whole set. Required scope: `bots.read`.
Reorder a bot’s procedures POST
Pass EVERY non-deleted procedure id exactly once. A partial list is refused rather than merged: position also drives the node ids of the compiled call flow, so a duplicate position is a compile-level ambiguity. Order does not decide which free-form procedure the model reaches for — the trigger does. Required scope: `bots.write`.