Mediflo
REST APIBot configuration

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`.

POST/bots/{botId}/config/publish

Authorization

ApiKeyAuth
AuthorizationBearer <token>

An external API key, sent as Authorization: Bearer mflo_…. Scopes are checked per route; see each operation’s description.

In: header

Path Parameters

botId*string
Formatuuid

Request 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"    }  ]}