<div data-theme-toc="true"> </div>
# Discourse API
詳細については、Discourse API ドキュメントサイトをご覧ください。
https://docs.discourse.org
> ## :information_source: 認証
> **APIリクエストはHTTPヘッダーベースの認証を使用する必要があります。** `Api-Key` と `Api-Username` をHTTPヘッダーとして渡してください。クエリパラメータまたはリクエストボディによる認証はサポートされていません(これは2020年4月に削除されました)。下記のcURLリクエストの例を参照してください。
>
> RSSフィード、メール受信者エンドポイント、およびICSルートへのリクエストでのみ、クエリパラメータによる認証が引き続きサポートされています。
>
> Content-Type は、「application/x-www-form-urlencoded」、「multipart/form-data」、または「application/json」に設定できます。
>
> cURLによるPOSTリクエストの例を以下に示します。
>
```text
curl -X POST "http://127.0.0.1:3000/categories" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
-H "Api-Username: discourse1" \
-F "name=89853c20-4409-e91a-a8ea-f6cdff96aaaa" \
-F "color=49d9e9" \
-F "text_color=f0fcfd"
APIドキュメントサイトがどのようなものかの例を次に示します。

APIの利用
cURLコマンドを使用してAPIを利用できますが、Rubyを使用できるため、discourse_api gemの使用を推奨します。
APIエンドポイントのリバースエンジニアリング
すべてのエンドポイントが文書化されているわけではありませんが、次のガイドに従うことで、任意のエンドポイントのAPIリクエストとレスポンスの例を確認できます。
Discourseにおけるグローバルレート制限とスロットリング
Discourseには、サイト管理者が設定できる3種類のグローバルレート制限が用意されています。これらの制限に関する詳細は、以下を参照してください。
APIを介した通知の作成
ユーザーAPIキーの仕様
最終レビュー:@sam、2026-03-17T17:00:00Z