# 获取市场服务

`GET` `/api/agent/finx/listMarketServices`

查询指定智能体可见的全部市场/全局服务，不会按启用状态过滤。agentId 必填，enabled 始终表示该智能体是否实际启用服务，与 listServices 完全一致，按白名单、黑名单、服务默认值和授权状态计算。categoryId 可选：传入则仅返回归属该分类的服务，不传则返回全部市场服务。hasAuth 反映当前用户在该智能体下是否已授权，principalId 由当前登录身份自动注入。返回每项服务含 categories（所属分类）、groups（供应商分组）两组标签及完整的 authRequired/hasAuth 授权状态。注意：本接口列表范围始终仅为市场服务，不包含该智能体的专属服务；查询某智能体全部可用服务请用 listServices。

## 请求参数

### Query 参数

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| agentId | integer | 是 | 智能体ID，必填。用于计算实际 enabled 和 hasAuth，不影响列表范围（始终仅返回市场服务） |
| categoryId | integer | 否 | 分类ID，可选。传入时仅返回归属该分类的市场服务 |

## 响应

### 200

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | array | 响应数据 |
|     id | integer | - |
|     name | string | - |
|     displayName | string | - |
|     logoUrl | string | - |
|     description | string | - |
|     type | string | - |
|     enabled | boolean | - |
|     toolCount | integer | - |
|     createdAt | string | - |
|     updatedAt | string | - |
|     authRequired | boolean | - |
|     hasAuth | boolean | - |
|     categories | array | - |
|         id | integer | - |
|         name | string | - |
|     groups | array | - |
|         id | integer | - |
|         name | string | - |
|     system | boolean | - |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 400

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 500

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

