Create expert suite. POST /api/openapi/v1/expert-suites, scope admin.v1.expert-suites.manage.
- Scope: admin.v1.expert-suites.manage
- Permission: Manage plugins (expert-suites)
- Permission type: Manage
- Endpoint: POST/api/openapi/v1/expert-suites
Authentication and request headers
Call with an application API key. This endpoint checks only the scope above; read, manage and execute permissions do not imply one another.
| Name | Location | Type | Required | Description | Example |
|---|---|---|---|---|---|
| Authorization | header | string | Yes | Application API key, passed as a Bearer token. | Bearer qwk_*** |
| X-Request-Id | header | string | No | Optional request tracing identifier; generated by the server if omitted. | req-20260831-001 |
Request parameters
| Name | Location | Type | Required | Description | Example |
|---|---|---|---|---|---|
| Idempotency-Key | header | string | Required | Idempotency key used to prevent duplicate submissions | "<string>" |
| category_id | body | string · uuid | No | Category (category ID) | "<uuid>" |
| clients | body | array | null | No | Supported clients | ["<string>"] |
| command_count | body | integer · int64 | No | Command count | 0 |
| connector_refs | body | array | null | No | Connector references | [{"connector_id":"<string>","connector_origin":"<string>","required":false}] |
| description | body | string | No | Description (English) | "<string>" |
| description_cn | body | string | No | Description | "<string>" |
| display_name | body | string | No | Expert suite name (English) | "<string>" |
| display_name_cn | body | string | No | Expert suite name | "<string>" |
| icon_upload_id | body | string · uuid | No | Resource icon (upload session ID) | "<uuid>" |
| icon_url | body | string · uri | No | Resource icon (URL) | "<string>" |
| name | body | string | Required | Unique identifier | "<string>" |
| skill_count | body | integer · int64 | No | Skill count | 0 |
| status | body | string | No | Enabled | "draft" |
| upload_id | body | string · uuid | No | Resource package (ZIP) upload session ID | "<uuid>" |
| version | body | string | No | Version | "<string>" |
Request example
cURL
Responses
201 Created
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
| clients | array | null | Yes | Supported clients | ["<string>"] |
| command_count | integer · int64 | Yes | Command count | 0 |
| commands | array | null | Yes | Command | [{}] |
| connector_count | integer · int64 | Yes | Connector count | 0 |
| connector_refs | array | null | Yes | Connector references | [{"connector_id":"<string>","connector_origin":"<string>","required":false}] |
| connectors | array | null | Yes | Connectors | [{}] |
| created_at | string · date-time | Yes | Created at | "2026-08-27T10:00:00Z" |
| description | string | Yes | Description (English) | "<string>" |
| description_cn | string | No | Description | "<string>" |
| display_name | string | No | Expert suite name (English) | "<string>" |
| display_name_cn | string | No | Expert suite name | "<string>" |
| has_package | boolean | Yes | Whether a resource package has been uploaded | false |
| icon_url | string | No | Resource icon (URL) | "<string>" |
| id | string | Yes | Expert suite ID | "<string>" |
| name | string | Yes | Unique identifier | "<string>" |
| origin | string | Yes | Origin | "<string>" |
| readme_content | string | No | Details content | "<string>" |
| readme_content_cn | string | No | Details content (Chinese) | "<string>" |
| revision | integer · int64 | Yes | Revision used for concurrent update checks | 0 |
| skill_count | integer · int64 | Yes | Skill count | 0 |
| skills | array | null | Yes | Skills | [{}] |
| source_type | string | No | Source type | "official" |
| status | string | Yes | Enabled | "<string>" |
| updated_at | string · date-time | Yes | Updated at | "2026-08-27T10:00:00Z" |
| version | string | No | Version | "<string>" |
default Flat business error
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
| code | string | No | Stable business error code | "<string>" |
| detail | string | Yes | Human-readable error description | "<string>" |
| details | OpenapiErrorDetails | No | Error details | {"field":"<string>","reason":"<string>","suggestion":"<string>"} |
| details.field | string | No | Request field that failed validation | "<string>" |
| details.reason | string | No | Stable validation failure reason | "<string>" |
| details.suggestion | string | No | Suggested normalized value | "<string>" |
| error | string | Yes | Stable HTTP error type | "<string>" |