{"openapi":"3.1.0","info":{"title":"BASE Challenge Proxy","version":"1.0"},"paths":{"/v1/challenges/{challenge_name}/submissions":{"post":{"summary":"Upload Submission","operationId":"upload_submission_v1_challenges__challenge_name__submissions_post","parameters":[{"name":"challenge_name","in":"path","required":true,"schema":{"type":"string","title":"Challenge Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/challenges/{challenge_name}/submissions/{submission_id}":{"get":{"summary":"Bridge Submission Status","operationId":"bridge_submission_status_v1_challenges__challenge_name__submissions__submission_id__get","parameters":[{"name":"challenge_name","in":"path","required":true,"schema":{"type":"string","title":"Challenge Name"}},{"name":"submission_id","in":"path","required":true,"schema":{"type":"string","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/challenges/{slug}":{"patch":{"summary":"Proxy Root","operationId":"proxy_root_challenges__slug__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Proxy Root","operationId":"proxy_root_challenges__slug__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"summary":"Proxy Root","operationId":"proxy_root_challenges__slug__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Proxy Root","operationId":"proxy_root_challenges__slug__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Proxy Root","operationId":"proxy_root_challenges__slug__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Proxy Root","operationId":"proxy_root_challenges__slug__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Proxy Root","operationId":"proxy_root_challenges__slug__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/challenges/{slug}/{path}":{"patch":{"summary":"Proxy Path","operationId":"proxy_path_challenges__slug___path__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Proxy Path","operationId":"proxy_path_challenges__slug___path__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"summary":"Proxy Path","operationId":"proxy_path_challenges__slug___path__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Proxy Path","operationId":"proxy_path_challenges__slug___path__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Proxy Path","operationId":"proxy_path_challenges__slug___path__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Proxy Path","operationId":"proxy_path_challenges__slug___path__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Proxy Path","operationId":"proxy_path_challenges__slug___path__patch","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/registry":{"get":{"summary":"Get Registry","operationId":"get_registry_v1_registry_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryResponse"}}}}}}},"/v1/validators/public":{"get":{"summary":"Get Public Validators","description":"Open (no-token) read of the validator directory (safe fields only).\n\nReturns every registered validator with only safe fields plus the\nresolved per-validator and top-level subnet identity. ``?challenge=``\nnarrows the list to validators that validate that slug (explicitly\nsubscribed, or unrestricted); an unknown slug is handled gracefully\n(only unrestricted validators match). NEVER exposes raw\n``last_seen_meta``, tokens, or secrets.","operationId":"get_public_validators_v1_validators_public_get","parameters":[{"name":"challenge","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Challenge"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicValidatorsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/weights/latest":{"get":{"summary":"Get Latest Weights","operationId":"get_latest_weights_v1_weights_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MasterWeightsResponse"}}}}}}},"/v1/challenges/dashboard.svg":{"get":{"summary":"Get Challenges Dashboard Svg","operationId":"get_challenges_dashboard_svg_v1_challenges_dashboard_svg_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin":{"get":{"summary":"Admin Home","operationId":"admin_home_admin_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/challenges":{"get":{"summary":"Admin Challenges","operationId":"admin_challenges_admin_challenges_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/challenges":{"post":{"summary":"Create Challenge","operationId":"create_challenge_v1_admin_challenges_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/challenges/{slug}":{"get":{"summary":"Get Challenge","operationId":"get_challenge_v1_admin_challenges__slug__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeAdminView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Patch Challenge","operationId":"patch_challenge_v1_admin_challenges__slug__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeAdminView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/challenges/{slug}/activate":{"post":{"summary":"Activate Challenge","operationId":"activate_challenge_v1_admin_challenges__slug__activate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeAdminView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/challenges/{slug}/deactivate":{"post":{"summary":"Deactivate Challenge","operationId":"deactivate_challenge_v1_admin_challenges__slug__deactivate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeAdminView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/challenges/{slug}/pull":{"post":{"summary":"Pull Challenge","operationId":"pull_challenge_v1_admin_challenges__slug__pull_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeOperationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/challenges/{slug}/restart":{"post":{"summary":"Restart Challenge","operationId":"restart_challenge_v1_admin_challenges__slug__restart_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeOperationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/challenges/{slug}/status":{"get":{"summary":"Challenge Status","operationId":"challenge_status_v1_admin_challenges__slug__status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeOperationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/validators/register":{"post":{"summary":"Register Validator","operationId":"register_validator_v1_validators_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatorRegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatorRegisterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/validators/heartbeat":{"post":{"summary":"Heartbeat Validator","operationId":"heartbeat_validator_v1_validators_heartbeat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatorHeartbeatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatorHeartbeatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/validators/subscriptions":{"post":{"summary":"Set Subscriptions","operationId":"set_subscriptions_v1_validators_subscriptions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatorSubscriptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatorSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/validators":{"get":{"summary":"List Validators","operationId":"list_validators_v1_validators_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatorListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assignments/pull":{"post":{"summary":"Pull Assignments","operationId":"pull_assignments_v1_assignments_pull_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentPullResponse"}}}}}}},"/v1/assignments/{assignment_id}/progress":{"post":{"summary":"Assignment Progress","operationId":"assignment_progress_v1_assignments__assignment_id__progress_post","parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","title":"Assignment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentProgressRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentProgressResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assignments/{assignment_id}/result":{"post":{"summary":"Assignment Result","operationId":"assignment_result_v1_assignments__assignment_id__result_post","parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","title":"Assignment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentResultRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignmentResultResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/llm/v1/{path}":{"post":{"summary":"Llm V1","operationId":"llm_v1_llm_v1__path__post","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AssignmentProgressRequest":{"properties":{"checkpoint_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint Ref"},"meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta"}},"type":"object","title":"AssignmentProgressRequest","description":"Body for ``POST /v1/assignments/{id}/progress``."},"AssignmentProgressResponse":{"properties":{"status":{"type":"string","title":"Status"},"deadline_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deadline At"},"last_progress_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Progress At"},"checkpoint_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint Ref"}},"type":"object","required":["status"],"title":"AssignmentProgressResponse","description":"Response for a successful progress heartbeat."},"AssignmentPullResponse":{"properties":{"assignments":{"items":{"$ref":"#/components/schemas/AssignmentView"},"type":"array","title":"Assignments"}},"type":"object","title":"AssignmentPullResponse","description":"Response for ``POST /v1/assignments/pull``."},"AssignmentResultRequest":{"properties":{"success":{"type":"boolean","title":"Success"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"checkpoint_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint Ref"}},"type":"object","required":["success"],"title":"AssignmentResultRequest","description":"Body for ``POST /v1/assignments/{id}/result``."},"AssignmentResultResponse":{"properties":{"status":{"type":"string","title":"Status"},"result_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result Ref"},"idempotent":{"type":"boolean","title":"Idempotent","default":false}},"type":"object","required":["status"],"title":"AssignmentResultResponse","description":"Response for a result post (idempotent when already terminal)."},"AssignmentView":{"properties":{"id":{"type":"string","title":"Id"},"challenge_slug":{"type":"string","title":"Challenge Slug"},"work_unit_id":{"type":"string","title":"Work Unit Id"},"submission_ref":{"type":"string","title":"Submission Ref"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"required_capability":{"type":"string","title":"Required Capability"},"status":{"type":"string","title":"Status"},"attempt_count":{"type":"integer","title":"Attempt Count"},"max_attempts":{"type":"integer","title":"Max Attempts"},"deadline_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deadline At"},"last_progress_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Progress At"},"checkpoint_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint Ref"}},"type":"object","required":["id","challenge_slug","work_unit_id","submission_ref","required_capability","status","attempt_count","max_attempts"],"title":"AssignmentView","description":"Public view of a coordinated work-unit assignment for a validator."},"ChallengeAdminView":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"image":{"type":"string","title":"Image"},"version":{"type":"string","title":"Version"},"emission_percent":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Emission Percent"},"status":{"$ref":"#/components/schemas/ChallengeStatus"},"token_hint":{"type":"string","title":"Token Hint"},"broker_token_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Broker Token Hint"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"api_version":{"type":"string","title":"Api Version"},"internal_base_url":{"type":"string","title":"Internal Base Url"},"public_proxy_base_path":{"type":"string","title":"Public Proxy Base Path"},"required_capabilities":{"items":{"type":"string"},"type":"array","title":"Required Capabilities"},"resources":{"additionalProperties":{"type":"string"},"type":"object","title":"Resources"},"volumes":{"additionalProperties":{"type":"string"},"type":"object","title":"Volumes"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env"},"secrets":{"items":{"type":"string"},"type":"array","title":"Secrets"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["slug","name","image","version","emission_percent","status","token_hint","api_version","internal_base_url","public_proxy_base_path","required_capabilities","resources","volumes","env","secrets","metadata","created_at","updated_at"],"title":"ChallengeAdminView","description":"Admin-safe challenge representation."},"ChallengeCreate":{"properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9][a-z0-9-]*[a-z0-9]$","title":"Slug"},"name":{"type":"string","minLength":1,"title":"Name"},"image":{"type":"string","minLength":1,"title":"Image"},"version":{"type":"string","minLength":1,"title":"Version"},"emission_percent":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Emission Percent","default":"0"},"status":{"$ref":"#/components/schemas/ChallengeStatus","default":"draft"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"api_version":{"type":"string","minLength":1,"title":"Api Version","default":"1.0"},"internal_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Internal Base Url"},"required_capabilities":{"items":{"type":"string"},"type":"array","title":"Required Capabilities"},"resources":{"additionalProperties":{"type":"string"},"type":"object","title":"Resources"},"volumes":{"additionalProperties":{"type":"string"},"type":"object","title":"Volumes"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env"},"secrets":{"items":{"type":"string"},"type":"array","title":"Secrets"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["slug","name","image","version"],"title":"ChallengeCreate","description":"Payload for creating challenge metadata."},"ChallengeCreateResponse":{"properties":{"challenge":{"$ref":"#/components/schemas/ChallengeAdminView"},"challenge_token":{"type":"string","minLength":1,"title":"Challenge Token"},"docker_broker_token":{"type":"string","minLength":1,"title":"Docker Broker Token"}},"type":"object","required":["challenge","challenge_token","docker_broker_token"],"title":"ChallengeCreateResponse","description":"Create response that returns the clear token exactly once."},"ChallengeStatus":{"type":"string","enum":["active","inactive","disabled","draft"],"title":"ChallengeStatus","description":"Lifecycle status for a registered challenge."},"ChallengeUpdate":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"image":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Image"},"version":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Version"},"emission_percent":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Emission Percent"},"status":{"anyOf":[{"$ref":"#/components/schemas/ChallengeStatus"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"api_version":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Api Version"},"internal_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Internal Base Url"},"required_capabilities":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Required Capabilities"},"resources":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Resources"},"volumes":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Volumes"},"env":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Env"},"secrets":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Secrets"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"ChallengeUpdate","description":"Payload for patching mutable challenge metadata."},"ChallengeWeightsResult":{"properties":{"slug":{"type":"string","title":"Slug"},"emission_percent":{"type":"number","title":"Emission Percent"},"weights":{"additionalProperties":{"type":"number"},"type":"object","title":"Weights"},"ok":{"type":"boolean","title":"Ok","default":true},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["slug","emission_percent"],"title":"ChallengeWeightsResult"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MasterWeightsResponse":{"properties":{"netuid":{"type":"integer","title":"Netuid"},"chain_endpoint":{"type":"string","title":"Chain Endpoint"},"uids":{"items":{"type":"integer"},"type":"array","title":"Uids"},"weights":{"items":{"type":"number"},"type":"array","title":"Weights"},"hotkey_weights":{"additionalProperties":{"type":"number"},"type":"object","title":"Hotkey Weights"},"computed_at":{"type":"string","format":"date-time","title":"Computed At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"source_challenges":{"items":{"$ref":"#/components/schemas/ChallengeWeightsResult"},"type":"array","title":"Source Challenges"},"metagraph_updated_at":{"type":"string","format":"date-time","title":"Metagraph Updated At"}},"type":"object","required":["netuid","chain_endpoint","uids","weights","computed_at","expires_at","source_challenges","metagraph_updated_at"],"title":"MasterWeightsResponse"},"PublicIdentityView":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"}},"type":"object","title":"PublicIdentityView","description":"Render-safe resolved identity (display name + logo URL).\n\nUsed for both a validator's resolved identity and the top-level subnet\nidentity. A self-declared identity is UNTRUSTED; consumers MUST sanitize it\non render and never execute the logo URL."},"PublicValidatorView":{"properties":{"hotkey":{"type":"string","title":"Hotkey"},"uid":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uid"},"status":{"type":"string","title":"Status"},"online":{"type":"boolean","title":"Online"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"subscriptions":{"items":{"type":"string"},"type":"array","title":"Subscriptions"},"last_heartbeat_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Heartbeat At"},"identity":{"anyOf":[{"$ref":"#/components/schemas/PublicIdentityView"},{"type":"null"}]}},"type":"object","required":["hotkey","status","online"],"title":"PublicValidatorView","description":"Safe, anonymous-facing view of a validator for the open directory API.\n\nExposes ONLY fields safe for public consumption. It deliberately omits raw\n``last_seen_meta``, tokens, and any other secret; it is NOT the privileged\nadmin :class:`ValidatorView`."},"PublicValidatorsResponse":{"properties":{"validators":{"items":{"$ref":"#/components/schemas/PublicValidatorView"},"type":"array","title":"Validators"},"subnet":{"anyOf":[{"$ref":"#/components/schemas/PublicIdentityView"},{"type":"null"}]}},"type":"object","title":"PublicValidatorsResponse","description":"Response for the open ``GET /v1/validators/public`` directory API."},"RegistryChallenge":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"image":{"type":"string","title":"Image"},"version":{"type":"string","title":"Version"},"emission_percent":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Emission Percent"},"status":{"$ref":"#/components/schemas/ChallengeStatus"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"internal_base_url":{"type":"string","title":"Internal Base Url"},"public_proxy_base_path":{"type":"string","title":"Public Proxy Base Path"},"required_capabilities":{"items":{"type":"string"},"type":"array","title":"Required Capabilities"},"resources":{"additionalProperties":{"type":"string"},"type":"object","title":"Resources"},"volumes":{"additionalProperties":{"type":"string"},"type":"object","title":"Volumes"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env"},"secrets":{"items":{"type":"string"},"type":"array","title":"Secrets"}},"type":"object","required":["slug","name","image","version","emission_percent","status","internal_base_url","public_proxy_base_path","required_capabilities","resources","volumes","env","secrets"],"title":"RegistryChallenge","description":"Challenge metadata exposed through the registry endpoint."},"RegistryResponse":{"properties":{"network":{"type":"string","title":"Network","default":"base"},"api_version":{"type":"string","title":"Api Version","default":"1.0"},"master_uid":{"type":"integer","title":"Master Uid","default":0},"challenges":{"items":{"$ref":"#/components/schemas/RegistryChallenge"},"type":"array","title":"Challenges"}},"type":"object","required":["challenges"],"title":"RegistryResponse","description":"Validator-facing registry response."},"RuntimeOperationResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"operation":{"type":"string","title":"Operation"},"status":{"type":"string","title":"Status"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["slug","operation","status"],"title":"RuntimeOperationResponse","description":"Response for runtime operations such as pull and restart."},"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"},"ValidatorHeartbeatRequest":{"properties":{"last_seen_meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Last Seen Meta"}},"type":"object","title":"ValidatorHeartbeatRequest","description":"Body for ``POST /v1/validators/heartbeat``."},"ValidatorHeartbeatResponse":{"properties":{"status":{"type":"string","title":"Status"},"now":{"type":"string","format":"date-time","title":"Now"}},"type":"object","required":["status","now"],"title":"ValidatorHeartbeatResponse","description":"Response for a successful validator heartbeat."},"ValidatorListResponse":{"properties":{"validators":{"items":{"$ref":"#/components/schemas/ValidatorView"},"type":"array","title":"Validators"}},"type":"object","title":"ValidatorListResponse","description":"Response for the token-gated admin validator read view."},"ValidatorRegisterRequest":{"properties":{"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"last_seen_meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Last Seen Meta"}},"type":"object","title":"ValidatorRegisterRequest","description":"Body for ``POST /v1/validators/register``."},"ValidatorRegisterResponse":{"properties":{"validator":{"$ref":"#/components/schemas/ValidatorView"},"heartbeat_interval_seconds":{"type":"integer","title":"Heartbeat Interval Seconds"}},"type":"object","required":["validator","heartbeat_interval_seconds"],"title":"ValidatorRegisterResponse","description":"Response for a successful validator registration."},"ValidatorSubscriptionRequest":{"properties":{"slugs":{"items":{"type":"string"},"type":"array","title":"Slugs"}},"type":"object","title":"ValidatorSubscriptionRequest","description":"Body for ``POST /v1/validators/subscriptions``.\n\n``slugs`` is the set of challenge slugs the validator opts in to. An empty\nlist clears the subscription (the validator validates ALL challenges)."},"ValidatorSubscriptionResponse":{"properties":{"validator":{"$ref":"#/components/schemas/ValidatorView"},"subscriptions":{"items":{"type":"string"},"type":"array","title":"Subscriptions"}},"type":"object","required":["validator"],"title":"ValidatorSubscriptionResponse","description":"Response for a successful subscription update."},"ValidatorView":{"properties":{"hotkey":{"type":"string","title":"Hotkey"},"uid":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uid"},"status":{"type":"string","title":"Status"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"subscriptions":{"items":{"type":"string"},"type":"array","title":"Subscriptions"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"registered_at":{"type":"string","format":"date-time","title":"Registered At"},"last_heartbeat_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Heartbeat At"},"last_seen_meta":{"additionalProperties":true,"type":"object","title":"Last Seen Meta"}},"type":"object","required":["hotkey","status","registered_at"],"title":"ValidatorView","description":"Public view of a registered validator row."}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}