{"components":{"securitySchemes":{"apiKeyAuth":{"in":"header","name":"X-API-Key","type":"apiKey"},"bearerAuth":{"scheme":"bearer","type":"http"}}},"info":{"description":"Programmatic access to workspaces, knowledge, ingestion, AI document data extraction and grounded chat.","title":"OKF Wiki Builder API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/health":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Liveness + capability probe","tags":["Meta"]}},"/openapi.json":{"get":{"responses":{"200":{"description":"OK"}},"summary":"This OpenAPI document","tags":["Meta"]}},"/workspaces":{"get":{"parameters":[{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List workspaces","tags":["Workspaces"]},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"},"language":{"type":"string"},"name":{"type":"string"}},"required":["name"],"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Create a workspace","tags":["Workspaces"]}},"/workspaces/{slug}":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Get a workspace + stats","tags":["Workspaces"]}},"/workspaces/{slug}/chat/ask":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"messages":{"items":{"properties":{"content":{"type":"string"},"role":{"type":"string"}},"type":"object"},"type":"array"},"question":{"type":"string"},"scope":{"enum":["auto","registry","sources"],"type":"string"}},"required":["question"],"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Ask one grounded question; nothing is stored","tags":["Chat"]}},"/workspaces/{slug}/chat/conversations":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List conversations","tags":["Chat"]},"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"question":{"type":"string"},"scope":{"enum":["auto","registry","sources"],"type":"string"},"title":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Start a conversation (a 'question' is answered in the same call)","tags":["Chat"]}},"/workspaces/{slug}/chat/conversations/{conv_id}":{"delete":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"conv_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a conversation","tags":["Chat"]},"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"conv_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Get a conversation with its messages","tags":["Chat"]}},"/workspaces/{slug}/chat/conversations/{conv_id}/messages":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"conv_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"question":{"type":"string"},"scope":{"enum":["auto","registry","sources"],"type":"string"}},"required":["question"],"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Ask inside a conversation (history is carried)","tags":["Chat"]}},"/workspaces/{slug}/entities":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"string"}},{"in":"query","name":"folder","schema":{"type":"string"}},{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List entities","tags":["Knowledge"]}},"/workspaces/{slug}/entities/{entity_id}":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"entity_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Get one entity with facts + relationships","tags":["Knowledge"]}},"/workspaces/{slug}/export.html":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"download","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK"}},"summary":"The workspace as one self-contained printable HTML file (text/html)","tags":["Workspaces"]}},"/workspaces/{slug}/extractions":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List extraction definitions","tags":["Extraction"]},"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{"type":"string"},"instructions":{"type":"string"},"samples":{"items":{"type":"object"},"type":"array"},"schema":{"type":"object"},"title":{"type":"string"}},"required":["title"],"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Create an extraction definition","tags":["Extraction"]}},"/workspaces/{slug}/extractions/{def_id}":{"delete":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"def_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Delete a definition","tags":["Extraction"]},"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"def_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Get a definition","tags":["Extraction"]},"put":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"def_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Update a definition (bumps version)","tags":["Extraction"]}},"/workspaces/{slug}/extractions/{def_id}/runs":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"def_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List runs for a definition","tags":["Extraction"]},"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"def_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"wait","schema":{"type":"boolean"}},{"in":"query","name":"timeout","schema":{"type":"number"}},{"in":"query","name":"values_only","schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"documents":{"items":{"type":"object"},"type":"array"},"text":{"type":"string"},"wait":{"type":"boolean"}},"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Run extraction over documents (?wait=true to block for results)","tags":["Extraction"]}},"/workspaces/{slug}/graph":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Knowledge graph (nodes + edges)","tags":["Knowledge"]}},"/workspaces/{slug}/ingest":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"folder":{"type":"string"},"force":{"type":"boolean"},"name":{"type":"string"},"text":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"description":"OK"}},"summary":"Add sources (multipart files, or JSON {text}|{folder}) and build","tags":["Ingestion"]}},"/workspaces/{slug}/job":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Ingestion job status","tags":["Ingestion"]}},"/workspaces/{slug}/predicates":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Relationship-type vocabulary","tags":["Knowledge"]}},"/workspaces/{slug}/rebuild":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Re-render bundle from registry","tags":["Ingestion"]}},"/workspaces/{slug}/relationships":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"predicate","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List relationships","tags":["Knowledge"]}},"/workspaces/{slug}/runs":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List all runs","tags":["Extraction"]}},"/workspaces/{slug}/runs/{run_id}":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"run_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"values_only","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK"}},"summary":"Get a run's results + evidence (?values_only=1)","tags":["Extraction"]}},"/workspaces/{slug}/runs/{run_id}/rerun":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"run_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Re-run with the same documents","tags":["Extraction"]}},"/workspaces/{slug}/search":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"q","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"Full-text search","tags":["Knowledge"]}},"/workspaces/{slug}/sources":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}},"summary":"List ingested sources","tags":["Knowledge"]}},"/workspaces/{slug}/sources/{rel_path}":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"rel_path","required":true,"schema":{"type":"string"}},{"in":"query","name":"include_content","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK"}},"summary":"Get one source (add ?include_content=1)","tags":["Knowledge"]}},"/workspaces/{slug}/stats":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Workspace stats","tags":["Workspaces"]}},"/workspaces/{slug}/timeline":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Timeline items","tags":["Knowledge"]}}},"security":[],"servers":[{"url":"/api/v1"}],"tags":[{"name":"Meta"},{"name":"Workspaces"},{"name":"Knowledge"},{"name":"Ingestion"},{"name":"Extraction"},{"name":"Chat"}]}
