URL構造設計
凡例
/(パス名) : 構造。構造が深くなると/(パス名)/(パス名)のような振る舞いになる
// (内容) : コメント。
@(メソッド) : そのURLをGETやPOSTしたりしたときなどの振る舞いについて。
/{(変数パス名)} : 任意の名前の構造。
(太字の凡例) : トークンなど認証が必要なURL
/activity // ActivityPub処理の構造
/user // ユーザー系のActivity
/{id}
@GET // ActivityPub系のヘッダーでのリクエストであればその形式を返す。それ以外はWeb用のURLへリダイレクト。
/note // ノート系のActivity
// 構造検討中
/@{username} // ユーザーのプロフィール。APのuriとして取り扱う。ActivityPubのヘッダーが送られてきたらその形式を返す。
/api // フロントエンドとバックエンドの受け子
/private // Webサイトだけで使用する専用のAPI。CORS対策を万全に行う
/oauth // 認証ページで承認するときなどに使用。構造未定
// 構造検討中
/graphql // GraphQLのエンドポイント。
@GET // GraphQLのウェブクライアントを開く。
@POST // GraphQLクエリを実行。
/graphql-anonymous // GraphQLのエンドポイント。トークンを必要としない。トークンが必要なGraphQLエンドポイントより、リクエストレートは低め。
@GET // GraphQLのウェブクライアントを開く。
@POST // GraphQLクエリを実行。
/v1 // RESTful形式のAPI。GraphQLに慣れてない場合の互換性として使用
/note
@POST // 新しい投稿を作成。
/{id}
@GET // 投稿を取得。
@DELETE // 投稿を削除。本人 or 管理権限を持つアカウントのみ可能。
/conversation
@GET // この投稿に対するリプライを表示する
/retext
@GET // 投稿をリテキスト(ReText)したユーザー一覧を表示する
@POST // 投稿をリテキストする。
/reactions
@GET リアクション一覧を表示する。
@POST リアクションをする。絵文字もしくはインスタンスのカスタム絵文字。
/bookmark
@POST // 投稿をブックマークする。
@DELETE // 投稿のブックマークを削除する。
/pin
@POST // ユーザーの固定投稿にする。自分の投稿のみ可。
@DELETE // ユーザーの固定投稿から外す。
/user
/verify_credentials
@GET // トークンを使用して自分のアカウント情報を取得する
/update_credentials
@PATCH // アカウント情報を更新する
/{id}
@GET // 指定ユーザーのアカウント情報を取得する
/note
@GET // 指定ユーザーのノート情報を取得する
/followers
@GET // 指定ユーザーのフォロワーを取得する
/following
@GET // 指定ユーザーのフォローを取得する
/follow
@POST // 指定ユーザーをフォローする
@DELETE // 指定ユーザーのフォローを解除する
/mute
@POST // 指定ユーザーをミュートする
@DELETE // 指定ユーザーのミュートを解除する
/block
@POST // 指定ユーザーをブロックする
@DELETE // 指定ユーザーのブロックを解除する
/streaming // ストリーミング
@WebSocket // WebSocket経由でのストリーミング