mirror of
https://github.com/hanzoai/team.git
synced 2026-09-30 01:57:35 +00:00
The OpenAPI document keys every operation by its full path, so the spec described endpoints that no longer exist the moment the server moved. The openApiSync analyzer cross-checks each registered subrouter against that document and reconstructs the prefix from a literal of its own, so spec and analyzer have to move together or every route reports as missing. Its special case for the v5 root goes away with the root itself. The api/v4 directory keeps its name: it is where the spec sources live, not a URL anyone requests. Co-authored-by: Hanzo Dev <[email protected]>
337 lines
9.3 KiB
YAML
337 lines
9.3 KiB
YAML
/v1/team/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:
|
|
- display_name
|
|
- scope
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The name of the scheme
|
|
display_name:
|
|
type: string
|
|
description: The display 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"
|
|
"/v1/team/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"
|
|
"/v1/team/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"
|
|
"/v1/team/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"
|
|
"/v1/team/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"
|