> For the complete documentation index, see [llms.txt](https://docs.chamilo.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chamilo.org/2.x-ja/gaido-2/developer-guide/api/endpoints-reference.md).

# エンドポイントリファレンス

API Platformは、`#[ApiResource]`で注釈が付けられたエンティティに対してRESTエンドポイントを自動的に生成します。Chamiloは100以上のリソースを公開しています。

## 標準操作

各APIリソースに対して、通常以下の操作が利用可能です：

| メソッド     | パス                      | 説明           |
| -------- | ----------------------- | ------------ |
| `GET`    | `/api/{resources}`      | 一覧（コレクション）   |
| `POST`   | `/api/{resources}`      | 作成           |
| `GET`    | `/api/{resources}/{id}` | 読み取り（単一アイテム） |
| `PUT`    | `/api/{resources}/{id}` | 完全更新         |
| `PATCH`  | `/api/{resources}/{id}` | 部分更新         |
| `DELETE` | `/api/{resources}/{id}` | 削除           |

すべての操作がすべてのリソースで有効になっているわけではありません。セキュリティ制約が適用されます。

## 主要なAPIリソース

### プラットフォームリソース

| リソース    | パス                    | 説明            |
| ------- | --------------------- | ------------- |
| ユーザー    | `/api/users`          | ユーザーアカウント     |
| コース     | `/api/courses`        | コース           |
| セッション   | `/api/sessions`       | トレーニングセッション   |
| リソースノード | `/api/resource_nodes` | 統一されたコンテンツノード |
| アクセスURL | `/api/access_urls`    | マルチURLポータル    |
| メッセージ   | `/api/messages`       | プラットフォームメッセージ |

### コースコンテンツリソース

| リソース      | パス                            | 説明        |
| --------- | ----------------------------- | --------- |
| ドキュメント    | `/api/documents`              | コースドキュメント |
| 学習パス      | `/api/learning_paths`         | 学習パス      |
| 用語集       | `/api/glossaries`             | 用語集の用語    |
| リンク       | `/api/links`                  | 外部リンク     |
| カレンダーイベント | `/api/c_calendar_events`      | アジェンダイベント |
| 学生の公開物    | `/api/c_student_publications` | 課題        |
| ブログ       | `/api/c_blogs`                | コースブログ    |
| グループ      | `/api/c_groups`               | コースグループ   |

### 追跡リソース

| リソース    | パス                          | 説明     |
| ------- | --------------------------- | ------ |
| 成績簿カテゴリ | `/api/gradebook_categories` | 成績簿の設定 |
| 成績簿結果   | `/api/gradebook_results`    | 成績     |

## フィルタリングとページネーション

API Platformは以下をサポートしています：

* **ページネーション**: `?page=2&itemsPerPage=30`
* **フィルタリング**: `?title=Introduction` （設定されたフィルターに依存）
* **並べ替え**: `?order[title]=asc`
* **検索**: 設定されたフィールドでの全文検索

## コンテンツネゴシエーション

APIは複数のフォーマットをサポートしています：

* `application/ld+json` （デフォルト — JSON-LD）
* `application/json`
* `text/html` （APIドキュメント）

レスポンス形式を選択するには、`Accept`ヘッダーを設定してください。

## セキュリティ

各エンドポイントは以下の方法でセキュリティを強制します：

* JWT認証（ほとんどのエンドポイントで必須）
* Symfonyセキュリティボーター（リソースレベルの権限）
* ロールベースのアクセス制御（例：管理者専用エンドポイント）
