mattermost/api/v4/source/uploads.yaml

130 lines
3.8 KiB
YAML
Raw Normal View History

"/api/v4/uploads":
post:
tags:
- uploads
summary: Create an upload
description: >
Creates a new upload session.
__Minimum server version__: 5.28
##### Permissions
Must have `upload_file` permission.
operationId: CreateUpload
requestBody:
content:
application/json:
schema:
type: object
required:
- channel_id
- filename
- file_size
properties:
channel_id:
description: The ID of the channel to upload to.
type: string
filename:
description: The name of the file to upload.
type: string
file_size:
description: The size of the file to upload in bytes.
type: integer
format: int64
required: true
responses:
"201":
description: Upload creation successful.
content:
application/json:
schema:
$ref: "#/components/schemas/UploadSession"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"413":
$ref: "#/components/responses/TooLarge"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/uploads/{upload_id}":
get:
tags:
- uploads
summary: Get an upload session
description: |
Gets an upload session that has been previously created.
##### Permissions
Must be logged in as the user who created the upload session.
operationId: GetUpload
parameters:
- name: upload_id
in: path
description: The ID of the upload session to get.
required: true
schema:
type: string
responses:
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
post:
tags:
- uploads
summary: Perform a file upload
description: |
Starts or resumes a file upload.
To resume an existing (incomplete) upload, data should be sent starting from the offset specified in the upload session object.
The request body can be in one of two formats:
- Binary file content streamed in request's body
- multipart/form-data
##### Permissions
Must be logged in as the user who created the upload session.
operationId: UploadData
parameters:
- name: upload_id
in: path
description: The ID of the upload session the data belongs to.
required: true
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
responses:
"201":
description: Upload successful
content:
application/json:
schema:
$ref: "#/components/schemas/FileInfo"
"204":
description: Upload incomplete
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"413":
$ref: "#/components/responses/TooLarge"
"501":
$ref: "#/components/responses/NotImplemented"