API リファレンス
Yurucommuの内部REST APIエンドポイント一覧です。 主にフロントエンドから使用されますが、外部クライアントからも利用可能です。
認証
APIはセッションベースの認証を使用します。ログイン後、Cookieでセッションが管理されます。
POST /api/auth/login
ログイン
{
"password": "string",
"username": "string" // オプション
}
POST /api/auth/logout
ログアウト
GET /api/auth/me
現在のログインユーザー情報を取得
タイムライン
GET /api/timeline
公開タイムラインを取得
クエリパラメータ:
limit- 取得件数(デフォルト: 20)before- ページネーション用のap_idcommunity- コミュニティのap_idでフィルタ
GET /api/timeline/following
フォロー中ユーザーのタイムラインを取得(要認証)
投稿
GET /api/posts/:id
投稿の詳細を取得
POST /api/posts
投稿を作成(要認証)
{
"content": "string",
"summary": "string", // CW(オプション)
"visibility": "public", // public, unlisted, followers, direct
"in_reply_to": "string", // 返信先ap_id(オプション)
"community_ap_id": "string", // コミュニティ(オプション)
"attachments": [{ // メディア添付(オプション)
"r2_key": "string",
"content_type": "string"
}]
}
DELETE /api/posts/:id
投稿を削除(要認証)
GET /api/posts/:id/replies
投稿への返信一覧を取得
POST /api/posts/:id/like
いいねする(要認証)
DELETE /api/posts/:id/like
いいね解除(要認証)
POST /api/posts/:id/bookmark
ブックマーク追加(要認証)
DELETE /api/posts/:id/bookmark
ブックマーク解除(要認証)
ストーリー
GET /api/stories
フォロー中ユーザーのアクティブなストーリーを取得(要認証)
POST /api/stories
ストーリーを作成(要認証)
{
"frames": [{
"attachment": {
"r2_key": "string",
"content_type": "string"
},
"displayDuration": "PT5S", // ISO 8601 duration
"content": "string" // テキストオーバーレイ(オプション)
}]
}
DELETE /api/stories/:id
ストーリーを削除(要認証)
POST /api/stories/:id/view
ストーリーを閲覧済みにする(要認証)
アクター(ユーザー)
GET /api/actors/:identifier
ユーザー情報を取得
GET /api/actors/:identifier/followers
フォロワー一覧を取得
GET /api/actors/:identifier/following
フォロー中一覧を取得
フォロー
POST /api/follow
フォローする(要認証)
{
"target_ap_id": "string"
}
DELETE /api/follow
フォロー解除(要認証)
POST /api/follow/accept
フォローリクエストを承認(要認証)
メディア
POST /api/media/upload
メディアファイルをアップロード(要認証)
multipart/form-data で file フィールドにファイルを送信
GET /media/:r2_key
アップロードされたメディアファイルを取得
通知
GET /api/notifications
通知一覧を取得(要認証)
GET /api/notifications/unread/count
未読通知数を取得(要認証)
POST /api/notifications/read
通知を既読にする(要認証)
ActivityPubエンドポイント
連合用のActivityPubエンドポイントについては、仕様書を参照してください。