{"openapi":"3.1.0","info":{"title":"idlidu SaaS Commercial Facts API","version":"1.0.0","description":"Focused B2B pricing/packaging history with citations and indices. Agent-native. Auth: Bearer API key. Not CPI; list prices from public marketing pages only."},"servers":[{"url":"https://api.idlidu.com","description":"Production"},{"url":"http://127.0.0.1:8788","description":"Local"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key"}}},"security":[{"bearerAuth":[]}],"paths":{"/v1/health":{"get":{"security":[],"summary":"Liveness","responses":{"200":{"description":"OK"}}}},"/v1/openapi.json":{"get":{"security":[],"summary":"OpenAPI document","responses":{"200":{"description":"OpenAPI JSON"}}}},"/v1/sample/entities":{"get":{"security":[],"summary":"Public sample entity subset","responses":{"200":{"description":"Limited free sample"}}}},"/v1/public/sample/index":{"get":{"security":[],"summary":"Free sample last point for a category index","parameters":[{"name":"index_id","in":"query","required":false,"schema":{"type":"string"},"description":"Known index id only; default dbsi-developer-tools (also dbsi-observability, dbsi-data-infra)"}],"responses":{"200":{"description":"OK"},"404":{"description":"Unknown index"}}}},"/v1/public/tools":{"get":{"security":[],"summary":"Public MCP tool definitions","responses":{"200":{"description":"Tool list"}}}},"/v1/billing/portal":{"get":{"summary":"Customer portal link + plan","responses":{"200":{"description":"Portal"}}}},"/v1/entities":{"get":{"summary":"List/search entities","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"Entity list"},"401":{"description":"Unauthorized"},"429":{"description":"Quota exceeded"}}}},"/v1/entities/{slug}":{"get":{"summary":"Entity metadata","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Entity"},"404":{"description":"Not found"}}}},"/v1/entities/{slug}/pricing/as-of":{"get":{"summary":"Pricing extract as of date","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}},{"name":"date","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Pricing + citation"}}}},"/v1/entities/{slug}/changes":{"get":{"summary":"Change events for entity","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}},{"name":"since","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Changes"},"403":{"description":"History depth"}}}},"/v1/changes":{"get":{"summary":"Change events","parameters":[{"name":"since","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"entity","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Changes"}}}},"/v1/citations/{snapshot_id}":{"get":{"summary":"Citation metadata for a snapshot","parameters":[{"name":"snapshot_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Citation"}}}},"/v1/snapshots/{snapshot_id}/raw":{"get":{"summary":"Archive plan: raw snapshot HTML from R2","parameters":[{"name":"snapshot_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"text/html body"},"403":{"description":"archive_plan_required"}}}},"/v1/admin/ops-summary":{"get":{"summary":"Owner ops counters (admin key)","responses":{"200":{"description":"Ops summary"}}}},"/v1/indices":{"get":{"summary":"List indices","responses":{"200":{"description":"Index definitions"}}}},"/v1/indices/{index_id}":{"get":{"summary":"Index series points","parameters":[{"name":"index_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Series"}}}},"/v1/usage":{"get":{"summary":"Remaining quota","responses":{"200":{"description":"Usage"}}}},"/v1/billing/webhook":{"post":{"security":[],"summary":"Billing webhook (signed)","responses":{"200":{"description":"Accepted"}}}},"/v1/billing/test-checkout":{"post":{"security":[],"summary":"Test-mode checkout (staging only)","responses":{"200":{"description":"Customer + API key"}}}}}}