{"openapi":"3.1.0","info":{"title":"Nexis Validator API","version":"2.0.0"},"paths":{"/v1/training-scores":{"post":{"summary":"Post Training Scores","operationId":"post_training_scores_v1_training_scores_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingScoresIngestResponse"}}}}}}},"/v1/get_latest_total_score":{"get":{"summary":"Get Latest Total Score","operationId":"get_latest_total_score_v1_get_latest_total_score_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/get_total_score/{cycle_id}":{"get":{"summary":"Get Total Score For Cycle","operationId":"get_total_score_for_cycle_v1_get_total_score__cycle_id__get","parameters":[{"name":"cycle_id","in":"path","required":true,"schema":{"type":"integer","title":"Cycle Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/invalid-hotkeys":{"get":{"summary":"List Invalid Hotkeys","operationId":"list_invalid_hotkeys_v1_invalid_hotkeys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidHotkeysListResponse"}}}}}},"post":{"summary":"Post Invalid Hotkeys","operationId":"post_invalid_hotkeys_v1_invalid_hotkeys_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidHotkeysIngestResponse"}}}}}},"delete":{"summary":"Reset Invalid Hotkeys","operationId":"reset_invalid_hotkeys_v1_invalid_hotkeys_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidHotkeysResetResponse"}}}}}}},"/v1/get_blacklist":{"get":{"summary":"Get Blacklist","operationId":"get_blacklist_v1_get_blacklist_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlacklistResponse"}}}}}}},"/v1/admin/refresh-record-info/{cycle_id}":{"post":{"summary":"Admin Refresh Record Info","description":"Manually trigger the record_info refresh for one cycle.\n\nBypasses the owner-hotkey check (`maybe_update` does the work directly\ninstead of going through `schedule()`).  Used to verify the bucket\ncreds + dataset_index pipeline are wired correctly without waiting\nfor the owner validator to POST scores.","operationId":"admin_refresh_record_info_v1_admin_refresh_record_info__cycle_id__post","parameters":[{"name":"cycle_id","in":"path","required":true,"schema":{"type":"integer","title":"Cycle Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthz":{"get":{"summary":"Healthz","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Healthz Healthz Get"}}}}}}}},"components":{"schemas":{"BlacklistResponse":{"properties":{"blacklist_hotkeys":{"items":{"type":"string"},"type":"array","title":"Blacklist Hotkeys"}},"type":"object","title":"BlacklistResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InvalidHotkeysIngestResponse":{"properties":{"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"saved_count":{"type":"integer","minimum":0.0,"title":"Saved Count"}},"type":"object","required":["validator_hotkey","saved_count"],"title":"InvalidHotkeysIngestResponse"},"InvalidHotkeysListResponse":{"properties":{"invalid_hotkeys":{"items":{"type":"string"},"type":"array","title":"Invalid Hotkeys"}},"type":"object","title":"InvalidHotkeysListResponse"},"InvalidHotkeysResetResponse":{"properties":{"cleared":{"type":"integer","minimum":0.0,"title":"Cleared"}},"type":"object","required":["cleared"],"title":"InvalidHotkeysResetResponse"},"TrainingScoresIngestResponse":{"properties":{"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"cycle_id":{"type":"integer","minimum":1.0,"title":"Cycle Id"},"miner_count":{"type":"integer","minimum":0.0,"title":"Miner Count"}},"type":"object","required":["validator_hotkey","cycle_id","miner_count"],"title":"TrainingScoresIngestResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}