# 创建 Session - CreateCoreSpaceSession
#### 功能介绍
该接口用于在指定 Space 中创建新的会话（Session），在需要为用户与 AI 助手建立新的对话上下文、承载消息交互和记忆提取时使用。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-agentarts/agentarts_07_0003.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-agentarts/Permission.html)。
| 授权项                                          | 访问级别  | 资源类型（\*为必须）    | 条件键                       | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| agentarts:memorySpace:createCoreSpaceSession | Write | memorySpace \* | g:ResourceTag/\<tag-key\> | -  | -      |
| agentarts:memorySpace:createCoreSpaceSession | Write | -              | agentarts:MemoryActorId   | -  | -      |
   
#### URI
POST /v1/core/spaces/{space_id}/sessions
表1路径参数 
| 参数       | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| space_id | 是    | String | **参数解释：** Space ID是记忆空间的唯一标识，可通过"创建Space"获取。 **约束限制：** 不涉及。 **取值范围：** UUID格式。示例：123e4567-e89b-12d3-a456-426614174001。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数                  | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| id                  | 否    | String  | **参数解释：** Session ID，如果为空则服务生成ID，如果非空则以此ID创建session（若冲突报错）。 **约束限制：** 同一space下不可重复。 **取值范围：** 由字母、数字、连字符（-）、下划线（_）或点号（.）组成的字符串，长度0-64字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| actor_id            | 否    | String  | **参数解释：** 归属 Actor ID，用于标识对话参与者，提取长期记忆时用于标记会话归属。 **约束限制：** 不涉及。 **取值范围：** 长度1-64字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| assistant_id        | 否    | String  | **参数解释：** 归属 Assistant ID，用于标识 AI 助手。 **约束限制：** 不涉及。 **取值范围：** 长度1-64字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| enable_session_auth | 否    | Boolean | **参数解释：** 是否启用 Session 权限隔离。启用后，响应中会携带api_key，该 API Key 可访问的数据范围为： - 对当前 Session 的消息进行新增和查询；   - 查询当前Session详情；   - 查询当前Session关联的记忆，如果指定了actor_id，assistant_id 字段，可查询相关的 actor_id，assistant_id 关联的长期记忆；    **约束限制：** 不涉及。 **取值范围：** - true: 表示启用 Session 权限隔离   - false: 表示不启用 Session 权限隔离    **默认取值：** false。 |
| meta                | 否    | Object  | **参数解释：** 扩展元数据，用于存储自定义的附加信息，如标题、标签等。 **约束限制：** 不涉及。 **取值范围：** 自定义json格式，示例：{"title":"订单查询对话","tags":\["customer-service","order"\]}。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
#### 响应参数
**状态码：201**
表3响应Body参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                                            |
|:---|:---|:---|
| id           | String | **参数解释：** Session ID，唯一标识一个会话，可通过"创建Session"接口生成或由调用方指定。 **取值范围：** 长度1-64字符。                    |
| space_id     | String | **参数解释：** 所属 Space ID，标识该记录所属的记忆空间，可通过"创建Space"接口获取。 **取值范围：** 长度36-36字符。                       |
| actor_id     | String | **参数解释：** 归属 Actor ID，标识该记录所属的 Actor。 **取值范围：** 长度1-64字符。                                       |
| assistant_id | String | **参数解释：** 归属 Assistant ID，标识该记录所属的 AI 助手。 **取值范围：** 长度1-64字符。                                   |
| meta         | Object | **参数解释：** 扩展元数据，用于存储自定义的附加信息，如标题、标签等。 **取值范围：** 不涉及。                                            |
| api_key      | String | **参数解释：** Session 访问API Key，仅在创建Session指定 enable_session_auth 为 true 时非空。 **取值范围：** 长度32-128字符。 |
| created_at   | String | **参数解释：** 记录的创建时间，由系统自动生成。 **取值范围：** 格式为 ISO 8601（YYYY-MM-DDTHH:mm:ssZ）。                        |
| updated_at   | String | **参数解释：** 记录的最近更新时间，由系统自动更新。 **取值范围：** 格式为 ISO 8601（YYYY-MM-DDTHH:mm:ssZ）。                      |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，标识错误类型，格式为 AgentArts.XXXXXXXX。 **取值范围：** 长度18-18字符。 |
| error_msg  | String | **参数解释：** 错误消息，描述错误详情，供问题排查使用。 **取值范围：** 长度1-256字符。               |
   
**状态码：401**
表5响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，标识错误类型，格式为 AgentArts.XXXXXXXX。 **取值范围：** 长度18-18字符。 |
| error_msg  | String | **参数解释：** 错误消息，描述错误详情，供问题排查使用。 **取值范围：** 长度1-256字符。               |
   
**状态码：403**
表6响应Body参数 
| 参数                            | 参数类型                                                              | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code                    | String                                                            | **参数解释：** 错误码，标识错误类型，格式为 AgentArts.XXXXXXXX。 **取值范围：** 长度18-18字符。 |
| error_msg                     | String                                                            | **参数解释：** 错误消息，描述错误详情，供问题排查使用。 **取值范围：** 长度1-256字符。               |
| encoded_authorization_message | String                                                            | **参数解释：** 编码后的授权失败信息。 **取值范围：** 长度1-4096字符。                       |
| details                       | Array of [Error] objects | **参数解释：** 依赖的下游服务错误信息列表，包含导致当前请求失败的下游服务错误详情。 **取值范围：** 不涉及。       |
   
 表7Error 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，标识错误类型，格式为 AgentArts.XXXXXXXX。 **取值范围：** 长度18-18字符。 |
| error_msg  | String | **参数解释：** 错误消息，描述错误详情，供问题排查使用。 **取值范围：** 长度1-256字符。               |
   
**状态码：429**
表8响应Body参数 
| 参数                            | 参数类型                                                                | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code                    | String                                                              | **参数解释：** 错误码，标识错误类型，格式为 AgentArts.XXXXXXXX。 **取值范围：** 长度18-18字符。 |
| error_msg                     | String                                                              | **参数解释：** 错误消息，描述错误详情，供问题排查使用。 **取值范围：** 长度1-256字符。               |
| encoded_authorization_message | String                                                              | **参数解释：** 编码后的授权失败信息。 **取值范围：** 长度1-4096字符。                       |
| details                       | Array of [Error] objects | **参数解释：** 依赖的下游服务错误信息列表，包含导致当前请求失败的下游服务错误详情。 **取值范围：** 不涉及。       |
   
 表9Error 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，标识错误类型，格式为 AgentArts.XXXXXXXX。 **取值范围：** 长度18-18字符。 |
| error_msg  | String | **参数解释：** 错误消息，描述错误详情，供问题排查使用。 **取值范围：** 长度1-256字符。               |
   
**状态码：500**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，标识错误类型，格式为 AgentArts.XXXXXXXX。 **取值范围：** 长度18-18字符。 |
| error_msg  | String | **参数解释：** 错误消息，描述错误详情，供问题排查使用。 **取值范围：** 长度1-256字符。               |
   
#### 请求示例
```
/v1/core/spaces/123e4567-e89b-12d3-a456-426614174000/sessions
{
  "id" : "session-1",
  "actor_id" : "user-12345",
  "assistant_id" : "assistant-abc",
  "enable_session_auth" : true,
  "meta" : {
    "title" : "order-inquiry-conversation",
    "tags" : [ "customer-service", "order" ]
  }
}
```
#### 响应示例
**状态码：201**
无
**状态码：400**
```
{
  "error_code" : "AgentArts.01020001",
  "error_msg" : "Invalid request parameters"
}
```
**状态码：401**
```
{
  "error_code" : "AgentArts.01020002",
  "error_msg" : "Authentication failed"
}
```
**状态码：403**
```
{
  "error_code" : "AgentArts.01020003",
  "error_msg" : "Insufficient permissions"
}
```
**状态码：429**
```
{
  "error_code" : "AgentArts.01020008",
  "error_msg" : "Too many requests"
}
```
**状态码：500**
```
{
  "error_code" : "AgentArts.01020004",
  "error_msg" : "Internal service error"
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 201 | Session 创建成功 |
| 400 | 请求参数错误       |
| 401 | 认证失败         |
| 403 | 权限不足         |
| 429 | 请求过于频繁       |
| 500 | 内部服务错误       |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
