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

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セキュリティボーター（リソースレベルの権限）
* ロールベースのアクセス制御（例：管理者専用エンドポイント）


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chamilo.org/2.x-ja/gaido-2/developer-guide/api/endpoints-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
