{"openapi":"3.1.0","info":{"title":"Quoin API","description":"Quoin research HTTP API. Browse this documentation without a key. For API calls, send header **x-api-key** with your minted organization MCP key (`quoin_mcp_…`) from [Quoin](https://quoin.ai) workspace settings.","version":"1.0.0"},"paths":{"/health":{"get":{"tags":["meta"],"summary":"Health","description":"Liveness probe; no authentication required.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"tags":["meta"],"summary":"Root","description":"Human-facing landing (no API key). Matches quoin-mcp public homepage styling.","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/auth":{"get":{"tags":["v1"],"summary":"V1 Auth","description":"Session / scope for the minted key. Body is the Next.js internal session JSON as returned.","operationId":"v1_auth_v1_auth_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/org/{org_uuid}/reports":{"get":{"tags":["v1"],"summary":"V1 Org Reports","description":"List research reports for **org_uuid**. Proxies internal MCP `research/list`; **`items`** are\nreturned unchanged from upstream (same JSON Next returns).","operationId":"v1_org_reports_v1_org__org_uuid__reports_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"org_uuid","in":"path","required":true,"schema":{"type":"string","title":"Org Uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size (max 100)","default":50,"title":"Limit"},"description":"Page size (max 100)"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor from a previous response","title":"Cursor"},"description":"Opaque pagination cursor from a previous response"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by report status","title":"Status"},"description":"Filter by report status"},{"name":"entityType","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to \"business\" or \"project\" entity type","title":"Entitytype"},"description":"Restrict to \"business\" or \"project\" entity type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{business_uuid}/reports":{"get":{"tags":["v1"],"summary":"V1 Business Reports","description":"Research list for **business_uuid**. Proxies internal MCP `research/list`; **`items`** are\nupstream JSON unchanged.","operationId":"v1_business_reports_v1_business__business_uuid__reports_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"business_uuid","in":"path","required":true,"schema":{"type":"string","title":"Business Uuid"}},{"name":"org","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Organization UUID when your key requires an explicit org","title":"Org"},"description":"Organization UUID when your key requires an explicit org"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size (max 100)","default":50,"title":"Limit"},"description":"Page size (max 100)"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor from a previous response","title":"Cursor"},"description":"Opaque pagination cursor from a previous response"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by report status","title":"Status"},"description":"Filter by report status"},{"name":"entityType","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to \"business\" or \"project\" (cannot be project when scoped to a business)","title":"Entitytype"},"description":"Restrict to \"business\" or \"project\" (cannot be project when scoped to a business)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/workspace/{workspace_uuid}/reports":{"get":{"tags":["v1"],"summary":"V1 Workspace Reports","description":"Research list for **workspace_uuid**. Proxies internal MCP `research/list`; **`items`** are\nupstream JSON unchanged.","operationId":"v1_workspace_reports_v1_workspace__workspace_uuid__reports_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"workspace_uuid","in":"path","required":true,"schema":{"type":"string","title":"Workspace Uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size (max 100)","default":50,"title":"Limit"},"description":"Page size (max 100)"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Opaque pagination cursor from a previous response","title":"Cursor"},"description":"Opaque pagination cursor from a previous response"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by report status","title":"Status"},"description":"Filter by report status"},{"name":"entityType","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to \"business\" or \"project\" entity type","title":"Entitytype"},"description":"Restrict to \"business\" or \"project\" entity type"},{"name":"org","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Organization UUID when your key requires an explicit org (same as org-scoped list)","title":"Org"},"description":"Organization UUID when your key requires an explicit org (same as org-scoped list)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/workspace/{workspace_uuid}/businesses":{"get":{"tags":["v1"],"summary":"V1 Workspace Businesses","description":"Workspace businesses index. Returns the Next.js internal JSON body unchanged.","operationId":"v1_workspace_businesses_v1_workspace__workspace_uuid__businesses_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"workspace_uuid","in":"path","required":true,"schema":{"type":"string","title":"Workspace Uuid"}},{"name":"org","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Organization UUID when your key requires an explicit org","title":"Org"},"description":"Organization UUID when your key requires an explicit org"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/report/{report_uuid}":{"get":{"tags":["v1"],"summary":"V1 Report","description":"Full report for **report_uuid**. Returns the Next.js internal `research/get` JSON unchanged\n(includes **reportUuid**, **reportsUuid**, **markdown**, etc.). Optional query **org** when the\nkey requires it.","operationId":"v1_report_v1_report__report_uuid__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"report_uuid","in":"path","required":true,"schema":{"type":"string","title":"Report Uuid"}},{"name":"org","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Organization (or personal workspace) UUID — required when the key scopes to it explicitly; omit when resolved from the key alone","title":"Org"},"description":"Organization (or personal workspace) UUID — required when the key scopes to it explicitly; omit when resolved from the key alone"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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"},"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"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key"}}}}