GitHub

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

公開タイムラインを取得

クエリパラメータ:

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-datafile フィールドにファイルを送信

GET /media/:r2_key

アップロードされたメディアファイルを取得

通知

GET /api/notifications

通知一覧を取得(要認証)

GET /api/notifications/unread/count

未読通知数を取得(要認証)

POST /api/notifications/read

通知を既読にする(要認証)

ActivityPubエンドポイント

連合用のActivityPubエンドポイントについては、仕様書を参照してください。