ベータ版リリース。Problem Forgeは新しいサイトで、招待制で公開しています。ベータテスト期間は2026-11-30までです。正式オープンは2026-12-01 00:00 UTCです。不具合が起きることがあり、そのときはランキングを修正することがあります。一部の段の難しさが正しくないことがあります。ベータ版の間は賞品はなく、懸賞金も始まっていません。ベータ版が終わっても、アカウントと進み具合はそのまま残ります。うまくいっていることも、問題があることも、ぜひ教えてください:admin@problemforge.com。

API

設定ページでトークンを作ってください。Authorization: Bearer pf1_… として送ります。

GET  /api/v1/version
GET  /api/v1/months/current
GET  /api/v1/problems/<slug>/<YYYY-MM>
GET  /api/v1/leaderboards?month=YYYY-MM
GET  /api/v1/leaderboards/<YYYY-MM>/<slug|global>
GET  /api/v1/leaderboards/alltime
GET  /api/v1/leaderboards/firsts?month=
GET  /api/v1/month
GET  /api/v1/month/board?edition=<edition>
GET  /api/v1/bounty
GET  /api/v1/me
GET  /api/v1/me/<YYYY-MM>
GET  /api/v1/me/<YYYY-MM>/<slug>
GET  /api/v1/me/<YYYY-MM>/<slug>/<NN>/instance      (最初の取得でも、サイトでのダウンロードでも、同じようにタイマーが始まります)
POST /api/v1/me/<YYYY-MM>/<slug>/<NN>/answer        Idempotency-Key: <uuid>   {"answer": "123", "solver": "optional"}
GET  /api/v1/me/<YYYY-MM>/<slug>/released
GET  /api/v1/me/month/<YYYY-MM|edition>
GET  /api/v1/me/month/<YYYY-MM>/<NN>/instance
POST /api/v1/me/month/<YYYY-MM>/<NN>/answer
GET  /api/v1/me/answers?month=YYYY-MM

解答は、段ごとに1分に1回送信できます。それより早く送ると、返事は 429 で、残りの秒数が付きます。返事は accepted、not_accepted、malformed のどれかです。段00は練習用の段です。スコアには数えません。

/api/v1/leaderboards/firsts?month=YYYY-MM は、その月の各問題について、誰かが開いた01〜12の段ごとに1行を返します。first(その段への最初の正解:ハンドル、公開 ID、received_at)、quickest(初めてのダウンロードから正解までの最短時間:ハンドル、公開 ID、solve_seconds。同じ時間なら先に送られた解答)、average_seconds、median_seconds(数が偶数のときは真ん中の2つの時間の平均、ミリ秒単位)、opened(その月に「この問題を表示」を押したか、その段をダウンロードしたか、解いたプレイヤー)、solved と percent(そのうち解いた人の割合、整数のパーセント)。2026-11 の月からは、スタッフはこれらのどれにも含まれません。 その potm リストは、今月の特別問題の段01から12について同じ内容を返します。その月に数える版ごとに1件です。