> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Session リソースの更新

> GitHub リポジトリリソースのトークンをローテーションします。

`POST /api/v1/cloud/sessions/{session_id}/resources/{resource_id}`

Session リソースを 1 つ更新します。現在の CAS では `github_repository` リソースのトークンローテーションのみをサポートしています。

## パスパラメータ

| パラメータ         | 型      | 説明                             |
| ------------- | ------ | ------------------------------ |
| `session_id`  | string | `sess_` プレフィックス付きの Session ID  |
| `resource_id` | string | `sesr_` プレフィックス付きの Resource ID |

## ヘッダー

| ヘッダー            | 必須 | 説明                  |
| --------------- | -- | ------------------- |
| `Authorization` | はい | `Bearer $QODER_PAT` |
| `Content-Type`  | はい | `application/json`  |

## リクエストボディ

| フィールド                 | 型      | 必須 | 説明              |
| --------------------- | ------ | -- | --------------- |
| `authorization_token` | string | はい | 新しい GitHub トークン |

## リクエスト例

```bash theme={null}
curl -X POST https://api.qoder.com/api/v1/cloud/sessions/sess_019e392c0d1e74e095d21ea4c6b41def/resources/sesr_0e4323e8f47ba34853f5409e \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{"authorization_token":"ghp_newtoken"}'
```

## レスポンス例

**HTTP 200 OK**

更新後の [Session リソース](/ja/cloud-agents/api/sessions/schemas#session-resource) を返します。トークンは返却されません。

```json theme={null}
{
  "id": "sesr_0e4323e8f47ba34853f5409e",
  "type": "github_repository",
  "url": "https://github.com/your-org/your-repo",
  "mount_path": "/data/workspace/your-repo",
  "checkout": {"type": "branch", "name": "main"},
  "created_at": "2026-06-23T05:53:19.774840Z",
  "updated_at": "2026-06-23T06:01:42.124501Z"
}
```

## エラー

| HTTP | type                    | トリガー条件                                      |
| ---- | ----------------------- | ------------------------------------------- |
| 400  | `invalid_request_error` | リソースが `github_repository` でない、またはリクエスト形式エラー |
| 401  | `authentication_error`  | PAT が無効または期限切れ                              |
| 404  | `not_found_error`       | Session またはリソースが存在しない                       |

**HTTP 400 Bad Request**

```json theme={null}
{
  "type": "error",
  "request_id": "cb80235f-76a2-4ff3-9e28-5aa2da12dc14",
  "error": {
    "type": "invalid_request_error",
    "message": "Field 'authorization_token' is required."
  }
}
```

**HTTP 404 Not Found**

```json theme={null}
{
  "type": "error",
  "request_id": "cb80235f-76a2-4ff3-9e28-5aa2da12dc14",
  "error": {
    "type": "not_found_error",
    "message": "Session resource 'sesr_does_not_exist_xxxxxxxxxxxxxxxxxxxxxxx' was not found."
  }
}
```

**HTTP 404 Not Found**

```json theme={null}
{
  "type": "error",
  "request_id": "cb80235f-76a2-4ff3-9e28-5aa2da12dc14",
  "error": {
    "type": "not_found_error",
    "message": "Session 'sess_does_not_exist_xxxxxxxxxxxxxxxxxxxxxxx' was not found."
  }
}
```

完全なエラーエンベロープは [エラー](/ja/cloud-agents/api/conventions/errors) を参照してください。
