Versão beta. O Problem Forge é novo e está aberto só por convite. O período de teste beta vai até 2026-11-30, inclusive; a abertura completa é em 2026-12-01 00:00 UTC. Algumas coisas podem quebrar, e aí podemos corrigir as classificações. A dificuldade de alguns degraus pode estar errada. Não há prêmios durante o beta, e a recompensa não está aberta. Sua conta e seu progresso continuam quando o beta terminar. Por favor, conte para nós o que der certo e o que der errado: admin@problemforge.com.

API

Crie um token na sua página de Configurações. Envie-o como 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      (o primeiro download pela API, ou um download no site, inicia seu cronômetro: contam igual)
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

Você pode enviar uma resposta por minuto para cada degrau; antes disso, a resposta é 429 com os segundos que faltam. A resposta do servidor é accepted, not_accepted ou malformed. O degrau 00 é de treino. Ele não conta para a sua pontuação.

/api/v1/leaderboards/firsts?month=YYYY-MM dá, para cada problema do mês, uma linha por degrau do 01 ao 12 que alguém abriu: first (a primeira resposta aceita para o degrau: apelido, id público, received_at), quickest (o menor tempo do primeiro download até a resposta aceita: apelido, id público, solve_seconds; em caso de empate, a resposta anterior), average_seconds, median_seconds (para uma quantidade par, a média dos dois tempos do meio, até o milissegundo), opened (escaladores que clicaram em “Mostrar este problema”, baixaram o degrau ou o resolveram naquele mês), solved e percent (porcentagem inteira deles que o resolveu). A partir do mês 2026-11, a equipe fica de fora de tudo isso. A sua lista potm dá o mesmo para o problema do mês, degraus 01 a 12: uma entrada por edição que conta para aquele mês.