Files
mattermost/api/v4/source/schemes.yaml
Jesse Hallam 885802eae7 Updated API Code Samples (#24141)
* api: remove PHP code samples

* api: remove Curl code samples

* api: remove Go code samples

* link out to marketplace exclusively for community-built drivers

* absolute path to V4_SRC

* programmatically extract x-codeSamples

* initial batch of examples

* Update api/server/main.go

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

* Update api/server/main.go

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

* Update api/server/main.go

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

* updated examples

---------

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
2023-08-03 12:45:10 -03:00

334 lines
9.2 KiB
YAML

/api/v4/schemes:
get:
tags:
- schemes
summary: Get the schemes.
description: >
Get a page of schemes. Use the query parameters to modify the behaviour
of this endpoint.
##### Permissions
Must have `manage_system` permission.
__Minimum server version__: 5.0
operationId: GetSchemes
parameters:
- name: scope
in: query
description: Limit the results returned to the provided scope, either `team` or
`channel`.
schema:
type: string
default: ""
- name: page
in: query
description: The page to select.
schema:
type: integer
default: 0
- name: per_page
in: query
description: The number of schemes per page.
schema:
type: integer
default: 60
responses:
"200":
description: Scheme list retrieval successful
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Scheme"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
post:
tags:
- schemes
summary: Create a scheme
description: |
Create a new scheme.
##### Permissions
Must have `manage_system` permission.
__Minimum server version__: 5.0
operationId: CreateScheme
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- scope
properties:
name:
type: string
description: The name of the scheme
description:
type: string
description: The description of the scheme
scope:
type: string
description: The scope of the scheme ("team" or "channel")
description: Scheme object to create
required: true
responses:
"201":
description: Scheme creation successful
content:
application/json:
schema:
$ref: "#/components/schemas/Scheme"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/schemes/{scheme_id}":
get:
tags:
- schemes
summary: Get a scheme
description: |
Get a scheme from the provided scheme id.
##### Permissions
Must have `manage_system` permission.
__Minimum server version__: 5.0
operationId: GetScheme
parameters:
- name: scheme_id
in: path
description: Scheme GUID
required: true
schema:
type: string
responses:
"200":
description: Scheme retrieval successful
content:
application/json:
schema:
$ref: "#/components/schemas/Scheme"
"401":
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"501":
$ref: "#/components/responses/NotImplemented"
delete:
tags:
- schemes
summary: Delete a scheme
description: |
Soft deletes a scheme, by marking the scheme as deleted in the database.
##### Permissions
Must have `manage_system` permission.
__Minimum server version__: 5.0
operationId: DeleteScheme
parameters:
- name: scheme_id
in: path
description: ID of the scheme to delete
required: true
schema:
type: string
responses:
"200":
description: Scheme 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"
"501":
$ref: "#/components/responses/NotImplemented"
"/api/v4/schemes/{scheme_id}/patch":
put:
tags:
- schemes
summary: Patch a scheme
description: >
Partially update a scheme 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
`manage_system` permission is required.
__Minimum server version__: 5.0
operationId: PatchScheme
parameters:
- name: scheme_id
in: path
description: Scheme GUID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The human readable name of the scheme
description:
type: string
description: The description of the scheme
description: Scheme object to be updated
required: true
responses:
"200":
description: Scheme patch successful
content:
application/json:
schema:
$ref: "#/components/schemas/Scheme"
"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"
"/api/v4/schemes/{scheme_id}/teams":
get:
tags:
- schemes
summary: Get a page of teams which use this scheme.
description: >
Get a page of teams which use this scheme. The provided Scheme ID should
be for a Team-scoped Scheme.
Use the query parameters to modify the behaviour of this endpoint.
##### Permissions
`manage_system` permission is required.
__Minimum server version__: 5.0
operationId: GetTeamsForScheme
parameters:
- name: scheme_id
in: path
description: Scheme GUID
required: true
schema:
type: string
- name: page
in: query
description: The page to select.
schema:
type: integer
default: 0
- name: per_page
in: query
description: The number of teams per page.
schema:
type: integer
default: 60
responses:
"200":
description: Team list retrieval successful
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Team"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"/api/v4/schemes/{scheme_id}/channels":
get:
tags:
- schemes
summary: Get a page of channels which use this scheme.
description: >
Get a page of channels which use this scheme. The provided Scheme ID
should be for a Channel-scoped Scheme.
Use the query parameters to modify the behaviour of this endpoint.
##### Permissions
`manage_system` permission is required.
__Minimum server version__: 5.0
operationId: GetChannelsForScheme
parameters:
- name: scheme_id
in: path
description: Scheme GUID
required: true
schema:
type: string
- name: page
in: query
description: The page to select.
schema:
type: integer
default: 0
- name: per_page
in: query
description: The number of channels per page.
schema:
type: integer
default: 60
responses:
"200":
description: Channel list retrieval successful
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Channel"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"