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]>
395 lines
12 KiB
YAML
395 lines
12 KiB
YAML
/v1/team/commands:
|
|
post:
|
|
tags:
|
|
- commands
|
|
summary: Create a command
|
|
description: |
|
|
Create a command for a team.
|
|
##### Permissions
|
|
`manage_slash_commands` for the team the command is in.
|
|
operationId: CreateCommand
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- team_id
|
|
- method
|
|
- trigger
|
|
- url
|
|
properties:
|
|
team_id:
|
|
type: string
|
|
description: Team ID to where the command should be created
|
|
method:
|
|
type: string
|
|
description: "`'P'` for post request, `'G'` for get request"
|
|
trigger:
|
|
type: string
|
|
description: Activation word to trigger the command
|
|
url:
|
|
type: string
|
|
description: The URL that the command will make the request
|
|
description: command to be created
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: Command creation successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Command"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
get:
|
|
tags:
|
|
- commands
|
|
summary: List commands for a team
|
|
description: |
|
|
List commands for a team.
|
|
##### Permissions
|
|
`manage_slash_commands` if need list custom commands.
|
|
operationId: ListCommands
|
|
parameters:
|
|
- name: team_id
|
|
in: query
|
|
description: The team id.
|
|
schema:
|
|
type: string
|
|
- name: custom_only
|
|
in: query
|
|
description: >
|
|
To get only the custom commands. If set to false will get the custom
|
|
|
|
if the user have access plus the system commands, otherwise just the system commands.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: List Commands retrieve successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Command"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
"/v1/team/teams/{team_id}/commands/autocomplete":
|
|
get:
|
|
tags:
|
|
- commands
|
|
summary: List autocomplete commands
|
|
description: |
|
|
List autocomplete commands in the team.
|
|
##### Permissions
|
|
`view_team` for the team.
|
|
operationId: ListAutocompleteCommands
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Autocomplete commands retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Command"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/teams/{team_id}/commands/autocomplete_suggestions":
|
|
get:
|
|
tags:
|
|
- commands
|
|
summary: List commands' autocomplete data
|
|
description: |
|
|
List commands' autocomplete data for the team.
|
|
##### Permissions
|
|
`view_team` for the team.
|
|
__Minimum server version__: 5.24
|
|
operationId: ListCommandAutocompleteSuggestions
|
|
parameters:
|
|
- name: team_id
|
|
in: path
|
|
description: Team GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user_input
|
|
in: query
|
|
description: String inputted by the user.
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Commands' autocomplete data retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/AutocompleteSuggestion"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"/v1/team/commands/{command_id}":
|
|
get:
|
|
tags:
|
|
- commands
|
|
summary: Get a command
|
|
description: >
|
|
Get a command definition based on command id string.
|
|
|
|
##### Permissions
|
|
|
|
Must have `manage_slash_commands` permission for the team the command is in.
|
|
|
|
|
|
__Minimum server version__: 5.22
|
|
operationId: GetCommandById
|
|
parameters:
|
|
- in: path
|
|
name: command_id
|
|
description: ID of the command to get
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Command get successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Command"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
put:
|
|
tags:
|
|
- commands
|
|
summary: Update a command
|
|
description: >
|
|
Update a single command based on command id string and Command struct.
|
|
|
|
##### Permissions
|
|
|
|
Must have `manage_slash_commands` permission for the team the command is in.
|
|
operationId: UpdateCommand
|
|
parameters:
|
|
- in: path
|
|
name: command_id
|
|
description: ID of the command to update
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Command"
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Command updated successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Command"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
delete:
|
|
tags:
|
|
- commands
|
|
summary: Delete a command
|
|
description: >
|
|
Delete a command based on command id string.
|
|
|
|
##### Permissions
|
|
|
|
Must have `manage_slash_commands` permission for the team the command is in.
|
|
operationId: DeleteCommand
|
|
parameters:
|
|
- in: path
|
|
name: command_id
|
|
description: ID of the command to delete
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Command 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"
|
|
"/v1/team/commands/{command_id}/move":
|
|
put:
|
|
tags:
|
|
- commands
|
|
summary: Move a command
|
|
description: >
|
|
Move a command to a different team based on command id string.
|
|
|
|
##### Permissions
|
|
|
|
Must have `manage_slash_commands` permission for the team the command is currently in and the destination team.
|
|
|
|
|
|
__Minimum server version__: 5.22
|
|
operationId: MoveCommand
|
|
parameters:
|
|
- in: path
|
|
name: command_id
|
|
description: ID of the command to move
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
team_id:
|
|
type: string
|
|
description: Destination teamId
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Command move 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"
|
|
"/v1/team/commands/{command_id}/regen_token":
|
|
put:
|
|
tags:
|
|
- commands
|
|
summary: Generate a new token
|
|
description: >
|
|
Generate a new token for the command based on command id string.
|
|
|
|
##### Permissions
|
|
|
|
Must have `manage_slash_commands` permission for the team the command is in.
|
|
operationId: RegenCommandToken
|
|
parameters:
|
|
- in: path
|
|
name: command_id
|
|
description: ID of the command to generate the new token
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Token generation successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
token:
|
|
description: The new token
|
|
type: string
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
/v1/team/commands/execute:
|
|
post:
|
|
tags:
|
|
- commands
|
|
summary: Execute a command
|
|
description: >
|
|
Execute a command on a team.
|
|
|
|
##### Permissions
|
|
|
|
Must have `use_slash_commands` permission for the team the command is in.
|
|
operationId: ExecuteCommand
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- channel_id
|
|
- command
|
|
properties:
|
|
channel_id:
|
|
type: string
|
|
description: Channel Id where the command will execute
|
|
command:
|
|
type: string
|
|
description: "The slash command to execute, including parameters. Eg, `'/echo bounces around the room'`"
|
|
description: command to be executed
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Command execution successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/CommandResponse"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|