{"openapi":"3.1.0","info":{"title":"Daystruct API","version":"1.0.0","description":"Read-only access to provenance-aware, historical AI infrastructure data."},"servers":[{"url":"https://api.daystruct.ai"}],"tags":[{"name":"Discovery"},{"name":"Data"},{"name":"Provenance"}],"paths":{"/":{"get":{"tags":["Discovery"],"summary":"API introduction and discovery links","responses":{"200":{"description":"Discovery document"}}}},"/health":{"get":{"tags":["Discovery"],"summary":"Service and database readiness","responses":{"200":{"description":"Healthy service"}}}},"/status":{"get":{"tags":["Discovery"],"summary":"Sanitized public service and dataset status","responses":{"200":{"description":"Public status"}}}},"/manifest":{"get":{"tags":["Discovery"],"summary":"Machine-readable Daystruct capabilities and links","responses":{"200":{"description":"Daystruct manifest"}}}},"/openapi.json":{"get":{"tags":["Discovery"],"summary":"This OpenAPI contract","responses":{"200":{"description":"OpenAPI 3.1 document"}}}},"/api/v1/databanks":{"get":{"summary":"List databanks","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/databanks/{slug}":{"get":{"summary":"Get a databank","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Databank"},"404":{"description":"Not found"}}}},"/api/v1/databanks/{slug}/schema":{"get":{"summary":"Get a databank schema","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Schema"},"404":{"description":"Not found"}}}},"/api/v1/entities":{"get":{"summary":"List and filter entities","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"type","in":"query","schema":{"type":"string"}},{"name":"provider","in":"query","schema":{"type":"string"}},{"name":"capability","in":"query","schema":{"type":"string"}},{"name":"model_type","in":"query","schema":{"type":"string"}},{"name":"min_context_window","in":"query","schema":{"type":"integer"}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/entities/{id}":{"get":{"summary":"Get an entity","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Entity"},"404":{"description":"Not found"}}}},"/api/v1/entities/{id}/history":{"get":{"summary":"List historical observations","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/entities/{id}/facts":{"get":{"summary":"List canonical facts and provenance","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/entities/{id}/aliases":{"get":{"summary":"List identity aliases","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/relationships":{"get":{"summary":"List relationships","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"entity_id","in":"query","schema":{"type":"string"}},{"name":"predicate","in":"query","schema":{"type":"string"}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/changes":{"get":{"summary":"List field-level change events","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"entity_id","in":"query","schema":{"type":"string"}},{"name":"significance","in":"query","schema":{"type":"string"}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/conflicts":{"get":{"summary":"List evidence conflicts","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"entity_id","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string"}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/sources":{"get":{"summary":"List data sources","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/refinery/runs":{"get":{"summary":"List completed and failed refinery runs","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}},{"name":"X-Daystruct-Client-Id","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Declared client identifier recorded in aggregate request telemetry."},{"name":"X-Daystruct-Agent","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Optional declared agent name."},{"name":"X-Daystruct-Use-Case","in":"header","required":false,"schema":{"type":"string","maxLength":300},"description":"Optional declared use case."}],"responses":{"200":{"description":"A bounded JSON envelope with pagination metadata."},"400":{"description":"Invalid query."},"429":{"description":"Rate limit exceeded."}}}}}}