{"components":{"schemas":{"Accounts":{"additionalProperties":false,"properties":{"atcoder":{"type":"string"},"codeforces":{"type":"string"},"x":{"type":"string"},"yukicoder":{"type":"string"}},"required":["x","atcoder","codeforces","yukicoder"],"type":"object"},"CaseResult":{"additionalProperties":false,"properties":{"cpuTimeMs":{"format":"double","type":"number"},"memoryBytes":{"format":"int64","type":"integer"},"name":{"type":"string"},"score":{"format":"int64","type":"integer"},"verdict":{"type":"string"},"wallTimeMs":{"format":"double","type":"number"}},"required":["name","verdict"],"type":"object"},"Contest":{"additionalProperties":false,"properties":{"author":{"type":"string"},"authors":{"items":{"type":"string"},"type":["array","null"]},"canEdit":{"type":"boolean"},"canRevealResults":{"type":"boolean"},"canViewLiveStandings":{"type":"boolean"},"canViewSubmissions":{"type":"boolean"},"description":{"type":"string"},"endsAt":{"format":"date-time","type":"string"},"excluded":{"type":"boolean"},"freezeAt":{"format":"date-time","type":["string","null"]},"freezeMinutes":{"format":"int64","type":["integer","null"]},"id":{"type":"string"},"maxTeamSize":{"format":"int64","type":["integer","null"]},"official":{"type":"boolean"},"onsite":{"type":"boolean"},"onsiteDivision":{"type":"boolean"},"owner":{"type":"boolean"},"partialScoring":{"type":"boolean"},"participating":{"type":"boolean"},"penaltyMinutes":{"format":"int64","type":"integer"},"problemAuthors":{"items":{"type":"string"},"type":["array","null"]},"problems":{"items":{"$ref":"#/components/schemas/Problem"},"type":["array","null"]},"resultsFinal":{"type":"boolean"},"revealed":{"type":"boolean"},"revealedAt":{"format":"date-time","type":["string","null"]},"setter":{"type":"boolean"},"staff":{"type":"boolean"},"startsAt":{"format":"date-time","type":"string"},"status":{"type":"string"},"team":{"$ref":"#/components/schemas/TeamSummary"},"teamMode":{"type":"boolean"},"testers":{"items":{"type":"string"},"type":["array","null"]},"title":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["id","author","authors","problemAuthors","testers","title","description","startsAt","endsAt","penaltyMinutes","freezeMinutes","freezeAt","revealed","revealedAt","resultsFinal","canViewLiveStandings","canRevealResults","partialScoring","teamMode","maxTeamSize","onsiteDivision","version","status","canEdit","canViewSubmissions","participating","official","staff","excluded","setter","owner","team","onsite","problems"],"type":"object"},"ContestProblem":{"additionalProperties":false,"properties":{"author":{"type":"string"},"authors":{"items":{"type":"string"},"type":["array","null"]},"canReadEditorial":{"type":"boolean"},"difficulty":{"format":"int64","type":["integer","null"]},"difficultyAverage":{"format":"double","type":["number","null"]},"difficultyDistribution":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"difficultyVoteCount":{"format":"int64","type":"integer"},"editorial":{"type":"string"},"editorialHidden":{"type":"boolean"},"editorialRevealAt":{"format":"date-time","type":"string"},"favoriteCount":{"format":"int64","type":"integer"},"hasSamples":{"type":"boolean"},"id":{"type":"string"},"interactive":{"type":"boolean"},"markdown":{"type":"string"},"memoryLimitMb":{"type":"string"},"publishedAt":{"format":"date-time","type":"string"},"scoring":{"$ref":"#/components/schemas/ScoringSummary"},"solverCount":{"format":"int64","type":"integer"},"specialJudge":{"type":"boolean"},"tags":{"items":{"type":"string"},"type":["array","null"]},"testers":{"items":{"type":"string"},"type":["array","null"]},"timeLimitMs":{"type":"string"},"title":{"type":"string"}},"required":["authors","canReadEditorial","editorialHidden","difficultyAverage","difficultyVoteCount","difficulty","solverCount","favoriteCount","hasSamples","id","title","author","publishedAt"],"type":"object"},"ContestSubmissionList":{"additionalProperties":false,"properties":{"hasMore":{"type":"boolean"},"items":{"items":{"$ref":"#/components/schemas/Submission"},"type":["array","null"]}},"required":["items","hasMore"],"type":"object"},"CursorResponsePost":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/Post"},"type":["array","null"]},"nextCursor":{"description":"次ページのcursor。空文字なら最後のページ。","type":"string"}},"required":["items","nextCursor"],"type":"object"},"CursorResponsePublicProblem":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicProblem"},"type":["array","null"]},"nextCursor":{"description":"次ページのcursor。空文字なら最後のページ。","type":"string"}},"required":["items","nextCursor"],"type":"object"},"Download":{"additionalProperties":false,"properties":{"sha256":{"type":"string"},"size":{"format":"int64","type":"integer"},"url":{"type":"string"}},"required":["url","size","sha256"],"type":"object"},"Editorial":{"additionalProperties":false,"properties":{"author":{"type":"string"},"id":{"type":"string"},"isOperator":{"type":"boolean"},"problemId":{"type":"string"},"publishedAt":{"format":"date-time","type":"string"},"title":{"type":"string"}},"required":["problemId","id","title","author","publishedAt","isOperator"],"type":"object"},"ErrorResponse":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"},"FeaturedPage":{"additionalProperties":false,"properties":{"current":{"$ref":"#/components/schemas/FeaturedRound"},"hasMore":{"type":"boolean"},"items":{"items":{"$ref":"#/components/schemas/FeaturedRound"},"type":["array","null"]},"nextAt":{"format":"date-time","type":"string"},"nextNumber":{"format":"int64","type":"integer"},"nextSlots":{"items":{"$ref":"#/components/schemas/FeaturedPreview"},"type":["array","null"]},"waiting":{"$ref":"#/components/schemas/FeaturedWaiting"}},"required":["nextNumber","items","hasMore","nextAt","waiting","nextSlots","current"],"type":"object"},"FeaturedPlan":{"additionalProperties":false,"properties":{"rounds":{"items":{"$ref":"#/components/schemas/FeaturedPlanRound"},"type":["array","null"]},"waiting":{"$ref":"#/components/schemas/FeaturedWaiting"}},"required":["waiting","rounds"],"type":"object"},"FeaturedPlanRound":{"additionalProperties":false,"properties":{"confirmed":{"type":"boolean"},"scheduledAt":{"format":"date-time","type":"string"},"slots":{"items":{"$ref":"#/components/schemas/FeaturedPlanSlot"},"type":["array","null"]}},"required":["scheduledAt","confirmed","slots"],"type":"object"},"FeaturedPlanSlot":{"additionalProperties":false,"properties":{"difficulty":{"format":"int64","type":["integer","null"]},"kind":{"type":"string"},"mine":{"type":"boolean"},"slot":{"type":"string"},"title":{"type":"string"},"trial":{"type":"boolean"}},"required":["slot","kind","difficulty"],"type":"object"},"FeaturedPreview":{"additionalProperties":false,"properties":{"difficulty":{"format":"int64","type":["integer","null"]},"kind":{"type":"string"},"slot":{"type":"string"},"testers":{"items":{"type":"string"},"type":["array","null"]},"writer":{"type":"string"}},"required":["slot","kind","difficulty","writer","testers"],"type":"object"},"FeaturedResult":{"additionalProperties":false,"properties":{"accepted":{"type":"boolean"},"timeMs":{"format":"int64","type":["integer","null"]},"wrong":{"format":"int64","type":"integer"}},"required":["accepted","timeMs","wrong"],"type":"object"},"FeaturedRound":{"additionalProperties":false,"properties":{"number":{"format":"int64","type":"integer"},"scheduledAt":{"format":"date-time","type":"string"},"slots":{"items":{"$ref":"#/components/schemas/FeaturedSlot"},"type":["array","null"]}},"required":["number","scheduledAt","slots"],"type":"object"},"FeaturedSlot":{"additionalProperties":false,"properties":{"difficulty":{"format":"int64","type":["integer","null"]},"editorialHidden":{"type":"boolean"},"kind":{"type":"string"},"problemId":{"type":"string"},"revealAt":{"format":"date-time","type":"string"},"slot":{"type":"string"},"testers":{"items":{"type":"string"},"type":["array","null"]},"title":{"type":"string"},"writer":{"type":"string"}},"required":["slot","kind","problemId","title","writer","testers","difficulty","revealAt","editorialHidden"],"type":"object"},"FeaturedStanding":{"additionalProperties":false,"properties":{"easy":{"$ref":"#/components/schemas/FeaturedResult"},"handle":{"type":"string"},"hard":{"$ref":"#/components/schemas/FeaturedResult"},"rank":{"format":"int64","type":"integer"},"timeMs":{"format":"int64","type":["integer","null"]}},"required":["rank","handle","timeMs","easy","hard"],"type":"object"},"FeaturedStandings":{"additionalProperties":false,"properties":{"closed":{"type":"boolean"},"closesAt":{"format":"date-time","type":"string"},"hasMore":{"type":"boolean"},"items":{"items":{"$ref":"#/components/schemas/FeaturedStanding"},"type":["array","null"]},"round":{"$ref":"#/components/schemas/FeaturedRound"}},"required":["round","closesAt","closed","items","hasMore"],"type":"object"},"FeaturedWaiting":{"additionalProperties":false,"properties":{"easy":{"format":"int64","type":"integer"},"hard":{"format":"int64","type":"integer"}},"required":["easy","hard"],"type":"object"},"GroupScore":{"additionalProperties":false,"properties":{"cases":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"maxScore":{"format":"int64","type":"integer"},"name":{"type":"string"},"score":{"format":"int64","type":"integer"}},"required":["name","score","maxScore","cases"],"type":"object"},"HealthResponse":{"additionalProperties":false,"properties":{"status":{"examples":["ok"],"type":"string"}},"required":["status"],"type":"object"},"ItemsResponseEditorial":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/Editorial"},"type":["array","null"]}},"required":["items"],"type":"object"},"ItemsResponsePublicSample":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicSample"},"type":["array","null"]}},"required":["items"],"type":"object"},"ItemsResponseTag":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/Tag"},"type":["array","null"]}},"required":["items"],"type":"object"},"OffsetResponseContest":{"additionalProperties":false,"properties":{"hasMore":{"description":"trueならoffsetを取得件数分増やして次ページを取得。","type":"boolean"},"items":{"items":{"$ref":"#/components/schemas/Contest"},"type":["array","null"]}},"required":["items","hasMore"],"type":"object"},"Post":{"additionalProperties":false,"properties":{"author":{"type":"string"},"id":{"type":"string"},"isOperator":{"type":"boolean"},"markdown":{"type":"string"},"problems":{"items":{"$ref":"#/components/schemas/ProblemRef"},"type":["array","null"]},"publishedAt":{"format":"date-time","type":["string","null"]},"publishedVersion":{"format":"int64","type":"integer"},"tags":{"items":{"type":"string"},"type":["array","null"]},"title":{"type":"string"},"updatedAt":{"format":"date-time","type":"string"},"version":{"format":"int64","type":"integer"}},"required":["id","title","publishedVersion","updatedAt","publishedAt","isOperator"],"type":"object"},"Problem":{"additionalProperties":false,"properties":{"hasEditorial":{"type":"boolean"},"id":{"type":"string"},"memoryLimitMb":{"type":"string"},"partial":{"type":"boolean"},"points":{"format":"int64","type":"integer"},"solved":{"type":"boolean"},"timeLimitMs":{"type":"string"},"title":{"type":"string"},"unmanaged":{"type":"boolean"}},"required":["id","points"],"type":"object"},"ProblemRef":{"additionalProperties":false,"properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"],"type":"object"},"Progress":{"additionalProperties":false,"properties":{"completed":{"format":"int64","type":"integer"},"phase":{"type":"string"},"total":{"format":"int64","type":"integer"},"verdict":{"type":"string"}},"required":["phase","completed","total"],"type":"object"},"PublicProblem":{"additionalProperties":false,"properties":{"author":{"type":"string"},"difficulty":{"format":"int64","type":["integer","null"]},"difficultyAverage":{"format":"double","type":["number","null"]},"difficultyDistribution":{"items":{"format":"int64","type":"integer"},"type":["array","null"]},"difficultyVoteCount":{"format":"int64","type":"integer"},"editorial":{"type":"string"},"editorialHidden":{"type":"boolean"},"editorialRevealAt":{"format":"date-time","type":"string"},"favoriteCount":{"format":"int64","type":"integer"},"hasSamples":{"type":"boolean"},"id":{"type":"string"},"interactive":{"type":"boolean"},"markdown":{"type":"string"},"memoryLimitMb":{"type":"string"},"publishedAt":{"format":"date-time","type":"string"},"scoring":{"$ref":"#/components/schemas/ScoringSummary"},"solverCount":{"format":"int64","type":"integer"},"specialJudge":{"type":"boolean"},"tags":{"items":{"type":"string"},"type":["array","null"]},"testers":{"items":{"type":"string"},"type":["array","null"]},"timeLimitMs":{"type":"string"},"title":{"type":"string"}},"required":["editorialHidden","difficultyAverage","difficultyVoteCount","difficulty","solverCount","favoriteCount","hasSamples","id","title","author","publishedAt"],"type":"object"},"PublicProfileResponse":{"additionalProperties":false,"properties":{"accounts":{"$ref":"#/components/schemas/Accounts"},"avatar":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"handle":{"type":"string"}},"required":["handle","avatar","createdAt","accounts"],"type":"object"},"PublicSample":{"additionalProperties":false,"properties":{"input":{"type":"string"},"inputFile":{"$ref":"#/components/schemas/Download"},"name":{"type":"string"},"output":{"type":"string"},"outputFile":{"$ref":"#/components/schemas/Download"}},"required":["name","input","output"],"type":"object"},"Result":{"additionalProperties":false,"properties":{"cases":{"items":{"$ref":"#/components/schemas/CaseResult"},"type":["array","null"]},"cpuTimeMs":{"format":"double","type":"number"},"memoryBytes":{"format":"int64","type":"integer"},"passed":{"format":"int64","type":"integer"},"scoring":{"$ref":"#/components/schemas/SubmissionScore"},"total":{"format":"int64","type":"integer"},"verdict":{"type":"string"}},"required":["verdict","passed","total"],"type":"object"},"Runtime":{"additionalProperties":false,"properties":{"id":{"type":"string"},"label":{"type":"string"}},"required":["id","label"],"type":"object"},"RuntimesResponse":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/Runtime"},"type":["array","null"]},"maintenance":{"type":"boolean"}},"required":["items","maintenance"],"type":"object"},"Score":{"additionalProperties":false,"properties":{"acceptedAt":{"format":"date-time","type":"string"},"frozen":{"format":"int64","type":"integer"},"pending":{"format":"int64","type":"integer"},"points":{"format":"int64","type":"integer"},"score":{"format":"int64","type":"integer"},"scoreText":{"type":"string"},"scoredAt":{"format":"date-time","type":"string"},"wrong":{"format":"int64","type":"integer"}},"required":["points","score","scoreText","wrong","pending","frozen"],"type":"object"},"ScoringGroup":{"additionalProperties":false,"properties":{"name":{"type":"string"},"points":{"format":"int64","type":"integer"}},"required":["name","points"],"type":"object"},"ScoringSummary":{"additionalProperties":false,"properties":{"fullScore":{"format":"int64","type":"integer"},"groups":{"items":{"$ref":"#/components/schemas/ScoringGroup"},"type":["array","null"]}},"required":["fullScore","groups"],"type":"object"},"Standing":{"additionalProperties":false,"properties":{"handle":{"type":"string"},"onsite":{"type":"boolean"},"overallRank":{"format":"int64","type":"integer"},"points":{"format":"int64","type":"integer"},"problems":{"additionalProperties":{"$ref":"#/components/schemas/Score"},"type":"object"},"rank":{"format":"int64","type":"integer"},"score":{"format":"int64","type":"integer"},"scoreText":{"type":"string"},"team":{"$ref":"#/components/schemas/TeamSummary"},"timeMs":{"format":"int64","type":"integer"}},"required":["rank","overallRank","handle","team","onsite","points","score","scoreText","timeMs","problems"],"type":"object"},"Submission":{"additionalProperties":false,"properties":{"author":{"type":"string"},"contestId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"easyTest":{"type":"boolean"},"id":{"type":"string"},"problemId":{"type":"string"},"problemIndex":{"format":"int64","type":"integer"},"problemTitle":{"type":"string"},"problemVersion":{"format":"int64","type":"integer"},"progress":{"$ref":"#/components/schemas/Progress"},"rejudgedAt":{"format":"date-time","type":"string"},"result":{"$ref":"#/components/schemas/Result"},"runtime":{"type":"string"},"source":{"type":"string"},"sourceBytes":{"format":"int64","type":"integer"},"status":{"type":"string"}},"required":["author","easyTest","id","problemId","problemVersion","problemTitle","runtime","sourceBytes","status","result","progress","createdAt"],"type":"object"},"SubmissionScore":{"additionalProperties":false,"properties":{"groups":{"items":{"$ref":"#/components/schemas/GroupScore"},"type":["array","null"]},"maxScore":{"format":"int64","type":"integer"},"score":{"format":"int64","type":"integer"}},"required":["score","maxScore"],"type":"object"},"Tag":{"additionalProperties":false,"properties":{"name":{"type":"string"},"postCount":{"format":"int64","type":"integer"},"problemCount":{"format":"int64","type":"integer"}},"required":["name","problemCount","postCount"],"type":"object"},"TeamSummary":{"additionalProperties":false,"properties":{"id":{"type":"string"},"members":{"items":{"type":"string"},"type":["array","null"]},"name":{"type":"string"},"onsite":{"type":"boolean"}},"required":["id","name","members","onsite"],"type":"object"}}},"info":{"description":"認証不要の公開・参照APIです。問題、サンプルケース、コンテスト、公開提出、記事、プロフィールを取得できます。\n\nURLには /api プレフィックスを付けません。公開されていないデータは取得できません。エラー本文は `{\"error\":\"コード\"}` 形式です。仕様はルート登録とGoのレスポンス型から起動時に自動生成します。","title":"ShareOJ Public API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/contests":{"get":{"description":"開始日時の降順。各要素のproblemsは空配列です。問題一覧は詳細APIで取得します。","operationId":"get-contests","parameters":[{"description":"先頭からスキップする件数。1ページ最大50件。","in":"query","name":"offset","schema":{"default":0,"maximum":1000000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OffsetResponseContest"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテスト一覧","tags":["contests"]}},"/contests/{id}":{"get":{"description":"開始前も出題順と配点を公開します。問題ID・タイトル・制限値は作成者と担当の作問者・テスターだけに返します。","operationId":"get-contests-id","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contest"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテスト詳細","tags":["contests"]}},"/contests/{id}/editorials":{"get":{"description":"コンテスト終了後に、各問題を解説する公開記事を公開日時の昇順で返します。problemIdで問題ごとにまとめてください。","operationId":"get-contests-id-editorials","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemsResponseEditorial"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテストのユーザー解説","tags":["contests"]}},"/contests/{id}/problems/{problem}":{"get":{"description":"開始後に取得可能です。解説は終了後に公開されます。publishedAtはコンテスト終了日時です。authorはコンテストのオーナー、authorsはオーナーを先頭とするコンテストの作成者です。","operationId":"get-contests-id-problems-problem","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}},{"in":"path","name":"problem","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContestProblem"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテストの問題","tags":["contests"]}},"/contests/{id}/problems/{problem}/submissions":{"get":{"description":"コンテスト終了後に取得可能です。順位表を凍結したコンテストでは、凍結後の提出を結果の公開まで含みません。ソースコードとケース別結果は含みません。mine=1とmine=teamは認証が必要なため公開APIでは利用できません。","operationId":"get-contests-id-problems-problem-submissions","parameters":[{"description":"先頭からスキップする件数。1ページ最大50件。","in":"query","name":"offset","schema":{"default":0,"maximum":1000000,"minimum":0,"type":"integer"}},{"description":"onsiteを指定すると、表示した時点でオンサイト区分の参加者（チーム戦では、オンサイトのチームのメンバーと、個人で参加したオンサイトの参加者）がこのコンテストに出した提出だけを返します。スタッフの提出と、参加登録していない人の練習の提出は含みません。","in":"query","name":"scope","schema":{"enum":["onsite"],"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}},{"in":"path","name":"problem","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContestSubmissionList"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテストの問題別提出一覧","tags":["contests"]}},"/contests/{id}/standings":{"get":{"description":"順位表を凍結したコンテストでは、結果の公開まで凍結前の提出だけで計算し、凍結後の提出の件数をfrozenで返します。チーム戦では、チームの行はteamにチーム名とメンバーを返してhandleを空文字にし、個人で参加した人の行はhandleを返してteamをnullにします。onsiteはオンサイト区分の行です。","operationId":"get-contests-id-standings","parameters":[{"description":"onsiteを指定すると、オンサイト区分の行だけを返します。rankはオンサイトの中で振り直した順位、overallRankは全体の順位です。区分のないコンテストでは空配列です。","in":"query","name":"scope","schema":{"enum":["onsite"],"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Standing"},"type":["array","null"]}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテスト順位表","tags":["contests"]}},"/contests/{id}/submissions":{"get":{"description":"コンテスト終了後に取得可能です。順位表を凍結したコンテストでは、凍結後の提出を結果の公開まで含みません。提出日時の降順。ソースコードとケース別結果は含みません。","operationId":"get-contests-id-submissions","parameters":[{"description":"先頭からスキップする件数。1ページ最大50件。","in":"query","name":"offset","schema":{"default":0,"maximum":1000000,"minimum":0,"type":"integer"}},{"description":"onsiteを指定すると、表示した時点でオンサイト区分の参加者（チーム戦では、オンサイトのチームのメンバーと、個人で参加したオンサイトの参加者）がこのコンテストに出した提出だけを返します。スタッフの提出と、参加登録していない人の練習の提出は含みません。","in":"query","name":"scope","schema":{"enum":["onsite"],"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContestSubmissionList"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテスト提出一覧","tags":["contests"]}},"/contests/{id}/submissions/{submission}":{"get":{"description":"コンテスト終了後に取得可能です。凍結後の提出は結果の公開まで取得できません。非公開テストの入出力やチェッカー診断は返しません。","operationId":"get-contests-id-submissions-submission","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}},{"in":"path","name":"submission","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"コンテスト提出詳細","tags":["contests"]}},"/featured":{"get":{"description":"毎週月・木23:00 (JST)のEasy/Hard各一問。新作の解説と他者の提出は翌22時に公開。20回ずつ出題履歴を返します。","operationId":"get-featured","parameters":[{"description":"先頭からスキップする件数。1ページ最大50件。","in":"query","name":"offset","schema":{"default":0,"maximum":1000000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeaturedPage"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"定期便","tags":["featured"]}},"/featured/schedule":{"get":{"description":"次回から8回分の予定。各回のEasy/Hardに難易度・新作／復刻／欠番を返します。confirmed=trueの次回は次回予告と同じ選出で、2回目以降は今の応募が残ると仮定した見込みです。問題名・問題ID・作者名は返しません。復刻する問題は出題時に選ぶため、復刻の枠では難易度が空です（次回を除く）。","operationId":"get-featured-schedule","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeaturedPlan"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"定期便の予定","tags":["featured"]}},"/featured/standings":{"get":{"description":"対象回の公開から翌22時までの公開問題への提出を集計します。両方正解、Hardのみ、Easyのみ、0完の順。同じ正解状況は同順位で、同順位内は正解に到達した提出時刻順（0完は最初の提出順）。経過時間と初正解前の不正解数を表示し、誤答ペナルティはありません。作問者・テスターと確認用提出は対象外。提出の本文やIDは返しません。","operationId":"get-featured-standings","parameters":[{"description":"先頭からスキップする件数。1ページ最大50件。","in":"query","name":"offset","schema":{"default":0,"maximum":1000000,"minimum":0,"type":"integer"}},{"description":"対象回のscheduledAt（RFC3339形式）。","in":"query","name":"at","required":true,"schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeaturedStandings"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"定期便の順位表","tags":["featured"]}},"/health":{"get":{"operationId":"get-health","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}},"description":"成功"}},"summary":"稼働状態","tags":["health"]}},"/images/{id}":{"get":{"description":"公開コンテンツから参照される画像をPNGまたはJPEGで返します。","operationId":"get-images-id","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"image/jpeg":{"schema":{"contentMediaType":"application/octet-stream","format":"binary","type":"string"}},"image/png":{"schema":{"contentMediaType":"application/octet-stream","format":"binary","type":"string"}}},"description":"公開コンテンツで参照される画像"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開画像","tags":["images"]}},"/posts":{"get":{"description":"公開日時の降順。本文は詳細APIで取得します。","operationId":"get-posts","parameters":[{"description":"前の応答のnextCursor。省略すると先頭から最大50件。","in":"query","name":"cursor","schema":{"maxLength":512,"type":"string"}},{"description":"作者のユーザーIDで絞り込み。","in":"query","name":"author","schema":{"pattern":"^[a-z][a-z0-9_]{2,19}$","type":"string"}},{"description":"タグで絞り込み。表記は完全一致です。GET /tagsのnameを指定してください。","in":"query","name":"tag","schema":{"maxLength":30,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorResponsePost"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開記事一覧","tags":["posts"]}},"/posts/{id}":{"get":{"description":"problemsは記事が解説する問題です。公式解説を誰でも読める問題だけを返します。","operationId":"get-posts-id","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Post"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開記事詳細","tags":["posts"]}},"/problems":{"get":{"description":"公開日時の降順。本文・解説は詳細APIで取得します。","operationId":"get-problems","parameters":[{"description":"前の応答のnextCursor。省略すると先頭から最大50件。","in":"query","name":"cursor","schema":{"maxLength":512,"type":"string"}},{"description":"作者のユーザーIDで絞り込み。","in":"query","name":"author","schema":{"pattern":"^[a-z][a-z0-9_]{2,19}$","type":"string"}},{"description":"タグで絞り込み。表記は完全一致です。GET /tagsのnameを指定してください。","in":"query","name":"tag","schema":{"maxLength":30,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorResponsePublicProblem"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開問題一覧","tags":["problems"]}},"/problems/{id}":{"get":{"description":"公開版の問題文・解説・制限値。定期便の新作はeditorialHidden=trueの間、解説を返しません。editorialRevealAtが解禁時刻です。timeLimitMsとmemoryLimitMbは数値の文字列です。下書きは返しません。","operationId":"get-problems-id","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProblem"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開問題詳細","tags":["problems"]}},"/problems/{id}/editorials":{"get":{"description":"問題を解説する公開記事を公開日時の昇順で返します。公式解説を誰でも読めるようになるまで、itemsは空配列です。","operationId":"get-problems-id-editorials","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemsResponseEditorial"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開問題のユーザー解説","tags":["problems"]}},"/problems/{id}/samples":{"get":{"description":"公開版でサンプルに指定したケースを保存順に返します。空ならitemsは空配列です。空白・改行を保持します。Markdownだけに書かれた例は抽出しません。inputFile/outputFileがある場合はurlから本文を取得してください。URLは10分間有効で、非公開化しても発行済みURLは期限まで利用できます。","operationId":"get-problems-id-samples","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemsResponsePublicSample"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開サンプルケース","tags":["problems"]}},"/problems/{id}/submissions":{"get":{"description":"提出日時の降順。下書き・サンプル実行・開催中コンテストの提出と、結果の公開前のコンテストの凍結後の提出は非公開です。ソースコードとケース別結果は含みません。mine=1は公開APIでは利用できません。","operationId":"get-problems-id-submissions","parameters":[{"description":"先頭からスキップする件数。1ページ最大50件。","in":"query","name":"offset","schema":{"default":0,"maximum":1000000,"minimum":0,"type":"integer"}},{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContestSubmissionList"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開問題の提出一覧","tags":["problems"]}},"/problems/{id}/submissions/{submission}":{"get":{"description":"ソースコードと公開採点結果。非公開テストの入出力やチェッカー診断は返しません。","operationId":"get-problems-id-submissions-submission","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}},{"in":"path","name":"submission","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開提出詳細","tags":["problems"]}},"/runtimes":{"get":{"operationId":"get-runtimes","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimesResponse"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"利用可能な言語","tags":["runtimes"]}},"/submissions/{submission}":{"get":{"description":"問題・コンテストの提出詳細と同じ公開範囲です。非公開の提出や公開待ちの提出は404を返します。","operationId":"get-submissions-submission","parameters":[{"in":"path","name":"submission","required":true,"schema":{"format":"uuid","pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"提出IDから公開提出を取得","tags":["submissions"]}},"/tags":{"get":{"description":"公開中の問題と記事に付いたタグを、使われている数の多い順に最大1000件返します。定期便の新作のタグは解説の公開まで数えません。","operationId":"get-tags","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemsResponseTag"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"使われているタグ","tags":["tags"]}},"/users/{handle}":{"get":{"operationId":"get-users-handle","parameters":[{"in":"path","name":"handle","required":true,"schema":{"pattern":"^[a-z][a-z0-9_]{2,19}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProfileResponse"}}},"description":"成功"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"パラメータが不正"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"存在しない、または公開されていない"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"データベースまたはストレージを利用できない"}},"summary":"公開プロフィール","tags":["users"]}}},"servers":[{"description":"このドキュメントを配信しているAPI","url":"/"}]}