# Read dictation attempt

Read one exact submitted listening-dictation attempt owned by the authenticated user, including paginated sentence snapshots, user entries, expected words, match results, translations, and score facts for local Agent review.

- Capability ID: `dictation.read_attempt`
- Operation: `ielts_dictation_read_attempt`
- Category: 听力精听
- Endpoint: `POST /api/v1/agent/capabilities/ielts_dictation_read_attempt`
- Authentication: Bearer Token（通过 /api/v1/agent-bindings 绑定账号）
- Required scopes: practice:read
- Side effect: read
- Human documentation: https://ieltsbuddy.igopx.cn/developers/api/ielts_dictation_read_attempt

## Request parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `attemptId` | string | 是 | Exact attempt id returned by dictation.recent_attempts. |
| `limit` | number | 否 | Maximum attempt lines to return. |
| `offset` | number | 否 | Line offset returned by the preceding call. |

## Request example

```bash
curl -X POST \
  'https://work.ieltsbuddy.igopx.cn/api/v1/agent/capabilities/ielts_dictation_read_attempt' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer $IELTS_BUDDY_TOKEN' \
  --data '{"attemptId":"00000000-0000-4000-8000-000000000000","limit":20,"offset":0}'
```

## Request schema

```json
{
  "type": "object",
  "properties": {
    "attemptId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Exact attempt id returned by dictation.recent_attempts."
    },
    "limit": {
      "default": 20,
      "description": "Maximum attempt lines to return.",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "offset": {
      "default": 0,
      "description": "Line offset returned by the preceding call.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    }
  },
  "required": [
    "attemptId",
    "limit",
    "offset"
  ],
  "additionalProperties": false
}
```

## Response envelope

```json
{
  "code": 0,
  "data": {},
  "message": "ok"
}
```

## Errors

| HTTP | Code | Meaning |
| --- | --- | --- |
| 400 | `40001` | 请求参数不符合接口契约 |
| 401 | `40101` | 缺少或使用了无效的访问令牌 |
| 403 | `40301` | 访问令牌不包含接口所需权限 |
| 404 | `40401` | 接口或目标资源不存在 |
