{"openapi":"3.1.0","info":{"title":"Workloft Labs API","description":"Daily-curated AI research picks scored on Workloft's 9-axis rubric with REG FIT (regulator-deployability). The Bloomberg of regulated AI research, accessible by API + MCP.","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Head"}}}}}},"head":{"summary":"Health","operationId":"health_health_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Head"}}}}}}},"/v1/stats":{"get":{"summary":"Stats","operationId":"stats_v1_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Stats V1 Stats Get"}}}}}}},"/v1/axes":{"get":{"summary":"Axes","operationId":"axes_v1_axes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Axes V1 Axes Get"}}}}}}},"/v1/daily/latest":{"get":{"summary":"Daily Latest","operationId":"daily_latest_v1_daily_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/daily/{date}":{"get":{"summary":"Daily Snapshot","operationId":"daily_snapshot_v1_daily__date__get","parameters":[{"name":"date","in":"path","required":true,"schema":{"type":"string","title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/recent":{"get":{"summary":"Recent Public","operationId":"recent_public_v1_recent_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Recent Public V1 Recent Get"}}}}}}},"/v1/papers":{"get":{"summary":"List Papers","operationId":"list_papers_v1_papers_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"axis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Axis"}},{"name":"min_score","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Min Score"}},{"name":"min_reg_fit","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Min Reg Fit"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":25,"title":"Limit"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Papers V1 Papers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/papers/{arxiv_id}":{"get":{"summary":"Get Paper","operationId":"get_paper_v1_papers__arxiv_id__get","parameters":[{"name":"arxiv_id","in":"path","required":true,"schema":{"type":"string","title":"Arxiv Id"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Paper V1 Papers  Arxiv Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me":{"get":{"summary":"Me","operationId":"me_v1_me_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Me V1 Me Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify":{"post":{"summary":"Verify","description":"Pre-send verification for outbound agents — public playground.\n\nWraps gitlab.com/Alfpl/agent-verifier. Free, no key required, rate-limited\nto 20 calls/hour/IP. For production use, install the OSS package locally\nor contact alfred@workloft.ai for a self-hosted endpoint.","operationId":"verify_v1_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Verify V1 Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/score/submit":{"post":{"summary":"Substrate Submit","description":"Submit an agent runtime for Workloft Substrate Score evaluation.\n\nPublic, rate-limited at 3 submissions per IP per 24h. Submissions are\nqueued and scored asynchronously by Walt against the published 9 axes\n(see /v1/axes). Typical wait: under one hour.","operationId":"substrate_submit_v1_score_submit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubstrateSubmission"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Substrate Submit V1 Score Submit Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/score/submission/{submission_id}":{"get":{"summary":"Substrate Get Submission","operationId":"substrate_get_submission_v1_score_submission__submission_id__get","parameters":[{"name":"submission_id","in":"path","required":true,"schema":{"type":"integer","title":"Submission Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Substrate Get Submission V1 Score Submission  Submission Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/score/leaderboard":{"get":{"summary":"Substrate Leaderboard","operationId":"substrate_leaderboard_v1_score_leaderboard_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":25,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Substrate Leaderboard V1 Score Leaderboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys":{"post":{"summary":"Issue Key","description":"Self-issue a free-tier key. One per IP per day to keep noise out.","operationId":"issue_key_v1_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyIssueRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Issue Key V1 Keys Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KeyIssueRequest":{"properties":{"email":{"type":"string","maxLength":120,"minLength":3,"title":"Email"},"label":{"type":"string","maxLength":80,"minLength":1,"title":"Label"}},"type":"object","required":["email","label"],"title":"KeyIssueRequest"},"SubstrateSubmission":{"properties":{"runtime_name":{"type":"string","maxLength":80,"minLength":2,"title":"Runtime Name"},"vendor":{"type":"string","maxLength":80,"minLength":2,"title":"Vendor"},"url":{"type":"string","maxLength":400,"minLength":8,"title":"Url"},"description":{"type":"string","maxLength":2000,"minLength":40,"title":"Description","description":"Plain-English summary of the runtime — what it does, what's substrate-interesting about it. Walt scores from this + the URL contents."},"contact_email":{"type":"string","maxLength":120,"minLength":3,"title":"Contact Email"}},"type":"object","required":["runtime_name","vendor","url","description","contact_email"],"title":"SubstrateSubmission"},"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"},"VerifyOptions":{"properties":{"weekend_block":{"type":"boolean","title":"Weekend Block","description":"Block sends on Sat/Sun in the chosen tz","default":false},"timezone":{"type":"string","title":"Timezone","description":"IANA timezone for the calendar check","default":"UTC"},"redlist":{"items":{"type":"string"},"type":"array","maxItems":200,"title":"Redlist","description":"Strings that must not appear in subject/body unless they're in the recipient address"},"llm_check":{"type":"boolean","title":"Llm Check","description":"Whether to run the semantic axis (Gemini 2.5 Flash)","default":true}},"type":"object","title":"VerifyOptions"},"VerifyRequest":{"properties":{"subject":{"type":"string","maxLength":500,"minLength":1,"title":"Subject"},"body":{"type":"string","maxLength":10000,"minLength":1,"title":"Body"},"recipient":{"type":"string","maxLength":320,"minLength":3,"title":"Recipient"},"campaign":{"type":"string","maxLength":120,"title":"Campaign","default":""},"options":{"$ref":"#/components/schemas/VerifyOptions"}},"type":"object","required":["subject","body","recipient"],"title":"VerifyRequest"}}}}