mattermost/api/v4/source/bots.yaml

473 lines
13 KiB
YAML

/api/v4/bots:
post:
tags:
- bots
summary: Create a bot
description: |
Create a new bot account on the system. Username is required.
##### Permissions
Must have `create_bot` permission.
__Minimum server version__: 5.10
operationId: CreateBot
requestBody:
description: Bot to be created
required: true
content:
application/json:
schema:
type: object
required:
- username
properties:
username:
type: string
display_name:
type: string
description:
type: string
responses:
"201":
description: Bot creation successful
content:
application/json:
schema:
$ref: "#/components/schemas/Bot"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
get:
tags:
- bots
summary: Get bots
description: >
Get a page of a list of bots.
##### Permissions
Must have `read_bots` permission for bots you are managing, and `read_others_bots` permission for bots others are managing.
__Minimum server version__: 5.10
operationId: GetBots
parameters:
- name: page
in: query
description: The page to select.
schema:
type: integer
default: 0
- name: per_page
in: query
description: The number of users per page.
schema:
type: integer
default: 60
- name: include_deleted
in: query
description: If deleted bots should be returned.
schema:
type: boolean
- name: only_orphaned
in: query
description: When true, only orphaned bots will be returned. A bot is considered
orphaned if its owner has been deactivated.
schema:
type: boolean
responses:
"200":
description: Bot page retrieval successful
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Bot"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}":
put:
tags:
- bots
summary: Patch a bot
description: >
Partially update a bot by providing only the fields you want to update.
Omitted fields will not be updated. The fields that can be updated are
defined in the request body, all other provided fields will be ignored.
##### Permissions
Must have `manage_bots` permission.
__Minimum server version__: 5.10
operationId: PatchBot
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
requestBody:
description: Bot to be created
required: true
content:
application/json:
schema:
type: object
required:
- username
properties:
username:
type: string
display_name:
type: string
description:
type: string
responses:
"200":
description: Bot patch successful
content:
application/json:
schema:
$ref: "#/components/schemas/Bot"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
get:
tags:
- bots
summary: Get a bot
description: >
Get a bot specified by its bot id.
##### Permissions
Must have `read_bots` permission for bots you are managing, and `read_others_bots` permission for bots others are managing.
__Minimum server version__: 5.10
operationId: GetBot
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
- name: include_deleted
in: query
description: If deleted bots should be returned.
schema:
type: boolean
responses:
"200":
description: Bot successfully retrieved.
content:
application/json:
schema:
$ref: "#/components/schemas/Bot"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/disable":
post:
tags:
- bots
summary: Disable a bot
description: |
Disable a bot.
##### Permissions
Must have `manage_bots` permission.
__Minimum server version__: 5.10
operationId: DisableBot
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
responses:
"200":
description: Bot successfully disabled.
content:
application/json:
schema:
$ref: "#/components/schemas/Bot"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/enable":
post:
tags:
- bots
summary: Enable a bot
description: |
Enable a bot.
##### Permissions
Must have `manage_bots` permission.
__Minimum server version__: 5.10
operationId: EnableBot
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
responses:
"200":
description: Bot successfully enabled.
content:
application/json:
schema:
$ref: "#/components/schemas/Bot"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/assign/{user_id}":
post:
tags:
- bots
summary: Assign a bot to a user
description: |
Assign a bot to a specified user.
##### Permissions
Must have `manage_bots` permission.
__Minimum server version__: 5.10
operationId: AssignBot
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
- name: user_id
in: path
description: The user ID to assign the bot to.
required: true
schema:
type: string
responses:
"200":
description: Bot successfully assigned.
content:
application/json:
schema:
$ref: "#/components/schemas/Bot"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"/api/v4/bots/{bot_user_id}/icon":
get:
tags:
- bots
summary: Get bot's LHS icon
description: |
Get a bot's LHS icon image based on bot_user_id string parameter.
##### Permissions
Must be logged in.
__Minimum server version__: 5.14
operationId: GetBotIconImage
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
responses:
"200":
description: Bot's LHS icon image
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
post:
tags:
- bots
summary: Set bot's LHS icon image
description: >
Set a bot's LHS icon image based on bot_user_id string parameter. Icon
image must be SVG format, all other formats are rejected.
##### Permissions
Must have `manage_bots` permission.
__Minimum server version__: 5.14
operationId: SetBotIconImage
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
image:
description: SVG icon image to be uploaded
type: string
format: binary
required:
- image
responses:
"200":
description: SVG icon image set successful
content:
application/json:
schema:
$ref: "#/components/schemas/StatusOK"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"413":
$ref: "#/components/responses/TooLarge"
"500":
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
delete:
tags:
- bots
summary: Delete bot's LHS icon image
description: |
Delete bot's LHS icon image based on bot_user_id string parameter.
##### Permissions
Must have `manage_bots` permission.
__Minimum server version__: 5.14
operationId: DeleteBotIconImage
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
responses:
"200":
description: Icon image deletion successful
content:
application/json:
schema:
$ref: "#/components/schemas/StatusOK"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/bots/{bot_user_id}/convert_to_user":
post:
tags:
- bots
- users
summary: Convert a bot into a user
description: |
Convert a bot into a user.
__Minimum server version__: 5.26
##### Permissions
Must have `manage_system` permission.
operationId: ConvertBotToUser
parameters:
- name: bot_user_id
in: path
description: Bot user ID
required: true
schema:
type: string
- name: set_system_admin
in: query
description: Whether to give the user the system admin role.
schema:
type: boolean
default: false
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
type: string
username:
type: string
password:
type: string
first_name:
type: string
last_name:
type: string
nickname:
type: string
locale:
type: string
position:
type: string
props:
type: object
notify_props:
$ref: "#/components/schemas/UserNotifyProps"
description: Data to be used in the user creation
required: true
responses:
"200":
description: Bot successfully converted
content:
application/json:
schema:
$ref: "#/components/schemas/StatusOK"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"