Publish the draft as an immutable snapshot
Freezes the draft and points the bot at it, including channelSettings. Required before the bot can be dispatched. Returns 400 `BOT_CONFIG_INCOMPLETE` with `missingFields` when the draft is not publishable — when `remarksLlmModelId` is among them, `details.hint` names the endpoint the id comes from. Procedure problems come back as 400 `BOT_CONFIG_PROCEDURES_INVALID` with `details.blockers`; a SUCCESSFUL publish may still carry `procedureWarnings` — read them. They include procedure findings and also chat prompt warnings, Terminarz/booking warnings (including WEB_CHAT_BOOKING_WIDGET_MISSING and WEB_CHAT_BOOKING_SMS_MISSING) and AI_DISCLOSURE_NOT_FOUND. None of those block the publish. Required scope: `bots.write`.
/bots/{botId}/config/publishAuthorization
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 POST "https://example.com/bots/497f6eca-6276-4993-bfeb-53cbbbba6f08/config/publish" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "version": 0, "label": "string", "publishedAt": "2019-08-24T14:15:22Z" }, "procedureWarnings": [ { "code": "string", "message": "string", "procedureId": "28174986-2e37-4c21-b950-e76202a18675", "path": "string" } ]}Edit the draft configuration PATCH
Send `expectedUpdatedAt` (the `updatedAt` you last read) for optimistic concurrency; a mismatch returns 409 with the authoritative config unless `forceOverwrite` is set. Editing the draft does NOT affect live calls until you publish. The bot’s models are configured by Mediflo and are not part of this body; a model change from a key without a Mediflo staff member’s authority is refused with 403 `BOT_MODEL_CONFIG_STAFF_ONLY`. Required scope: `bots.write`.
Roll back to a published snapshot POST
Restores the snapshot onto the live bot and re-points the active snapshot at it — no follow-up publish needed. Conversation workflows are NOT rolled back (they are never snapshotted), but a workflow node’s `skillRef` resolves against the snapshot that is now current — so a SUCCESSFUL rollback may carry `skillRefWarnings` naming pins this older snapshot cannot serve. Those steps run without their playbook until you publish again or unpin them. Required scope: `bots.write`.