{"openapi":"3.1.0","info":{"title":"OPERANDI API","description":"Identify a real-world object and pull a robot-executable operation package (Manifest + ROP) — metered, authenticated. Send your key as `Authorization: Bearer <key>` or `X-API-Key`.","version":"0.1.0"},"paths":{"/healthz":{"get":{"tags":["health"],"summary":"Healthz","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Healthz Healthz Get"}}}}}}},"/readyz":{"get":{"tags":["health"],"summary":"Readyz","operationId":"readyz_readyz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Readyz Readyz Get"}}}}}}},"/v1/objects":{"get":{"tags":["catalog"],"summary":"List Objects","operationId":"list_objects_v1_objects_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"search make/model/slug","title":"Q"},"description":"search make/model/slug"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/Page_ObjectOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/objects/{slug}":{"get":{"tags":["catalog"],"summary":"Get Object","operationId":"get_object_v1_objects__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/ObjectDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/catalog/stats":{"get":{"tags":["catalog"],"summary":"Catalog Stats","operationId":"catalog_stats_v1_catalog_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/CatalogStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/manifests/{manifest_id}":{"get":{"tags":["manifests"],"summary":"Get Manifest","description":"Delivers the operation Manifest — the full procedural knowledge — so the freemium wall +\ndownload meter apply here as on /v1/operate (else a free robot could pull every manifest uncapped).","operationId":"get_manifest_v1_manifests__manifest_id__get","parameters":[{"name":"manifest_id","in":"path","required":true,"schema":{"type":"string","title":"Manifest Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/ManifestOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/rops/{ref}":{"get":{"tags":["rops"],"summary":"Get Rop","description":"`ref` may be a ROP id or an object slug (latest ROP for that object).\n\nDelivers the executable ROP — the billable package — so the freemium wall + download meter\napply here exactly as on /v1/operate (else a free robot could pull the tree uncapped).","operationId":"get_rop_v1_rops__ref__get","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string","title":"Ref"}},{"name":"robot_profile","in":"query","required":false,"schema":{"type":"string","default":"generic","title":"Robot Profile"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/RopOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identify":{"post":{"tags":["identify"],"summary":"Identify","operationId":"identify_v1_identify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyReq"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operate/{ref}":{"get":{"tags":["identify"],"summary":"Operate","description":"`ref` is an object slug. Returns the full robot-ready package in one call. Pass\n?procedure=defrost to operate a specific task; default is the appliance's primary one\n(the procedures it supports are listed in the package's manifest).","operationId":"operate_v1_operate__ref__get","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string","title":"Ref"}},{"name":"robot_profile","in":"query","required":false,"schema":{"type":"string","default":"generic","title":"Robot Profile"}},{"name":"procedure","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Procedure"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/OperatePackage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/orgs":{"post":{"tags":["admin"],"summary":"Provision Org","operationId":"provision_org_v1_admin_orgs_post","parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgProvisioned"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/signup":{"post":{"tags":["auth"],"summary":"Signup","operationId":"signup_v1_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupReq"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthToken"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_v1_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/keys":{"post":{"tags":["auth"],"summary":"Create Key","operationId":"create_key_v1_auth_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateReq"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/keys/{key_id}":{"delete":{"tags":["auth"],"summary":"Revoke Key","operationId":"revoke_key_v1_auth_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Message"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines":{"get":{"tags":["control"],"summary":"Engines Status","operationId":"engines_status_v1_admin_engines_get","parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Engines Status V1 Admin Engines Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/{engine}/{action}":{"post":{"tags":["control"],"summary":"Engine Action","operationId":"engine_action_v1_admin_engines__engine___action__post","parameters":[{"name":"engine","in":"path","required":true,"schema":{"type":"string","title":"Engine"}},{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Engine Action V1 Admin Engines  Engine   Action  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/qa":{"get":{"tags":["control"],"summary":"Qa Status","description":"The latest QA report summary + the fixes awaiting your approval.","operationId":"qa_status_v1_admin_engines_qa_get","parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Qa Status V1 Admin Engines Qa Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/budget":{"get":{"tags":["control"],"summary":"Budget Status","description":"Per-engine daily allowance (used / cap) — powers the owner-portal enrichment control.","operationId":"budget_status_v1_admin_engines_budget_get","parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Budget Status V1 Admin Engines Budget Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/budget/{engine}/cap":{"post":{"tags":["control"],"summary":"Budget Set Cap","description":"Set an engine's daily cap from the portal (e.g. scale enrichment up/down).","operationId":"budget_set_cap_v1_admin_engines_budget__engine__cap_post","parameters":[{"name":"engine","in":"path","required":true,"schema":{"type":"string","title":"Engine"}},{"name":"value","in":"query","required":true,"schema":{"type":"integer","title":"Value"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Budget Set Cap V1 Admin Engines Budget  Engine  Cap Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/qa/{fix_id}/apply":{"post":{"tags":["control"],"summary":"Qa Apply","description":"Apply ONE approved fix (your one-tap approval). Delegates to qa_audit.py --apply.","operationId":"qa_apply_v1_admin_engines_qa__fix_id__apply_post","parameters":[{"name":"fix_id","in":"path","required":true,"schema":{"type":"string","title":"Fix Id"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Qa Apply V1 Admin Engines Qa  Fix Id  Apply Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/review":{"get":{"tags":["control"],"summary":"Review List","description":"Packages awaiting your safety sign-off — counts + links to EVERY source file so you can\nverify nothing is missing (manual PDF, real photos, the re-expressed manifest / ROP / trust).","operationId":"review_list_v1_admin_engines_review_get","parameters":[{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Review List V1 Admin Engines Review Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/review/{model}/detail":{"get":{"tags":["control"],"summary":"Review Detail","description":"The FULL re-expressed package for one model — every control, every procedure (with its\nordered steps + verify signal), all safety, and specs. So you can read exactly what the robot\ngets and check it against the manual, line by line.","operationId":"review_detail_v1_admin_engines_review__model__detail_get","parameters":[{"name":"model","in":"path","required":true,"schema":{"type":"string","title":"Model"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Review Detail V1 Admin Engines Review  Model  Detail Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/file":{"get":{"tags":["control"],"summary":"Get File","description":"Serve a whitelisted PRIVATE file (vault manual / map PNG) INLINE for the viewer.\nAdmin-gated (this router's dependency) + path-guarded to vault/ and data/maps/ only.","operationId":"get_file_v1_admin_engines_file_get","parameters":[{"name":"ref","in":"query","required":true,"schema":{"type":"string","title":"Ref"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/engines/review/{model}/signoff":{"post":{"tags":["control"],"summary":"Review Signoff","description":"Record a human safety sign-off (part 1), then refresh shippable so it counts as VERIFIED.","operationId":"review_signoff_v1_admin_engines_review__model__signoff_post","parameters":[{"name":"model","in":"path","required":true,"schema":{"type":"string","title":"Model"}},{"name":"reviewer","in":"query","required":false,"schema":{"type":"string","default":"Brian Kenny","title":"Reviewer"}},{"name":"X-Admin-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"name":"X-Operandi-Gate","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operandi-Gate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Review Signoff V1 Admin Engines Review  Model  Signoff Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys":{"get":{"tags":["keys"],"summary":"List Keys","operationId":"list_keys_v1_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":"array","items":{"$ref":"#/components/schemas/ApiKeyOut"},"title":"Response List Keys V1 Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["keys"],"summary":"Create Key","operationId":"create_key_v1_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateReq"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys/{key_id}":{"delete":{"tags":["keys"],"summary":"Revoke Key","operationId":"revoke_key_v1_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/Message"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/usage":{"get":{"tags":["usage"],"summary":"Get Usage","operationId":"get_usage_v1_usage_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/UsageSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents":{"post":{"tags":["incidents"],"summary":"Report","description":"Record a physical-safety event (safe-abort, unexpected force, failed verify…).","operationId":"report_v1_incidents_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["incidents"],"summary":"List Incidents","operationId":"list_incidents_v1_incidents_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":"array","items":{"$ref":"#/components/schemas/IncidentOut"},"title":"Response List Incidents V1 Incidents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/capabilities":{"get":{"tags":["capabilities"],"summary":"List Capabilities","description":"What can robots do with the corpus? capability -> how many appliances offer it.","operationId":"list_capabilities_v1_capabilities_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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 Capabilities V1 Capabilities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/capabilities/{capability}":{"get":{"tags":["capabilities"],"summary":"Appliances With Capability","description":"Which appliances can <capability> (e.g. 'heat', 'wash', 'brew')?","operationId":"appliances_with_capability_v1_capabilities__capability__get","parameters":[{"name":"capability","in":"path","required":true,"schema":{"type":"string","title":"Capability"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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 Appliances With Capability V1 Capabilities  Capability  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operations":{"post":{"tags":["operations"],"summary":"Report Operation","description":"Report a real operation outcome (the data flywheel — feeds field success rates).","operationId":"report_operation_v1_operations_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operations/stats":{"get":{"tags":["operations"],"summary":"Operation Stats","description":"Field performance per appliance for this org: success rate + field_validated flag.","operationId":"operation_stats_v1_operations_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/FieldStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bundle":{"get":{"tags":["bundle"],"summary":"Download Bundle","description":"Download every operable appliance's full package in one versioned blob — operate\noffline, no per-action calls. Pass ?category=microwave_oven to scope it; re-request\nand compare `version` to know when to update.\n\nThis ships the entire operable corpus, so the freemium wall applies BEFORE the build\n(otherwise a free robot pulls every package at once for a single download).","operationId":"download_bundle_v1_bundle_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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 Download Bundle V1 Bundle Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/models":{"get":{"tags":["registry"],"summary":"List Models","description":"Search the model registry. Filter by category, brand, model-number substring `q`, or\n`has_specs=true`. Each result carries its enriched specs (when present).","operationId":"list_models_v1_models_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"brand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"has_specs","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Has Specs"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":0,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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 Models V1 Models Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/models/stats":{"get":{"tags":["registry"],"summary":"Registry Stats","description":"Registry size + enrichment coverage — the asset's scale at a glance.","operationId":"registry_stats_v1_models_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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 Registry Stats V1 Models Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/models/{brand}/{model}":{"get":{"tags":["registry"],"summary":"Get Model","description":"One model with its full specs + reference-image count.","operationId":"get_model_v1_models__brand___model__get","parameters":[{"name":"brand","in":"path","required":true,"schema":{"type":"string","title":"Brand"}},{"name":"model","in":"path","required":true,"schema":{"type":"string","title":"Model"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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 Model V1 Models  Brand   Model  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/vision/resolve":{"post":{"tags":["vision"],"summary":"Resolve","description":"Resolve on-device vision + OCR → exact appliance model → its operation package.","operationId":"resolve_v1_vision_resolve_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisionResolveReq"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisionResolveResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit":{"get":{"tags":["audit"],"summary":"Audit Summary","description":"Corpus trust posture at a glance — what a buyer/auditor inspects first.","operationId":"audit_summary_v1_audit_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/AuditSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit/{slug}":{"get":{"tags":["audit"],"summary":"Audit Package","description":"The full, inspectable verification record for one package.","operationId":"audit_package_v1_audit__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/AuditReport"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/demand":{"get":{"tags":["demand"],"summary":"Demand","description":"The most-requested appliances we don't yet hold — the demand-ranked extraction backlog.","operationId":"demand_v1_demand_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":0,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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":{"$ref":"#/components/schemas/DemandResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/config":{"get":{"tags":["billing"],"summary":"Billing Config","description":"Public: is billing live, the publishable key, and which tiers are purchasable.","operationId":"billing_config_v1_billing_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Billing Config V1 Billing Config Get"}}}}}}},"/v1/billing/checkout":{"post":{"tags":["billing"],"summary":"Create Checkout","description":"Start a subscription — returns the Stripe Checkout URL to redirect the customer to.","operationId":"create_checkout_v1_billing_checkout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutReq"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Checkout V1 Billing Checkout Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/portal":{"get":{"tags":["billing"],"summary":"Customer Portal","description":"Returns a Stripe customer-portal URL (manage / cancel the subscription).","operationId":"customer_portal_v1_billing_portal_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"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 Customer Portal V1 Billing Portal Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/webhook":{"post":{"tags":["billing"],"summary":"Stripe Webhook","description":"Stripe → us. Signature-verified; drives org.tier on subscription lifecycle events.","operationId":"stripe_webhook_v1_billing_webhook_post","parameters":[{"name":"stripe-signature","in":"header","required":false,"schema":{"type":"string","default":"","title":"Stripe-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stripe Webhook V1 Billing Webhook Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/trial":{"post":{"tags":["trial"],"summary":"Instant Trial","description":"Mint a working API key instantly — no signup. 2 operation packages included.","operationId":"instant_trial_v1_trial_post","responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Instant Trial V1 Trial Post"}}}}}}},"/":{"get":{"tags":["meta"],"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Root  Get"}}}}}}}},"components":{"schemas":{"ApiKeyCreateReq":{"properties":{"name":{"type":"string","maxLength":200,"title":"Name","default":"default"}},"type":"object","title":"ApiKeyCreateReq"},"ApiKeyCreated":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"key_prefix":{"type":"string","title":"Key Prefix"},"active":{"type":"boolean","title":"Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"key":{"type":"string","title":"Key"}},"type":"object","required":["id","name","key_prefix","active","created_at","key"],"title":"ApiKeyCreated"},"ApiKeyOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"key_prefix":{"type":"string","title":"Key Prefix"},"active":{"type":"boolean","title":"Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"}},"type":"object","required":["id","name","key_prefix","active","created_at"],"title":"ApiKeyOut"},"ApplianceFieldStat":{"properties":{"object_slug":{"type":"string","title":"Object Slug"},"operations":{"type":"integer","title":"Operations"},"successes":{"type":"integer","title":"Successes"},"success_rate":{"type":"number","title":"Success Rate"},"field_validated":{"type":"boolean","title":"Field Validated"}},"type":"object","required":["object_slug","operations","successes","success_rate","field_validated"],"title":"ApplianceFieldStat"},"AuditReport":{"properties":{"package":{"type":"string","title":"Package"},"trust_tier":{"type":"string","title":"Trust Tier"},"trustworthy_to_operate":{"type":"boolean","title":"Trustworthy To Operate"},"cleared_for_sale":{"type":"boolean","title":"Cleared For Sale"},"rationale":{"type":"string","title":"Rationale"},"content_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Sha256"},"generated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generated At"},"gates":{"items":{"$ref":"#/components/schemas/TrustGate"},"type":"array","title":"Gates","default":[]},"operate_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operate Url"}},"type":"object","required":["package","trust_tier","trustworthy_to_operate","cleared_for_sale","rationale"],"title":"AuditReport"},"AuditSummary":{"properties":{"total":{"type":"integer","title":"Total"},"trustworthy_to_operate":{"type":"integer","title":"Trustworthy To Operate"},"cleared_for_sale":{"type":"integer","title":"Cleared For Sale"},"tiers":{"additionalProperties":{"type":"integer"},"type":"object","title":"Tiers"}},"type":"object","required":["total","trustworthy_to_operate","cleared_for_sale","tiers"],"title":"AuditSummary"},"AuthToken":{"properties":{"token":{"type":"string","title":"Token"},"org":{"$ref":"#/components/schemas/OrgOut"}},"type":"object","required":["token","org"],"title":"AuthToken"},"CatalogStats":{"properties":{"objects":{"type":"integer","title":"Objects"},"manifests":{"type":"integer","title":"Manifests"},"rops":{"type":"integer","title":"Rops"},"validated_operable":{"type":"integer","title":"Validated Operable","default":0},"by_category":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Category"},"readiness_grades":{"additionalProperties":{"type":"integer"},"type":"object","title":"Readiness Grades","default":{}},"field_validated":{"type":"integer","title":"Field Validated","default":0}},"type":"object","required":["objects","manifests","rops","by_category"],"title":"CatalogStats"},"CheckoutReq":{"properties":{"tier":{"type":"string","title":"Tier","default":"pro"}},"type":"object","title":"CheckoutReq"},"DemandItem":{"properties":{"model":{"type":"string","title":"Model"},"requests":{"type":"integer","title":"Requests"}},"type":"object","required":["model","requests"],"title":"DemandItem"},"DemandResponse":{"properties":{"count":{"type":"integer","title":"Count"},"models":{"items":{"$ref":"#/components/schemas/DemandItem"},"type":"array","title":"Models"}},"type":"object","required":["count","models"],"title":"DemandResponse"},"FieldStats":{"properties":{"total_operations":{"type":"integer","title":"Total Operations"},"overall_success_rate":{"type":"number","title":"Overall Success Rate"},"field_validated_count":{"type":"integer","title":"Field Validated Count"},"by_appliance":{"items":{"$ref":"#/components/schemas/ApplianceFieldStat"},"type":"array","title":"By Appliance"}},"type":"object","required":["total_operations","overall_success_rate","field_validated_count","by_appliance"],"title":"FieldStats"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdentifyMatch":{"properties":{"slug":{"type":"string","title":"Slug"},"category":{"type":"string","title":"Category"},"make":{"type":"string","title":"Make"},"model":{"type":"string","title":"Model"},"confidence":{"type":"number","title":"Confidence"},"has_instructions":{"type":"boolean","title":"Has Instructions"},"manifest_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manifest Id"},"rop_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rop Id"},"validation_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Tier"},"qa_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Qa Status"},"readiness_grade":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readiness Grade"},"sellable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sellable"},"ready_to_sell":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ready To Sell"}},"type":"object","required":["slug","category","make","model","confidence","has_instructions"],"title":"IdentifyMatch"},"IdentifyReq":{"properties":{"query":{"type":"string","title":"Query","default":""},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"brand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand"},"limit":{"type":"integer","title":"Limit","default":5},"panel_labels":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Panel Labels"}},"type":"object","title":"IdentifyReq"},"IdentifyResult":{"properties":{"query":{"type":"string","title":"Query"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"matches":{"items":{"$ref":"#/components/schemas/IdentifyMatch"},"type":"array","title":"Matches"},"best":{"anyOf":[{"$ref":"#/components/schemas/IdentifyMatch"},{"type":"null"}]},"disambiguation":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Disambiguation"}},"type":"object","required":["query","category","matches","best"],"title":"IdentifyResult"},"IncidentIn":{"properties":{"object_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Slug"},"robot_profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Robot Profile"},"severity":{"type":"string","enum":["info","warning","critical"],"title":"Severity","default":"warning"},"summary":{"type":"string","maxLength":300,"minLength":1,"title":"Summary"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"validation_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Tier"}},"type":"object","required":["summary"],"title":"IncidentIn"},"IncidentOut":{"properties":{"object_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Slug"},"robot_profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Robot Profile"},"severity":{"type":"string","enum":["info","warning","critical"],"title":"Severity","default":"warning"},"summary":{"type":"string","maxLength":300,"minLength":1,"title":"Summary"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"validation_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Tier"},"id":{"type":"integer","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["summary","id","created_at"],"title":"IncidentOut"},"LoginReq":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginReq"},"ManifestOut":{"properties":{"manifest_id":{"type":"string","title":"Manifest Id"},"schema_version":{"type":"string","title":"Schema Version"},"validation_tier":{"type":"string","title":"Validation Tier"},"reviewed":{"type":"boolean","title":"Reviewed"},"confidence":{"type":"number","title":"Confidence"},"document":{"additionalProperties":true,"type":"object","title":"Document"}},"type":"object","required":["manifest_id","schema_version","validation_tier","reviewed","confidence","document"],"title":"ManifestOut"},"MeOut":{"properties":{"email":{"type":"string","title":"Email"},"org":{"$ref":"#/components/schemas/OrgOut"},"keys":{"items":{"$ref":"#/components/schemas/ApiKeyOut"},"type":"array","title":"Keys"},"usage":{"$ref":"#/components/schemas/UsageSummary"}},"type":"object","required":["email","org","keys","usage"],"title":"MeOut"},"Message":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"Message"},"ObjectDetail":{"properties":{"slug":{"type":"string","title":"Slug"},"category":{"type":"string","title":"Category"},"make":{"type":"string","title":"Make"},"model":{"type":"string","title":"Model"},"markets":{"items":{"type":"string"},"type":"array","title":"Markets","default":[]},"model_numbers":{"items":{"type":"string"},"type":"array","title":"Model Numbers","default":[]},"has_manifest":{"type":"boolean","title":"Has Manifest","default":false},"has_rop":{"type":"boolean","title":"Has Rop","default":false},"identifying_features":{"items":{"type":"string"},"type":"array","title":"Identifying Features","default":[]},"manifest_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manifest Id"},"rop_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rop Id"}},"type":"object","required":["slug","category","make","model"],"title":"ObjectDetail"},"ObjectOut":{"properties":{"slug":{"type":"string","title":"Slug"},"category":{"type":"string","title":"Category"},"make":{"type":"string","title":"Make"},"model":{"type":"string","title":"Model"},"markets":{"items":{"type":"string"},"type":"array","title":"Markets","default":[]},"model_numbers":{"items":{"type":"string"},"type":"array","title":"Model Numbers","default":[]},"has_manifest":{"type":"boolean","title":"Has Manifest","default":false},"has_rop":{"type":"boolean","title":"Has Rop","default":false}},"type":"object","required":["slug","category","make","model"],"title":"ObjectOut"},"OperatePackage":{"properties":{"object":{"$ref":"#/components/schemas/ObjectDetail"},"instructions_available":{"type":"boolean","title":"Instructions Available"},"safety":{"additionalProperties":true,"type":"object","title":"Safety"},"manifest":{"anyOf":[{"$ref":"#/components/schemas/ManifestOut"},{"type":"null"}]},"rop":{"anyOf":[{"$ref":"#/components/schemas/RopOut"},{"type":"null"}]},"robot_profile":{"type":"string","title":"Robot Profile","default":"generic"}},"type":"object","required":["object","instructions_available","safety","manifest","rop"],"title":"OperatePackage","description":"Everything a unit needs to operate the appliance, in one response."},"OperationIn":{"properties":{"object_slug":{"type":"string","maxLength":220,"minLength":1,"title":"Object Slug"},"rop_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rop Id"},"outcome":{"type":"string","enum":["completed","aborted","failed"],"title":"Outcome","default":"completed"},"success":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Success"},"steps":{"type":"integer","minimum":0.0,"title":"Steps","default":0},"robot_profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Robot Profile"},"validation_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Tier"},"note":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Note"}},"type":"object","required":["object_slug"],"title":"OperationIn"},"OperationOut":{"properties":{"id":{"type":"integer","title":"Id"},"object_slug":{"type":"string","title":"Object Slug"},"outcome":{"type":"string","title":"Outcome"},"success":{"type":"boolean","title":"Success"},"steps":{"type":"integer","title":"Steps"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","object_slug","outcome","success","steps","created_at"],"title":"OperationOut"},"OrgCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"tier":{"type":"string","enum":["free","pro","enterprise"],"title":"Tier","default":"free"}},"type":"object","required":["name"],"title":"OrgCreate"},"OrgOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"tier":{"type":"string","title":"Tier"}},"type":"object","required":["id","name","tier"],"title":"OrgOut"},"OrgProvisioned":{"properties":{"org":{"$ref":"#/components/schemas/OrgOut"},"api_key":{"$ref":"#/components/schemas/ApiKeyCreated"}},"type":"object","required":["org","api_key"],"title":"OrgProvisioned"},"Page_ObjectOut_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ObjectOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","limit","pages"],"title":"Page[ObjectOut]"},"RopOut":{"properties":{"rop_id":{"type":"string","title":"Rop Id"},"object_ref":{"type":"string","title":"Object Ref"},"schema_version":{"type":"string","title":"Schema Version"},"validation_tier":{"type":"string","title":"Validation Tier"},"robot_profile":{"type":"string","title":"Robot Profile","default":"generic"},"document":{"additionalProperties":true,"type":"object","title":"Document"}},"type":"object","required":["rop_id","object_ref","schema_version","validation_tier","document"],"title":"RopOut"},"SignupReq":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"SignupReq"},"SignupResult":{"properties":{"token":{"type":"string","title":"Token"},"org":{"$ref":"#/components/schemas/OrgOut"},"api_key":{"$ref":"#/components/schemas/ApiKeyCreated"}},"type":"object","required":["token","org","api_key"],"title":"SignupResult"},"TrustGate":{"properties":{"gate":{"type":"string","title":"Gate"},"status":{"type":"string","title":"Status"},"method":{"type":"string","title":"Method"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence","default":{}}},"type":"object","required":["gate","status","method"],"title":"TrustGate"},"UsageSummary":{"properties":{"org_id":{"type":"string","title":"Org Id"},"tier":{"type":"string","title":"Tier"},"used_today":{"type":"integer","title":"Used Today"},"daily_quota":{"type":"integer","title":"Daily Quota"},"remaining_today":{"type":"integer","title":"Remaining Today"},"rate_limit_per_minute":{"type":"integer","title":"Rate Limit Per Minute"},"total_all_time":{"type":"integer","title":"Total All Time"},"by_endpoint":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Endpoint"},"downloads_this_month":{"type":"integer","title":"Downloads This Month","default":0},"downloads_included":{"type":"integer","title":"Downloads Included","default":0},"downloads_remaining":{"type":"integer","title":"Downloads Remaining","default":0},"over_allowance":{"type":"boolean","title":"Over Allowance","default":false}},"type":"object","required":["org_id","tier","used_today","daily_quota","remaining_today","rate_limit_per_minute","total_all_time","by_endpoint"],"title":"UsageSummary"},"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"},"VisionCandidate":{"properties":{"brand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"model_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Number"}},"type":"object","title":"VisionCandidate"},"VisionIdentified":{"properties":{"brand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"model_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Number"},"confidence":{"type":"number","title":"Confidence"}},"type":"object","required":["confidence"],"title":"VisionIdentified"},"VisionPackage":{"properties":{"available":{"type":"boolean","title":"Available"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"sellable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sellable"},"ready_to_sell":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ready To Sell"},"validation_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Tier"},"operate_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operate Url"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["available"],"title":"VisionPackage"},"VisionResolveReq":{"properties":{"brand":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Brand"},"category":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Category"},"nameplate_text":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Nameplate Text"},"model_hint":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Model Hint"},"limit":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Limit","default":6}},"type":"object","title":"VisionResolveReq"},"VisionResolveResult":{"properties":{"identified":{"anyOf":[{"$ref":"#/components/schemas/VisionIdentified"},{"type":"null"}]},"candidates":{"items":{"$ref":"#/components/schemas/VisionCandidate"},"type":"array","title":"Candidates","default":[]},"package":{"$ref":"#/components/schemas/VisionPackage"}},"type":"object","required":["package"],"title":"VisionResolveResult"}}}}