Update a bot
Also binds an outbound phone number via `phoneNumberId` (which adds VOICE_OUTBOUND to `channels`). The number must already exist and be connected to a trunk — provisioning is not part of this API. Removing a channel that is still in use (website-chat binding, a number routing calls to the bot, the caller-ID number) is refused with 409 BOT_CHANNEL_IN_USE. `locationId: null` — or an empty string, which is treated the same, as for `phoneNumberId` — clears the location; any other value must be a location uuid. A bot running on a Mediflo template must keep one, so clearing it is refused with 409 BOT_INSTANCE_LOCATION_REQUIRED. Required scope: `bots.write`.
/bots/{botId}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
curl -X PATCH "https://example.com/bots/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "isActive": true, "priority": 0, "maxConcurrentCalls": 0, "country": "string", "channels": [ "WEB_CHAT" ], "locationId": "1a5515a3-ba81-4a42-aee7-ad9ffc090a54", "location": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" }, "phoneNumberId": "8e9ce3fb-4d22-4fe3-baa7-b7892dd942d7", "phoneNumber": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "phoneNumber": "string" }, "currentConfigSnapshotId": "c9e4146c-56e5-412d-a7c1-86311b72b35e", "operatingHours": [ { "dayOfWeek": 0, "startTime": "string", "endTime": "string" } ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }}List bots GET
Required scope: `bots.read`.
Create a bot POST
`locationId` is optional: omit it (or send null or an empty string) for a bot that is not tied to one location; to tie it to one, create the location via POST /locations first. `channels` defaults to the channels available to your organization (website chat and/or phone; phone when neither is set up). There is no DELETE for bots by design: they are hard-deleted, so removal stays in the Portal. Required scope: `bots.write`.