Version bêta. Problem Forge est nouveau et ouvert sur invitation. La période de test bêta dure jusqu'au 2026-11-30 inclus ; l'ouverture complète a lieu le 2026-12-01 00:00 UTC. Des choses peuvent casser, et nous pourrons alors corriger les classements. La difficulté de certains échelons peut être fausse. Il n'y a pas de prix pendant la bêta, et la prime n'est pas ouverte. Votre compte et votre progression restent quand la bêta se termine. Merci de nous dire ce qui va bien et ce qui ne va pas : admin@problemforge.com.

API

Créez un jeton sur votre page Paramètres. Envoyez-le sous la forme 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      (le premier téléchargement par l'API, ou un téléchargement sur le site, démarre votre chrono : les deux comptent pareil)
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

Vous pouvez envoyer une réponse par minute pour chaque échelon ; plus tôt, la réponse du site est 429 avec les secondes restantes. La réponse du site est accepted, not_accepted ou malformed. L'échelon 00 est l'échelon d'entraînement. Il ne compte pas dans votre score.

/api/v1/leaderboards/firsts?month=YYYY-MM donne, pour chaque problème du mois, une ligne par échelon de 01 à 12 que quelqu'un a ouvert : first (la première réponse acceptée pour l'échelon : pseudo, identifiant public, received_at), quickest (le temps le plus court entre le premier téléchargement et la réponse acceptée : pseudo, identifiant public, solve_seconds ; en cas d'égalité, la réponse la plus ancienne), average_seconds, median_seconds (pour un nombre pair, la moyenne des deux temps du milieu, à la milliseconde près), opened (les grimpeurs qui, ce mois-là, ont appuyé sur « Afficher ce problème », téléchargé l'échelon ou l'ont résolu), solved et percent (pourcentage entier d'entre eux qui l'ont résolu). À partir du mois 2026-11, le personnel est exclu de tout cela. Sa liste potm donne la même chose pour le problème du mois, échelons 01 à 12 : une entrée par édition qui compte pour ce mois.