# 查询同步任务详情

查询一个 Langfuse Trace 同步任务的配置、目标位置、同步状态和会话数量。

```text
GET https://moi.matrixorigin.cn/newmoi/trace-sync/tasks/{id}
```

## 调用前准备

先[查询同步任务列表](list-sync-tasks.md)取得任务 ID。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和同步任务 ID。

下方示例使用：

- `$AI_STUDIO_API_KEY`：实际个人访问令牌，通过 `X-API-Key` Header 传递。
- `$WORKSPACE_ID`：目标工作区 ID，通过 `X-Workspace-ID` Header 传递。
- `$TASK_ID`：要查询的同步任务 ID。

## 路径参数

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `id` | string | 是 | 同步任务 ID。 |

## 请求示例

```bash
curl "https://moi.matrixorigin.cn/newmoi/trace-sync/tasks/$TASK_ID" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID"
```

## 成功响应

成功时返回任务当前保存的配置和最近同步状态。

```json
{
  "code": "OK",
  "msg": "OK",
  "data": {
    "id": "task_01",
    "connector_id": "conn_01",
    "name": "production-traces",
    "catalog_name": "trace_catalog",
    "database_name": "langfuse_trace_db",
    "table_name": "lf_production_traces",
    "sync_historical": true,
    "start_from": "2026-08-01T00:00:00Z",
    "user_id_source": "metadata",
    "user_id_metadata_key": "customer_id",
    "poll_interval_sec": 60,
    "session_idle_timeout_sec": 300,
    "session_end_strategy": "idle_timeout",
    "session_end_metadata_key": "session_end",
    "session_end_metadata_value": "ended",
    "sync_status": "steady",
    "last_synced_to": "2026-08-21T08:00:00Z",
    "last_success_at": "2026-08-21T08:00:00Z",
    "auto_extract_enabled": false,
    "created_by": "user_01",
    "created_at": "2026-08-20T08:00:00Z",
    "updated_at": "2026-08-21T08:00:00Z",
    "session_count": 12
  }
}
```

响应字段如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 成功时为 `OK`。 |
| `msg` | string | 成功时为 `OK`。 |
| `data.id` | string | 同步任务 ID。 |
| `data.connector_id` | string | 关联的连接器 ID。 |
| `data.name` | string | 任务名称。 |
| `data.catalog_name` | string | 目标 Catalog 名称。 |
| `data.database_name` | string | 目标数据库名称。 |
| `data.table_name` | string | 目标表名称。 |
| `data.sync_historical` | boolean | 是否同步历史数据。 |
| `data.start_from` | string | 历史同步起始时间；未设置时省略。 |
| `data.user_id_source` | string | 用户标识来源。 |
| `data.user_id_metadata_key` | string | metadata 用户标识键。 |
| `data.poll_interval_sec` | integer | 拉取间隔秒数。 |
| `data.session_idle_timeout_sec` | integer | 会话空闲结束阈值，单位为秒。 |
| `data.session_end_strategy` | string | 会话结束判定策略。 |
| `data.session_end_metadata_key` | string | 显式结束会话使用的 metadata 键。 |
| `data.session_end_metadata_value` | string | 显式结束会话匹配的 metadata 值。 |
| `data.sync_status` | string | 同步状态：`not_started`、`catching_up`、`steady` 或 `error`。 |
| `data.last_synced_to` | string | 最近同步水位；尚无水位时省略。 |
| `data.last_success_at` | string | 最近成功时间；尚未成功时省略。 |
| `data.last_error` | string | 最近错误；没有错误时省略。 |
| `data.auto_extract_enabled` | boolean | 是否启用自动记忆提取。 |
| `data.created_by` | string | 创建者 ID。 |
| `data.created_at` | string | 创建时间。 |
| `data.updated_at` | string | 更新时间。 |
| `data.session_count` | integer | 已发现的同步会话数量。 |

## 错误响应

```json
{
  "code": "NOT_FOUND",
  "msg": "not found",
  "data": null
}
```

### 常见 HTTP 错误

```{list-table}
:header-rows: 1
:widths: 12 24 36 28

* - HTTP 状态码
  - 错误代码
  - 常见原因
  - 建议操作
* - `403`
  - `FORBIDDEN`
  - 调用者无权读取任务关联的连接器。
  - 联系管理员检查连接器读取权限。
* - `404`
  - `NOT_FOUND`
  - 任务不存在或不属于当前工作区。
  - 检查工作区和任务 ID。
* - `500`
  - `INTERNAL`
  - 平台未能读取任务。
  - 稍后重试。
* - `503`
  - `IAM_UNAVAILABLE`
  - 权限校验所需的任务或权限服务暂时不可用。
  - 稍后重试。
```

## 后续操作

使用 `data.id` [更新同步任务](update-sync-task.md)；需要观察同步进度或会话时，使用 `data.connector_id` [查询同步状态](get-sync-status.md)或[查询同步会话](list-sync-sessions.md)。
