{"openapi":"3.1.0","info":{"title":"HIM-Eval HTTP_API","version":"0.1.0"},"paths":{"/api/v1/admin/task-sets":{"post":{"tags":["admin"],"summary":"Import a Task_Set_Definition","description":"Import one Task_Set_Definition (TSD/1) document as a new Task_Set_Version (Requirements 28.1, 28.3): parse and verify it, count its Items, store the canonical document, and record the import. An unchanged re-import of an already-imported version answers the existing version instead of writing a new one; a changed document under an existing version number is refused.","operationId":"import_task_set","parameters":[{"name":"licence_confirmed","in":"query","required":true,"schema":{"type":"boolean","description":"The importer's confirmation of the Task_Set's licence","title":"Licence Confirmed"},"description":"The importer's confirmation of the Task_Set's licence"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"string","contentMediaType":"application/octet-stream","description":"The Task_Set_Definition (TSD/1) document, exactly as imported","title":"Definition"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Import Task Set"}}}},"422":{"description":"The Task Set Definition is invalid. Every violation is listed with its line number.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#task_set_invalid","title":"Task set invalid","status":422,"code":"task_set_invalid","detail":"The Task Set Definition is invalid. Every violation is listed with its line number.","violations":[{"line":"a stated value","code":"a stated value","message":"a stated value","item_id":"a stated value"}]}}}},"409":{"description":"A published Task Set Version cannot be changed. A change requires a new Task Set Version.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#task_set_version_immutable","title":"Task set version immutable","status":409,"code":"task_set_version_immutable","detail":"A published Task Set Version cannot be changed. A change requires a new Task Set Version."}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}}}}},"/api/v1/admin/seasons":{"post":{"tags":["admin"],"summary":"Create a Season draft","description":"Create a Season as a draft (Requirements 28.1, 28.5): named, with no settings yet, changeable until it starts.","operationId":"create_season_draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeasonBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Season Draft"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/seasons/{season_id}/hub-chat-judge-version":{"patch":{"tags":["admin"],"summary":"Set a Season draft's Hub_Chat Judge_Version","description":"The Judge_Version whose Hub_Chat instructions the Season's Hub_Chat uses.","operationId":"set_season_hub_chat_judge_version","parameters":[{"name":"season_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Season Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubChatJudgeVersionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Set Season Hub Chat Judge Version"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/seasons/{season_id}/tracks/{track}/settings":{"patch":{"tags":["admin"],"summary":"Set a Season draft's Track settings","description":"The Track's Judge_Version, Task_Set_Versions in order, Generation_Settings, Repetition_Rule, answer normalisation, aggregation method, and Report length limit -- changeable while the Season is a draft, locked once it starts.","operationId":"set_season_track_settings","parameters":[{"name":"season_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Season Id"}},{"name":"track","in":"path","required":true,"schema":{"enum":["base","finished"],"type":"string","title":"Track"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackSettingsBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Set Season Track Settings"}}}},"409":{"description":"The settings of a started Season are fixed. A change requires a new Season.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#season_setting_locked","title":"Season setting locked","status":409,"code":"season_setting_locked","detail":"The settings of a started Season are fixed. A change requires a new Season."}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/seasons/{season_id}/start":{"post":{"tags":["admin"],"summary":"Start a Season","description":"Start the Season (Requirement 28.5): end the Season in progress, publish the new Season's settings to the public read model, and lock its settings. Refused while its settings are incomplete.","operationId":"start_season","parameters":[{"name":"season_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Season Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Season"}}}},"422":{"description":"The Season cannot start because the listed settings are missing or mismatched.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#season_invalid","title":"Season invalid","status":422,"code":"season_invalid","detail":"The Season cannot start because the listed settings are missing or mismatched.","missing":["a value"],"mismatched":["a value"]}}}},"409":{"description":"The settings of a started Season are fixed. A change requires a new Season.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#season_setting_locked","title":"Season setting locked","status":409,"code":"season_setting_locked","detail":"The settings of a started Season are fixed. A change requires a new Season."}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}}}}},"/api/v1/admin/judge-versions":{"post":{"tags":["admin"],"summary":"Register a Judge_Version","description":"Register a new, permanent Judge_Version (Requirements 28.2, 28.3): its grading and Hub_Chat instruction versions, and the Judge_Operator it belongs to. A Judge_Version is never changed once registered; a corrected Judge_Operator arrives as a new Judge_Version.","operationId":"register_judge_version","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JudgeVersionBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register Judge Version"}}}},"409":{"description":"This Judge Version identifier is already registered, and a registered Judge Version cannot be changed.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#judge_version_exists","title":"Judge version exists","status":409,"code":"judge_version_exists","detail":"This Judge Version identifier is already registered, and a registered Judge Version cannot be changed."}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/configuration":{"get":{"tags":["admin"],"summary":"The current configuration","description":"The current Pricing_Tiers, quota, sandbox limits, and Load_Check settings.","operationId":"get_current_configuration","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Current Configuration"}}}}}},"post":{"tags":["admin"],"summary":"Submit a configuration change","description":"Validate and store a new configuration (Requirements 28.1, 28.6): the Pricing tiers must partition every Parameter_Count, and every previous value is kept when the change is rejected. The previous configuration's document is recorded with the change.","operationId":"submit_configuration","requestBody":{"content":{"application/json":{"schema":{"type":"string","contentMediaType":"application/octet-stream","title":"Document","description":"The configuration JSON document"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Submit Configuration"}}}},"422":{"description":"The configuration change is rejected and every previous value is kept. Each rejected value is listed with the condition it violates.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#config_invalid","title":"Config invalid","status":422,"code":"config_invalid","detail":"The configuration change is rejected and every previous value is kept. Each rejected value is listed with the condition it violates.","violations":[{"setting":"a stated value","value":"a stated value","rule":"a stated value"}]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}}}}},"/api/v1/admin/review-entries":{"get":{"tags":["admin"],"summary":"The open review entries","description":"Every entry of the Service_Administrator review not yet resolved, oldest first, each with its currently available actions (Requirements 29.1, 29.2).","operationId":"list_open_review_entries","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Open Review Entries"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}}}}},"/api/v1/admin/review-entries/{entry_id}":{"get":{"tags":["admin"],"summary":"One review entry","description":"The entry with its non-Public_Data details (Requirements 29.1, 29.7).","operationId":"get_review_entry","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Review Entry"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/review-entries/{entry_id}/regrade":{"post":{"tags":["admin"],"summary":"Re-grade the entry's Grading_Failed Items","description":"Re-grade the Items marked Grading_Failed with fresh attempt counters and the run's snapshotted Judge_Retry_Limit (Requirements 11.8, 11.9, 29.3).","operationId":"regrade_review_entry","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Regrade Review Entry"}}}},"409":{"description":"The review action is not possible because the stated condition does not hold.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#review_action_unavailable","title":"Review action unavailable","status":409,"code":"review_action_unavailable","detail":"The review action is not possible because the stated condition does not hold.","condition":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/review-entries/{entry_id}/new-report":{"post":{"tags":["admin"],"summary":"Request one new Report","description":"One new Report for the entry's Evaluation_Run with the Run_Status unchanged (Requirements 15.12, 15.13, 16.4); an invalid draft records nothing and leaves the pending mark in place.","operationId":"request_new_report","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request New Report"}}}},"409":{"description":"The review action is not possible because the stated condition does not hold.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#review_action_unavailable","title":"Review action unavailable","status":409,"code":"review_action_unavailable","detail":"The review action is not possible because the stated condition does not hold.","condition":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/review-entries/{entry_id}/new-sandbox":{"post":{"tags":["admin"],"summary":"Continue the held Load_Check or run with a new Sandbox","description":"Continue the entry's held Load_Check or Evaluation_Run from its current stage with the same files and limits (Requirement 29.4), on a new Sandbox of the stated HIM image.","operationId":"request_new_sandbox","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewSandboxBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request New Sandbox"}}}},"409":{"description":"The review action is not possible because the stated condition does not hold.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#review_action_unavailable","title":"Review action unavailable","status":409,"code":"review_action_unavailable","detail":"The review action is not possible because the stated condition does not hold.","condition":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/access-grants":{"post":{"tags":["admin"],"summary":"Issue a read-only AccessGrant","description":"Issue a 60-minute read-only AccessGrant for a Submission or Evaluation_Run that is not Public_Data (Requirements 29.7, 29.8): an Investigation purpose and a matter naming the investigation are both required, and the grant never reaches Weights or Declaration content.","operationId":"issue_access_grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGrantBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Issue Access Grant"}}}},"403":{"description":"Access is denied: select one of the two access purposes and, where required, identify the matter of the investigation.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#purpose_required","title":"Purpose required","status":403,"code":"purpose_required","detail":"Access is denied: select one of the two access purposes and, where required, identify the matter of the investigation.","missing":["a value"]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/hub-chat-grants":{"post":{"tags":["admin"],"summary":"Issue a Hub_Chat conversation AccessGrant","description":"Issue a 60-minute read-only AccessGrant for one Hub_Chat conversation (Requirement 29.9): a purpose only; a matter is never required for this read.","operationId":"issue_hub_chat_grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubChatGrantBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Issue Hub Chat Grant"}}}},"403":{"description":"Access is denied: select one of the two access purposes and, where required, identify the matter of the investigation.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#purpose_required","title":"Purpose required","status":403,"code":"purpose_required","detail":"Access is denied: select one of the two access purposes and, where required, identify the matter of the investigation.","missing":["a value"]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/runs/{run_id}/technical-notices":{"post":{"tags":["admin"],"summary":"Attach a Technical_Notice","description":"Attach a plain Technical_Notice to the run (Requirements 29.5, 29.6): shown to the Model_Owner, mirrored to the public model page when the run is published, and emailed through the outbox in the same transaction.","operationId":"attach_technical_notice","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TechnicalNoticeBody"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Attach Technical Notice"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/runs/{run_id}/defect-notices":{"post":{"tags":["admin"],"summary":"Confirm a defect and attach a Defect_Notice","description":"Confirm a defect in the stated component and attach the resulting Defect_Notice (Requirements 29.5, 30.1, 30.8): the Model_Owner is offered a Defect re-run, and the affected public entry is updated in the same transaction. A second Defect_Notice on the same run is refused.","operationId":"attach_defect_notice","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefectNoticeBody"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Attach Defect Notice"}}}},"409":{"description":"This Evaluation Run already has a Defect Notice attached. The existing Defect Notice and its confirmation date are stated.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#defect_notice_exists","title":"Defect notice exists","status":409,"code":"defect_notice_exists","detail":"This Evaluation Run already has a Defect Notice attached. The existing Defect Notice and its confirmation date are stated.","existing_notice":{"notice_id":"a stated value","confirmed_at":"a stated value"}}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/runs/{origin_run_id}/verification-reruns":{"post":{"tags":["admin"],"summary":"Request a verification re-run","description":"Request a verification re-run of the origin run (Requirements 23.3, 23.4, 23.6): the recorded Weights, Declaration version, HIM image, Judge_Version, and hardware class are re-run with the original settings, confirmed automatically, never published, and the quota untouched. Refused with every missing element listed when the original's parts are no longer available.","operationId":"request_verification_rerun","parameters":[{"name":"origin_run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Origin Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationRerunBody"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request Verification Rerun"}}}},"409":{"description":"A verification re-run is not possible because each listed element is no longer retained or available.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#reproduction_unavailable","title":"Reproduction unavailable","status":409,"code":"reproduction_unavailable","detail":"A verification re-run is not possible because each listed element is no longer retained or available.","missing":["a value"]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/record-import":{"post":{"tags":["admin"],"summary":"Import an Evaluation_Record for display","description":"Parse an ERF/1 document into one Evaluation_Record for display only (Requirement 24.2): no stored Evaluation_Record and no Leaderboard entry changes. Every violation is reported with its line number (Requirement 24.3).","operationId":"import_record_for_display","requestBody":{"content":{"application/json":{"schema":{"type":"string","contentMediaType":"application/octet-stream","title":"Document","description":"The ERF/1 document to parse for display"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Import Record For Display"}}}},"422":{"description":"The document does not conform to the Evaluation Record Format. Every violation is listed with its line number.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#record_invalid","title":"Record invalid","status":422,"code":"record_invalid","detail":"The document does not conform to the Evaluation Record Format. Every violation is listed with its line number.","violations":[{"line":"a stated value","message":"a stated value"}]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}}}}},"/api/v1/admin/landing/credibility-markers":{"get":{"tags":["admin"],"summary":"The current Credibility markers","description":"The Credibility marker set of the Landing_Page (Requirement 33.4), in display order, as the Service_Administrator last set it.","operationId":"list_landing_credibility_markers","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Landing Credibility Markers"}}}}}},"put":{"tags":["admin"],"summary":"Replace the Credibility markers","description":"Replace the whole ordered Credibility marker set of the Landing_Page (Requirement 33.4): the stored projection is rewritten atomically in the same transaction as the change's Audit_Log entry, in the given display order; an empty set clears every marker. A marker the Service_Administrator has not set does not exist -- there are no defaults and no fallback markers.","operationId":"set_landing_credibility_markers","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredibilityMarkersBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Landing Credibility Markers"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arena/battles":{"post":{"tags":["arena"],"summary":"Start a battle","operationId":"arena_create_battle","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BattleBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Arena Create Battle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arena/battles/{battle_id}":{"get":{"tags":["arena"],"summary":"Read your battle","operationId":"arena_read_battle","parameters":[{"name":"battle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Battle Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Arena Read Battle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/arena/battles/{battle_id}/vote":{"post":{"tags":["arena"],"summary":"Vote on your battle","operationId":"arena_vote","parameters":[{"name":"battle_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Battle Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Arena Vote"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/arena-opt-in":{"post":{"tags":["arena"],"summary":"Opt a Submission into the Arena","description":"Opt a Submission into the Arena. Requires Completed Evaluation_Run.","operationId":"arena_opt_in","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Arena Opt In"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/arena-opt-out":{"post":{"tags":["arena"],"summary":"Opt a Submission out of the Arena","description":"Opt a Submission out of the Arena.","operationId":"arena_opt_out","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Arena Opt Out"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit":{"get":{"tags":["audit"],"summary":"The Audit_Log entries visible to the caller","description":"Requirements 1.5, 26.3: every Audit_Log entry shown to the Model_Owner -- file accesses, Service_Administrator access, denied file requests, and verification re-runs for their Submissions and no other Model_Owner's -- newest first, with a ``before_seq`` cursor to page through.","operationId":"list_audit_entries","parameters":[{"name":"before_seq","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Before Seq"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Audit Entries"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sign-in":{"post":{"tags":["auth"],"summary":"Start an OIDC sign-in","description":"Start an authorization-code-with-PKCE sign-in. Returns the IdP's authorization URL and sets the short-lived `him_sign_in` cookie carrying this attempt's `state`, `nonce`, and PKCE verifier. Send the browser to the URL; the IdP redirects back to `/api/v1/auth/callback`.","operationId":"start_sign_in","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignInStarted"}}}}}}},"/api/v1/auth/callback":{"get":{"tags":["auth"],"summary":"OIDC sign-in callback","description":"Redeem the authorization code the IdP redirected back with, and either open the session or hand a first-ever visitor to the web-only registration. The `state` must match the sign-in cookie set by `POST /auth/sign-in`.","operationId":"sign_in_callback","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["auth"],"summary":"Complete a first sign-in with the registration fields","description":"Create the account of a first-ever visitor and open their session, using the validated claims parked by the callback and the web-only registration fields: the Model_Owner display name and the Interface language. Web-only (Requirement 32.1): the request needs the `him_register` cookie only the callback mints.","operationId":"register_account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrationBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Registered"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/sign-out":{"post":{"tags":["auth"],"summary":"Sign out","description":"Clear the session cookie. The next request is unauthenticated.","operationId":"sign_out","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedOut"}}}}}}},"/api/v1/auth/whoami":{"get":{"tags":["auth"],"summary":"What the current session is","description":"The account id, the Service_Administrator flag, and the MFA fact of the current session, or an unauthenticated answer for a Visitor. Reveals nothing else.","operationId":"whoami","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhoAmI"}}}}}}},"/api/v1/runs/{origin_run_id}/defect-reruns":{"post":{"tags":["defect-reruns"],"summary":"Request a Defect re-run of an origin Evaluation_Run","description":"Requirements 30.1, 30.3, 30.5, 30.6: request the re-run of the origin run, requiring a Technical_Notice of the stated defect (30.3), refused for a second re-run of the same origin (30.4's reason), and without payment (30.5). The new run starts at Load_Check (Requirement 30.1), and its publication replaces the origin's entry in place (30.2).","operationId":"request_defect_rerun","parameters":[{"name":"origin_run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Origin Run Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request Defect Rerun"}}}},"409":{"description":"A Defect re-run requires a Defect Notice on the Evaluation Run.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#defect_notice_required","title":"Defect notice required","status":409,"code":"defect_notice_required","detail":"A Defect re-run requires a Defect Notice on the Evaluation Run."}}}},"410":{"description":"The Weights and Declaration of this Submission are deleted and must be uploaded again.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#files_deleted","title":"Files deleted","status":410,"code":"files_deleted","detail":"The Weights and Declaration of this Submission are deleted and must be uploaded again."}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/health":{"get":{"tags":["health"],"summary":"Liveness check","description":"Answers 200 with `{\"status\": \"ok\"}` while the API process serves requests.","operationId":"get_health","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}}}}},"/api/v1/runs/{run_id}/results":{"put":{"tags":["results"],"summary":"Immutable Runscores","operationId":"immutable_runscores_api_v1_runs__run_id__results_put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Runscores","operationId":"immutable_runscores_api_v1_runs__run_id__results_patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Runscores","operationId":"immutable_runscores_api_v1_runs__run_id__results_delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Runscores","operationId":"immutable_runscores_api_v1_runs__run_id__results_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["results"],"summary":"The Recorded_Result view of an Evaluation_Run","description":"The owner's scores, Behaviour_Metrics, Report, and Technical_Notices for the run (Requirements 13.3, 13.6, 13.7, 13.8, 14.6, 17.1); each part not yet produced is stated as such, whatever the current Run_Status.","operationId":"get_results","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Results"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/results/{rest}":{"put":{"tags":["results"],"summary":"Immutable Runscores Item","operationId":"immutable_runscores_item_api_v1_runs__run_id__results__rest__put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Runscores Item","operationId":"immutable_runscores_item_api_v1_runs__run_id__results__rest__patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Runscores Item","operationId":"immutable_runscores_item_api_v1_runs__run_id__results__rest__delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Runscores Item","operationId":"immutable_runscores_item_api_v1_runs__run_id__results__rest__post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/items":{"put":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__items_put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__items_patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__items_delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__items_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["results"],"summary":"The paginated Item view of an Evaluation_Run","description":"The owner's per-Item view (Requirements 17.2, 17.10): the qualified Item id, grading outcome, per-item scores, and the model's answers and the Sandbox's observations as decoded bytes -- with a cursor to the next page. Scoped to Completed and Incomplete runs (Requirement 17.1).","operationId":"list_items","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Items"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/items/{rest}":{"put":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__items__rest__put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__items__rest__patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__items__rest__delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__items__rest__post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/report":{"put":{"tags":["results"],"summary":"Immutable Report","operationId":"immutable_report_api_v1_runs__run_id__report_put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Report","operationId":"immutable_report_api_v1_runs__run_id__report_patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Report","operationId":"immutable_report_api_v1_runs__run_id__report_delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Report","operationId":"immutable_report_api_v1_runs__run_id__report_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/report/{rest}":{"put":{"tags":["results"],"summary":"Immutable Report Item","operationId":"immutable_report_item_api_v1_runs__run_id__report__rest__put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Report Item","operationId":"immutable_report_item_api_v1_runs__run_id__report__rest__patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Report Item","operationId":"immutable_report_item_api_v1_runs__run_id__report__rest__delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Report Item","operationId":"immutable_report_item_api_v1_runs__run_id__report__rest__post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/regrade":{"put":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__regrade_put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__regrade_patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__regrade_delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Itemgrade","operationId":"immutable_itemgrade_api_v1_runs__run_id__regrade_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"query","required":false,"schema":{"type":"string","default":"","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/regrade/{rest}":{"put":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__regrade__rest__put","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__regrade__rest__patch","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__regrade__rest__delete","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["results"],"summary":"Immutable Itemgrade Item","operationId":"immutable_itemgrade_item_api_v1_runs__run_id__regrade__rest__post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/uploads/authorize":{"post":{"tags":["internal"],"summary":"The tusd pre-create hook","description":"Authorize one file of one tus upload before tusd stores anything: the uploader's forwarded credential must be the Submission's Model_Owner's, the path must be relative and unique, the length must be declared, and the Submission's total size must stay within the Maximum_Submission_Size. Presented behind the internal shared secret.","operationId":"authorize_upload_pre_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreCreateBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Authorize Upload Pre Create"}}}},"413":{"description":"The upload is rejected because the files of the Submission would exceed the Maximum Submission Size in bytes.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#upload_too_large","title":"Upload too large","status":413,"code":"upload_too_large","detail":"The upload is rejected because the files of the Submission would exceed the Maximum Submission Size in bytes.","max_bytes":3}}}},"422":{"description":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#invalid_field","title":"Invalid field","status":422,"code":"invalid_field","detail":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","fields":[{"name":"a stated value","rule":"a stated value","limit":"a stated value"}]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}}}}},"/api/v1/internal/uploads/finished":{"post":{"tags":["internal"],"summary":"The tusd post-finish hook","description":"The file's bytes are durable in the object store, so the Verifier job is deferred on this transaction: it streams the object once, compares the client checksum with the server's (marking the file verified or corrupt, Requirements 2.3, 2.4), and runs the Custom_Code classifier in the same pass. Presented behind the internal shared secret.","operationId":"upload_finished_hook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinishedBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Upload Finished Hook"}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/uploads/hooks/{key}":{"post":{"tags":["internal"],"summary":"The tusd hook endpoint","description":"Every hook tusd sends, in tusd's own format: pre-create is authorized as /uploads/authorize (the tus ID becomes the StoredFile id), post-finish queues the Verifier as /uploads/finished, other events are acknowledged.","operationId":"tusd_hooks","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Hook"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Tusd Hooks"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/payment-webhook":{"post":{"tags":["internal"],"summary":"The payment provider's webhook","description":"One webhook delivery. The payload is untrusted until the provider's signature is verified, then the verified event reconciles: a succeeded payment queues the run, a failed one records the failure -- idempotently, so a redelivered or out-of-order delivery is a safe no-op once the run has already moved on.","operationId":"payment_webhook","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Payment Webhook"}}}}}}},"/api/v1/runs/{run_id}/mizan":{"post":{"tags":["mizan"],"summary":"Talk with MIZAN about one of your runs","description":"The run's owner talks with MIZAN, during the run or after it. MIZAN sees the run as the owner does -- status, scores, the Report, and the model as submitted and as HIM found it -- and answers in the owner's own scope, remembering this owner only. A 503 means MIZAN did not answer; nothing is invented in his place.","operationId":"talk_with_mizan","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OwnerMessage"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Talk With Mizan"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/owner-comment":{"put":{"tags":["owner-comments"],"summary":"Save the Owner_Comment of an Evaluation_Run","description":"Requirements 17.3, 17.5, 17.6: save the comment the model provider may leave next to the results, replacing any earlier comment, with the last-edited date shown next to it.","operationId":"save_owner_comment","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Save Owner Comment"}}}},"422":{"description":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#invalid_field","title":"Invalid field","status":422,"code":"invalid_field","detail":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","fields":[{"name":"a stated value","rule":"a stated value","limit":"a stated value"}]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}}}},"delete":{"tags":["owner-comments"],"summary":"Delete the Owner_Comment of an Evaluation_Run","description":"Requirements 17.4, 17.6: delete the comment and its last-edited date, without changing any result.","operationId":"remove_owner_comment","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Remove Owner Comment"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playground/models":{"get":{"tags":["playground"],"summary":"The models you can chat with","operationId":"playground_models","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Playground Models"}}}}}}},"/api/v1/playground/messages":{"post":{"tags":["playground"],"summary":"Send one Playground message","operationId":"playground_send","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Playground Send"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playground/conversation":{"get":{"tags":["playground"],"summary":"Your conversation with a model","operationId":"playground_conversation","parameters":[{"name":"model","in":"query","required":true,"schema":{"type":"string","description":"The model's key.","title":"Model"},"description":"The model's key."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Playground Conversation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/playground-opt-in":{"post":{"tags":["playground"],"summary":"Opt a Submission into the Playground","description":"Opt a Submission into the Playground. Requires Completed Evaluation_Run.","operationId":"playground_opt_in","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Playground Opt In"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/playground-opt-out":{"post":{"tags":["playground"],"summary":"Opt a Submission out of the Playground","description":"Opt a Submission out of the Playground.","operationId":"playground_opt_out","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Playground Opt Out"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/publication":{"get":{"tags":["publication"],"summary":"The publication preview of an Evaluation_Run","description":"Requirements 18.3, 18.4, 18.5: everything shown to the Model_Owner before confirming publication -- the Record Summary, the Leaderboard answer, and the Report link answer. Writes nothing.","operationId":"preview_publication","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Preview Publication"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["publication"],"summary":"Publish an Evaluation_Run","description":"Requirements 18.4-18.9, 18.13-18.15, 19.5, 19.7, 30.2: publish the run to the Leaderboard of the Season and Track, with the Report link only if ``publish_report`` is true. Refused for a duplicate Leaderboard entry of the same Season and Track (Requirement 19.2); a Defect re-run replaces the origin run's entry in place.","operationId":"publish_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Publish Run"}}}},"409":{"description":"This Model Fingerprint already has the stated Leaderboard entry in the same Season and Track.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#duplicate_leaderboard_entry","title":"Duplicate leaderboard entry","status":409,"code":"duplicate_leaderboard_entry","detail":"This Model Fingerprint already has the stated Leaderboard entry in the same Season and Track.","entry":{"key":"value"}}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["publication"],"summary":"Change the Report link answer of a published entry","description":"Requirements 18.6, 18.12, 18.13: add or remove the Report link of the run's already published entry, touching no other published field.","operationId":"set_report_visibility","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicationBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Set Report Visibility"}}}},"409":{"description":"This action is not possible in the current Run Status of the Evaluation Run.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#run_status_conflict","title":"Run status conflict","status":409,"code":"run_status_conflict","detail":"This action is not possible in the current Run Status of the Evaluation Run.","run_status":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["publication"],"summary":"Withdraw a published entry","description":"Requirements 18.11, 18.12, 20.2: withdraw the run's published entry, keeping the model in the search index only if its Submission's files were not deleted. The origin entry stays published when a Defect re-run's publication replaced it (Requirement 30.2).","operationId":"withdraw_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Withdraw Run"}}}},"409":{"description":"This action is not possible in the current Run Status of the Evaluation Run.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#run_status_conflict","title":"Run status conflict","status":409,"code":"run_status_conflict","detail":"This action is not possible in the current Run Status of the Evaluation Run.","run_status":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/load-check":{"get":{"tags":["results"],"summary":"The Load_Check outputs of an Evaluation_Run","description":"Requirement 5.6: the tests the Load_Check ran and their findings (including Every_Item_Seen and Every_Reply_Logged), each finding's full list of affected paths, and the recommended remedies of Isolation_Failure findings. ``load_check`` is null until the Load_Check has run.","operationId":"get_load_check","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Load Check"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/export":{"get":{"tags":["results"],"summary":"Export the Evaluation_Record of an Evaluation_Run","description":"Requirements 24.1, 24.5: the run's complete Evaluation_Record as one ERF/1 document, streaming with its own media type. Refused while the run has not ended. Works within the Deletion_Deadline (Requirement 26.6 keeps the record) and for re-download (Requirement 24.6).","operationId":"export_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"409":{"description":"This action is not possible in the current Run Status of the Evaluation Run.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#run_status_conflict","title":"Run status conflict","status":409,"code":"run_status_conflict","detail":"This action is not possible in the current Run Status of the Evaluation Run.","run_status":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/runs":{"post":{"tags":["runs"],"summary":"Request a new Evaluation_Run of a Submission","description":"Create a new Evaluation_Run of a Submission whose Weights and Declaration are still retained (Requirement 22.5), in the Season in progress, without any re-upload.","operationId":"create_run","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Run"}}}},"410":{"description":"The Weights and Declaration of this Submission are deleted and must be uploaded again.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#files_deleted","title":"Files deleted","status":410,"code":"files_deleted","detail":"The Weights and Declaration of this Submission are deleted and must be uploaded again."}}}},"409":{"description":"No Season is in progress, so no Evaluation Run can be created.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#no_season_in_progress","title":"No season in progress","status":409,"code":"no_season_in_progress","detail":"No Season is in progress, so no Evaluation Run can be created."}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}":{"get":{"tags":["runs"],"summary":"The Run_Status view of an Evaluation_Run","description":"The current Run_Status with the time of its last change (Requirement 25.1), the queue position while Queued (25.2), the stage progress while Generating or Grading (25.3), any waiting notice (25.8), the failure details (25.6, 25.7), the held-for-review notice with the Grading_Failed Item identifiers (25.11), the Generation_Failed Items of an Incomplete run (10.9), and the Load_Check outputs (5.6).","operationId":"get_run_status","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Run Status"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["runs"],"summary":"Delete an Evaluation_Run's Evaluation_Record","description":"Requirement 26.6: delete the Evaluation_Record including the Owner_Comment, and remove any Leaderboard entry and public model page, within the Deletion_Deadline. The Weights and Declaration of the Submission are kept, and the Audit_Log entries of the run are kept.","operationId":"delete_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Run"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/continue":{"post":{"tags":["runs"],"summary":"Confirm to continue after a duplicate-fingerprint hold","description":"Requirement 19.6: the Load_Check of a Submission whose completed upload matched a published Leaderboard entry of the Season and Track starts only after the Model_Owner confirms to continue. The existing Leaderboard entry stays published.","operationId":"continue_after_duplicate","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Continue After Duplicate"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/confirm":{"post":{"tags":["runs"],"summary":"Confirm the Load_Check result of an Evaluation_Run","description":"Confirm the Load_Check result (Requirement 5.8): select the Report language, cite the displayed price quote (Requirement 6.4), and queue the Evaluation_Run -- within the Free_Run_Quota for a Free_Tier run (6.3, 6.5), by charging the saved payment method for a Paid_Tier one (6.6), or without payment for a Defect re-run (30.5).","operationId":"confirm_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Confirm Run"}}}},"409":{"description":"This action is not possible in the current Run Status of the Evaluation Run.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#run_status_conflict","title":"Run status conflict","status":409,"code":"run_status_conflict","detail":"This action is not possible in the current Run Status of the Evaluation Run.","run_status":"a stated value"}}}},"402":{"description":"The payment failed for the stated reason. The Evaluation Run is still awaiting confirmation and can be confirmed again at the displayed price.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#payment_failed","title":"Payment failed","status":402,"code":"payment_failed","detail":"The payment failed for the stated reason. The Evaluation Run is still awaiting confirmation and can be confirmed again at the displayed price.","reason":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/cancel":{"post":{"tags":["runs"],"summary":"Cancel an Evaluation_Run","description":"Requirement 25.5: stop sending Items to HIM and the Judge_Operator, set the Run_Status to Cancelled, destroy any Sandbox of the run, and keep the recorded Model_Answers and Item_Grades.","operationId":"cancel_run","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Run"}}}},"409":{"description":"This action is not possible in the current Run Status of the Evaluation Run.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#run_status_conflict","title":"Run status conflict","status":409,"code":"run_status_conflict","detail":"This action is not possible in the current Run Status of the Evaluation Run.","run_status":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/options":{"get":{"tags":["submissions"],"summary":"How a model can arrive right now","operationId":"submission_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Submission Options"}}}}}}},"/api/v1/submissions":{"post":{"tags":["submissions"],"summary":"Create a Submission","description":"Create a Submission with its first Evaluation_Run (Run_Status Uploading). Requires a stated model licence and the confirmation of the right to submit the Weights and Declaration for evaluation (Requirement 27.1), and exactly one Track (Requirement 4.1). Requires a Season in progress.","operationId":"create_submission","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubmissionBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Submission"}}}},"422":{"description":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#invalid_field","title":"Invalid field","status":422,"code":"invalid_field","detail":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","fields":[{"name":"a stated value","rule":"a stated value","limit":"a stated value"}]}}}},"409":{"description":"No Season is in progress, so no Evaluation Run can be created.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#no_season_in_progress","title":"No season in progress","status":409,"code":"no_season_in_progress","detail":"No Season is in progress, so no Evaluation Run can be created."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}}}}},"/api/v1/submissions/{submission_id}/endpoint":{"put":{"tags":["submissions"],"summary":"Set the endpoint this model is served from","operationId":"set_submission_endpoint","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Set Submission Endpoint"}}}},"422":{"description":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#invalid_field","title":"Invalid field","status":422,"code":"invalid_field","detail":"One or more fields are invalid. Each listed field states the rule it breaks and the allowed limit.","fields":[{"name":"a stated value","rule":"a stated value","limit":"a stated value"}]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}}}},"delete":{"tags":["submissions"],"summary":"Remove this model's endpoint and its stored key","operationId":"clear_submission_endpoint","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Clear Submission Endpoint"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/finish-upload":{"post":{"tags":["submissions"],"summary":"Mark the upload of a Submission as finished","description":"Verify every file and compute the Model_Fingerprint (Requirement 2.6), or list each file that is not ready (Requirement 2.7). If the Model_Fingerprint matches a published Leaderboard entry of the same Season and Track, the run waits for `POST /runs/{id}/continue` (Requirement 19.6).","operationId":"finish_upload","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Finish Upload"}}}},"409":{"description":"The upload cannot be finished because each listed file is not fully received or is corrupt.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#upload_incomplete","title":"Upload incomplete","status":409,"code":"upload_incomplete","detail":"The upload cannot be finished because each listed file is not fully received or is corrupt.","files":[{"path":"a stated value","state":"a stated value"}]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/declaration-change-set":{"get":{"tags":["submissions"],"summary":"The pending Declaration change set","description":"The files pending against the Submission's newest Declaration version (the change-set editor's view; each pending file uploads through the same resumable upload endpoint as the original files).","operationId":"get_declaration_change_set","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Declaration Change Set"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/declaration-versions":{"post":{"tags":["submissions"],"summary":"Commit the pending Declaration change set","description":"Create the next Declaration version from the base version plus the pending change set (Requirement 3.7): a new Model_Fingerprint and Custom_Code label are computed, earlier versions stay byte-for-byte unchanged, and a new Load_Check is required before any Evaluation_Run uses the new version.","operationId":"commit_declaration_change_set","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Commit Declaration Change Set"}}}},"409":{"description":"The upload cannot be finished because each listed file is not fully received or is corrupt.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#upload_incomplete","title":"Upload incomplete","status":409,"code":"upload_incomplete","detail":"The upload cannot be finished because each listed file is not fully received or is corrupt.","files":[{"path":"a stated value","state":"a stated value"}]}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/submissions/{submission_id}/link":{"post":{"tags":["submissions"],"summary":"Link the Submission to an earlier checkpoint","description":"Link this Submission to an earlier Submission of the same Model_Owner as a later checkpoint of the same model (Requirement 31.4).","operationId":"link_checkpoint","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Link Checkpoint"}}}},"422":{"description":"The checkpoint link is refused because the stated condition is violated.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#invalid_link","title":"Invalid link","status":422,"code":"invalid_link","detail":"The checkpoint link is refused because the stated condition is violated.","condition":"a stated value"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}}}}},"/api/v1/submissions/{submission_id}/files":{"delete":{"tags":["submissions"],"summary":"Request deletion of the Submission's files","description":"Delete every Weights file and Declaration version of the Submission (Requirement 26.5), cancelling the Submission's active runs first (Requirement 26.8). The Model_Fingerprint and the Evaluation_Records are kept.","operationId":"delete_submission_files","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Submission Files"}}}},"403":{"description":"Access is denied: you are not permitted to perform this action.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#access_denied","title":"Access denied","status":403,"code":"access_denied","detail":"Access is denied: you are not permitted to perform this action."}}}},"401":{"description":"Authentication failed: the request carries no valid session or Personal Access Token.","content":{"application/problem+json":{"example":{"type":"/docs/api/errors#authentication_failed","title":"Authentication failed","status":401,"code":"authentication_failed","detail":"Authentication failed: the request carries no valid session or Personal Access Token."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/tokens":{"get":{"tags":["tokens"],"summary":"List the Personal_Access_Tokens of the signed-in account","description":"Every Personal_Access_Token of the requester, with its name, creation time, last-use time (or null when it has not been used), and revocation time for a revoked token. No secret is ever listed (Requirement 32.2).","operationId":"list_personal_access_tokens","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenListResponse"}}}}}},"post":{"tags":["tokens"],"summary":"Create a Personal_Access_Token","description":"Create a Personal_Access_Token with a name of 1 to 100 characters. Web-only (Requirement 32.1): requires a signed-in session, never another Personal_Access_Token. The token secret is shown in this one response and never again.","operationId":"create_personal_access_token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenNameBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedTokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/tokens/{token_id}":{"delete":{"tags":["tokens"],"summary":"Revoke a Personal_Access_Token","description":"Revoke one of the requester's Personal_Access_Tokens. Every request presenting it after the confirmation is denied (Requirement 32.4). Revoking twice keeps the earlier revocation time.","operationId":"revoke_personal_access_token","parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccessGrantBody":{"properties":{"target_kind":{"type":"string","enum":["submission","evaluation_run"],"title":"Target Kind"},"target_id":{"type":"string","format":"uuid","title":"Target Id"},"purpose":{"type":"string","enum":["technical_support","quality"],"title":"Purpose"},"review_entry_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Review Entry Id"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"}},"type":"object","required":["target_kind","target_id","purpose"],"title":"AccessGrantBody","description":"Requirement 29.7's grant: an Investigation purpose, and a matter naming the\ninvestigation -- the review entry id, or a 1-2000 character description. Exactly one\nof the two."},"BattleBody":{"properties":{"prompt":{"type":"string","title":"Prompt"}},"additionalProperties":false,"type":"object","required":["prompt"],"title":"BattleBody"},"CommentBody":{"properties":{"text":{"type":"string","maxLength":5000,"minLength":1,"title":"Text"}},"type":"object","required":["text"],"title":"CommentBody","description":"The Owner_Comment's text (Requirement 17.3's free text, at most 5000 characters)."},"ConfirmBody":{"properties":{"report_language":{"type":"string","enum":["ar","en"],"title":"Report Language"},"price_quote_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Price Quote Id"}},"type":"object","required":["report_language"],"title":"ConfirmBody","description":"Requirement 15.8's Report language selection, and the price quote the Model_Owner\nconfirmed (Requirement 6.4: a Paid_Tier confirmation cites the quote that displayed\nthe price)."},"CreateSubmissionBody":{"properties":{"model_name":{"type":"string","maxLength":500,"minLength":1,"title":"Model Name"},"track":{"type":"string","enum":["base","finished"],"title":"Track"},"stated_licence":{"type":"string","maxLength":500,"minLength":1,"title":"Stated Licence"},"rights_confirmed":{"type":"boolean","title":"Rights Confirmed"}},"type":"object","required":["model_name","track","stated_licence","rights_confirmed"],"title":"CreateSubmissionBody","description":"Requirement 27.1's pre-upload confirmation: the model's name, its licence, the\nright to submit it, and exactly one Track (Requirement 4.1)."},"CreatedTokenResponse":{"properties":{"token_id":{"type":"string","format":"uuid","title":"Token Id"},"name":{"type":"string","title":"Name"},"token":{"type":"string","title":"Token"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["token_id","name","token","created_at"],"title":"CreatedTokenResponse","description":"The one-time response that shows the secret (Requirement 32.2)."},"CredibilityMarkerBody":{"properties":{"text_ar":{"type":"string","maxLength":2000,"title":"Text Ar","default":""},"text_en":{"type":"string","maxLength":2000,"title":"Text En","default":""},"link":{"type":"string","maxLength":2000,"minLength":1,"title":"Link"}},"type":"object","required":["link"],"title":"CredibilityMarkerBody","description":"One Credibility marker as the Service_Administrator sets it (Requirement 33.4): the\nArabic and English texts (the service requires at least one of them non-blank) and the\nlink target."},"CredibilityMarkersBody":{"properties":{"markers":{"items":{"$ref":"#/components/schemas/CredibilityMarkerBody"},"type":"array","title":"Markers"}},"type":"object","required":["markers"],"title":"CredibilityMarkersBody","description":"The whole ordered Credibility marker set, replacing the stored set atomically."},"DefectNoticeBody":{"properties":{"component":{"type":"string","enum":["him","judge_operator","task_set","configuration"],"title":"Component"},"text":{"type":"string","minLength":1,"title":"Text"}},"type":"object","required":["component","text"],"title":"DefectNoticeBody"},"EndpointBody":{"properties":{"kind":{"type":"string","enum":["openai_endpoint","anthropic_endpoint","custom_http"],"title":"Kind"},"url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Url"},"model":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Model"},"api_key":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}],"title":"Api Key"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"},"options":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Options"},"parameter_count":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Parameter Count"}},"additionalProperties":false,"type":"object","required":["kind"],"title":"EndpointBody","description":"Any model, any configuration: where it is served from and how to reach it. The key and\nheaders go to the secret store, never the database."},"FinishedBody":{"properties":{"stored_file_id":{"type":"string","format":"uuid","title":"Stored File Id"}},"type":"object","required":["stored_file_id"],"title":"FinishedBody"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Health":{"properties":{"status":{"type":"string","const":"ok","title":"Status"}},"type":"object","required":["status"],"title":"Health"},"HubChatGrantBody":{"properties":{"conversation_id":{"type":"string","format":"uuid","title":"Conversation Id"},"purpose":{"type":"string","enum":["technical_support","quality"],"title":"Purpose"}},"type":"object","required":["conversation_id","purpose"],"title":"HubChatGrantBody","description":"Requirement 29.9's Hub_Chat conversation grant: a purpose only, never a matter."},"HubChatJudgeVersionBody":{"properties":{"judge_version":{"type":"string","minLength":1,"title":"Judge Version"}},"type":"object","required":["judge_version"],"title":"HubChatJudgeVersionBody"},"JudgeVersionBody":{"properties":{"id":{"type":"string","minLength":1,"title":"Id"},"opsoul_operator_id":{"type":"string","minLength":1,"title":"Opsoul Operator Id"},"grading_instructions_version":{"type":"string","minLength":1,"title":"Grading Instructions Version"},"hub_chat_instructions_version":{"type":"string","minLength":1,"title":"Hub Chat Instructions Version"},"settings":{"additionalProperties":true,"type":"object","title":"Settings"}},"type":"object","required":["id","opsoul_operator_id","grading_instructions_version","hub_chat_instructions_version"],"title":"JudgeVersionBody"},"LinkBody":{"properties":{"earlier_submission_id":{"type":"string","format":"uuid","title":"Earlier Submission Id"}},"type":"object","required":["earlier_submission_id"],"title":"LinkBody"},"MessageBody":{"properties":{"model":{"type":"string","title":"Model"},"message":{"type":"string","title":"Message"}},"additionalProperties":false,"type":"object","required":["model","message"],"title":"MessageBody"},"NewSandboxBody":{"properties":{"him_image_digest":{"type":"string","minLength":1,"title":"Him Image Digest"}},"type":"object","required":["him_image_digest"],"title":"NewSandboxBody"},"OwnerMessage":{"properties":{"message":{"type":"string","maxLength":2000,"minLength":1,"title":"Message"}},"type":"object","required":["message"],"title":"OwnerMessage"},"PreCreateBody":{"properties":{"submission_id":{"type":"string","format":"uuid","title":"Submission Id"},"role":{"type":"string","enum":["weights","declaration"],"title":"Role"},"path":{"type":"string","maxLength":1024,"minLength":1,"title":"Path"},"sha256":{"type":"string","maxLength":64,"minLength":64,"title":"Sha256"},"upload_length":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Upload Length"}},"type":"object","required":["submission_id","role","path","sha256"],"title":"PreCreateBody","description":"The tusd hook's own view of one upload about to start: the tus metadata this\nservice defined (``role``, ``path``, ``sha256``, the Submission id), and the\ndeclared ``Upload-Length`` the design requires (a deferred length is refused)."},"PublicationBody":{"properties":{"publish_report":{"type":"boolean","title":"Publish Report"}},"type":"object","required":["publish_report"],"title":"PublicationBody","description":"Requirement 18.4's own answer: whether the Report link is published with the entry\n(Requirement 18.5)."},"Registered":{"properties":{"status":{"type":"string","const":"signed_in","title":"Status"},"account_id":{"type":"string","format":"uuid","title":"Account Id"}},"type":"object","required":["status","account_id"],"title":"Registered"},"RegistrationBody":{"properties":{"display_name":{"type":"string","maxLength":500,"minLength":1,"title":"Display Name"},"interface_language":{"type":"string","enum":["ar","en"],"title":"Interface Language"}},"type":"object","required":["display_name","interface_language"],"title":"RegistrationBody","description":"The web-only registration form (Requirement 1.5): the Model_Owner display name and\nthe Interface language, as the person entered them."},"RevokedResponse":{"properties":{"status":{"type":"string","const":"revoked","title":"Status"},"token_id":{"type":"string","format":"uuid","title":"Token Id"},"revoked_at":{"type":"string","title":"Revoked At"}},"type":"object","required":["status","token_id","revoked_at"],"title":"RevokedResponse"},"SeasonBody":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"SeasonBody"},"SignInStarted":{"properties":{"status":{"type":"string","const":"sign_in_started","title":"Status"},"authorization_url":{"type":"string","title":"Authorization Url"}},"type":"object","required":["status","authorization_url"],"title":"SignInStarted","description":"The sign-in response: where the web app must send the browser."},"SignedOut":{"properties":{"status":{"type":"string","const":"signed_out","title":"Status"}},"type":"object","required":["status"],"title":"SignedOut"},"TechnicalNoticeBody":{"properties":{"text":{"type":"string","minLength":1,"title":"Text"}},"type":"object","required":["text"],"title":"TechnicalNoticeBody"},"TokenEntry":{"properties":{"token_id":{"type":"string","format":"uuid","title":"Token Id"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["token_id","name","created_at","last_used_at","revoked_at"],"title":"TokenEntry"},"TokenListResponse":{"properties":{"tokens":{"items":{"$ref":"#/components/schemas/TokenEntry"},"type":"array","title":"Tokens"}},"type":"object","required":["tokens"],"title":"TokenListResponse"},"TokenNameBody":{"properties":{"name":{"type":"string","maxLength":500,"minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"TokenNameBody"},"TrackSettingsBody":{"properties":{"judge_version":{"type":"string","minLength":1,"title":"Judge Version"},"task_set_version_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Task Set Version Ids"},"generation_settings":{"additionalProperties":true,"type":"object","title":"Generation Settings"},"repetition_rule":{"additionalProperties":true,"type":"object","title":"Repetition Rule"},"normalisation":{"items":{"type":"string"},"type":"array","title":"Normalisation"},"aggregation_method":{"type":"string","enum":["item_share","category_mean"],"title":"Aggregation Method"},"report_length_limit":{"type":"integer","exclusiveMinimum":0.0,"title":"Report Length Limit"}},"type":"object","required":["judge_version","task_set_version_ids","generation_settings","repetition_rule","normalisation","aggregation_method","report_length_limit"],"title":"TrackSettingsBody","description":"The Season Track settings of the design's Season component, as the Season starts\nconsuming them: the Judge_Version for grading, the Task_Set_Versions in order, the\ngeneration settings, the repetition rule, the answer normalisation, the aggregation\nmethod, and the Report length limit."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerificationRerunBody":{"properties":{"purpose":{"type":"string","maxLength":2000,"minLength":1,"title":"Purpose"}},"type":"object","required":["purpose"],"title":"VerificationRerunBody"},"VoteBody":{"properties":{"choice":{"type":"string","enum":["a","b"],"title":"Choice"}},"additionalProperties":false,"type":"object","required":["choice"],"title":"VoteBody"},"WhoAmI":{"properties":{"account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Account Id"},"is_admin":{"type":"boolean","title":"Is Admin"},"mfa":{"type":"boolean","title":"Mfa"},"authenticated":{"type":"boolean","title":"Authenticated"}},"type":"object","required":["account_id","is_admin","mfa","authenticated"],"title":"WhoAmI","description":"What the session currently is: the identity every other route will authorize."}}}}